ERC-20
Overview
Max Total Supply
50,000,000,000 HI
Holders
2
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HiCredits
Compiler Version
v0.4.13+commit.fb4cb1a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-02-25 */ pragma solidity ^0.4.11; // Developer : @Mzn_Rahi on Telegram /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner { require(newOwner != address(0)); owner = newOwner; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) constant returns (uint256); function transfer(address to, uint256 value) returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) constant returns (uint256); function transferFrom(address from, address to, uint256 value) returns (bool); function approve(address spender, uint256 value) returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title Hi Credits * @dev the interface of Hi Credits */ contract HiCreditsStandard { uint256 public stakeStartTime; uint256 public stakeMinAge; uint256 public stakeMaxAge; function mint() returns (bool); function coinAge() constant returns (uint256); function annualInterest() constant returns (uint256); event Mint(address indexed _address, uint _reward); } contract HiCredits is ERC20,HiCreditsStandard,Ownable { using SafeMath for uint256; string public name = "Hi Credits"; string public symbol = "HI"; uint public decimals = 18; uint public chainStartTime; //chain start time uint public chainStartBlockNumber; //chain start block number uint public stakeStartTime; //stake start time uint public stakeMinAge = 3 days; // minimum age for coin age: 3D uint public stakeMaxAge = 90 days; // stake age of full weight: 90D uint public maxMintProofOfStake = 10**30; // default 10% annual interest uint public totalSupply; uint public maxTotalSupply; uint public totalInitialSupply; struct transferInStruct{ uint128 amount; uint64 time; } mapping(address => uint256) balances; mapping(address => mapping (address => uint256)) allowed; mapping(address => transferInStruct[]) transferIns; event Burn(address indexed burner, uint256 value); /** * @dev Fix for the ERC20 short address attack. */ modifier onlyPayloadSize(uint size) { require(msg.data.length >= size + 4); _; } modifier canHiMint() { require(totalSupply < maxTotalSupply); _; } function HiCredits() { maxTotalSupply = 5*10**28; // 50 Billion. totalInitialSupply = 5*10**28; // 50 Billion. chainStartTime = now; chainStartBlockNumber = block.number; balances[msg.sender] = totalInitialSupply; totalSupply = totalInitialSupply; } function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) returns (bool) { if(msg.sender == _to) return mint(); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; uint64 _now = uint64(now); transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now)); transferIns[_to].push(transferInStruct(uint128(_value),_now)); return true; } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) returns (bool) { require(_to != address(0)); var _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); if(transferIns[_from].length > 0) delete transferIns[_from]; uint64 _now = uint64(now); transferIns[_from].push(transferInStruct(uint128(balances[_from]),_now)); transferIns[_to].push(transferInStruct(uint128(_value),_now)); return true; } function approve(address _spender, uint256 _value) returns (bool) { require((_value == 0) || (allowed[msg.sender][_spender] == 0)); allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } function mint() canHiMint returns (bool) { if(balances[msg.sender] <= 0) return false; if(transferIns[msg.sender].length <= 0) return false; uint reward = getProofOfStakeReward(msg.sender); if(reward <= 0) return false; totalSupply = totalSupply.add(reward); balances[msg.sender] = balances[msg.sender].add(reward); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now))); Mint(msg.sender, reward); return true; } function getBlockNumber() returns (uint blockNumber) { blockNumber = block.number.sub(chainStartBlockNumber); } function coinAge() constant returns (uint myCoinAge) { myCoinAge = getCoinAge(msg.sender,now); } function annualInterest() constant returns(uint interest) { uint _now = now; interest = maxMintProofOfStake; if((_now.sub(stakeStartTime)).div(1 years) == 0) { interest = (770 * maxMintProofOfStake).div(100); } else if((_now.sub(stakeStartTime)).div(1 years) == 1){ interest = (435 * maxMintProofOfStake).div(100); } } function getProofOfStakeReward(address _address) internal returns (uint) { require( (now >= stakeStartTime) && (stakeStartTime > 0) ); uint _now = now; uint _coinAge = getCoinAge(_address, _now); if(_coinAge <= 0) return 0; uint interest = maxMintProofOfStake; // Due to the high interest rate for the first two years, compounding should be taken into account. // Effective annual interest rate = (1 + (nominal rate / number of compounding periods)) ^ (number of compounding periods) - 1 if((_now.sub(stakeStartTime)).div(1 years) == 0) { // 1st year effective annual interest rate is 100% when we select the stakeMaxAge (90 days) as the compounding period. interest = (770 * maxMintProofOfStake).div(100); } else if((_now.sub(stakeStartTime)).div(1 years) == 1){ // 2nd year effective annual interest rate is 50% interest = (435 * maxMintProofOfStake).div(100); } return (_coinAge * interest).div(365 * (10**decimals)); } function getCoinAge(address _address, uint _now) internal returns (uint _coinAge) { if(transferIns[_address].length <= 0) return 0; for (uint i = 0; i < transferIns[_address].length; i++){ if( _now < uint(transferIns[_address][i].time).add(stakeMinAge) ) continue; uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time)); if( nCoinSeconds > stakeMaxAge ) nCoinSeconds = stakeMaxAge; _coinAge = _coinAge.add(uint(transferIns[_address][i].amount) * nCoinSeconds.div(1 days)); } } function ownerSetStakeStartTime(uint timestamp) onlyOwner { require((stakeStartTime <= 0) && (timestamp >= chainStartTime)); stakeStartTime = timestamp; } function ownerBurnToken(uint _value) onlyOwner { require(_value > 0); balances[msg.sender] = balances[msg.sender].sub(_value); delete transferIns[msg.sender]; transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),uint64(now))); totalSupply = totalSupply.sub(_value); totalInitialSupply = totalInitialSupply.sub(_value); maxTotalSupply = maxTotalSupply.sub(_value*10); Burn(msg.sender, _value); } /* Batch token transfer. Used by contract creator to distribute initial tokens to holders */ function batchTransfer(address[] _recipients, uint[] _values) onlyOwner returns (bool) { require( _recipients.length > 0 && _recipients.length == _values.length); uint total = 0; for(uint i = 0; i < _values.length; i++){ total = total.add(_values[i]); } require(total <= balances[msg.sender]); uint64 _now = uint64(now); for(uint j = 0; j < _recipients.length; j++){ balances[_recipients[j]] = balances[_recipients[j]].add(_values[j]); transferIns[_recipients[j]].push(transferInStruct(uint128(_values[j]),_now)); Transfer(msg.sender, _recipients[j], _values[j]); } balances[msg.sender] = balances[msg.sender].sub(total); if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender]; if(balances[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now)); return true; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"ownerSetStakeStartTime","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"ownerBurnToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalInitialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"annualInterest","outputs":[{"name":"interest","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeMaxAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxMintProofOfStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
60606040526040805190810160405280600a81526020017f486920437265646974730000000000000000000000000000000000000000000081525060059080519060200190620000519291906200019e565b506040805190810160405280600281526020017f4849000000000000000000000000000000000000000000000000000000000000815250600690805190602001906200009f9291906200019e565b5060126007556203f480600b556276a700600c556c0c9f2c9cd04674edea40000000600d553415620000d057600080fd5b5b5b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6ba18f07d736b90be550000000600f819055506ba18f07d736b90be5500000006010819055504260088190555043600981905550601054601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601054600e819055505b6200024d565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001e157805160ff191683800117855562000212565b8280016001018555821562000212579182015b8281111562000211578251825591602001919060010190620001f4565b5b50905062000221919062000225565b5090565b6200024a91905b80821115620002465760008160009055506001016200022c565b5090565b90565b612b7d806200025d6000396000f30060606040523615610152576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610157578063095ea7b3146101e65780631249c58b1461024057806318160ddd1461026d5780631e1b13c01461029657806323b872dd146102bf5780632a9edf6f146103385780632ab4d0521461035b578063313ce5671461038457806342cbb15c146103ad5780635b054f9b146103d657806370a08231146103ff5780637419f1901461044c57806388d695b2146104755780638da5cb5b1461052757806390762a8b1461057c57806395d89b411461059f5780639fd4da401461062e578063a9059cbb14610657578063b2552fc4146106b1578063cbd8877e146106da578063cd474b0414610703578063dd62ed3e1461072c578063e1c3bac614610798578063f2bb5ce1146107c1578063f2fde38b146107ea575b600080fd5b341561016257600080fd5b61016a610823565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ab5780820151818401525b60208101905061018f565b50505050905090810190601f1680156101d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f157600080fd5b610226600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108c1565b604051808215151515815260200191505060405180910390f35b341561024b57600080fd5b610253610a49565b604051808215151515815260200191505060405180910390f35b341561027857600080fd5b610280610dbb565b6040518082815260200191505060405180910390f35b34156102a157600080fd5b6102a9610dc1565b6040518082815260200191505060405180910390f35b34156102ca57600080fd5b61031e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dd3565b604051808215151515815260200191505060405180910390f35b341561034357600080fd5b61035960048080359060200190919050506113c2565b005b341561036657600080fd5b61036e61144a565b6040518082815260200191505060405180910390f35b341561038f57600080fd5b610397611450565b6040518082815260200191505060405180910390f35b34156103b857600080fd5b6103c0611456565b6040518082815260200191505060405180910390f35b34156103e157600080fd5b6103e9611473565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611479565b6040518082815260200191505060405180910390f35b341561045757600080fd5b61045f6114c3565b6040518082815260200191505060405180910390f35b341561048057600080fd5b61050d600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506114c9565b604051808215151515815260200191505060405180910390f35b341561053257600080fd5b61053a611b6e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058757600080fd5b61059d6004808035906020019091905050611b94565b005b34156105aa57600080fd5b6105b2611ecb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f35780820151818401525b6020810190506105d7565b50505050905090810190601f1680156106205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561063957600080fd5b610641611f69565b6040518082815260200191505060405180910390f35b341561066257600080fd5b610697600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611f6f565b604051808215151515815260200191505060405180910390f35b34156106bc57600080fd5b6106c461244f565b6040518082815260200191505060405180910390f35b34156106e557600080fd5b6106ed612504565b6040518082815260200191505060405180910390f35b341561070e57600080fd5b61071661250a565b6040518082815260200191505060405180910390f35b341561073757600080fd5b610782600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612510565b6040518082815260200191505060405180910390f35b34156107a357600080fd5b6107ab612598565b6040518082815260200191505060405180910390f35b34156107cc57600080fd5b6107d461259e565b6040518082815260200191505060405180910390f35b34156107f557600080fd5b610821600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506125a4565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108b95780601f1061088e576101008083540402835291602001916108b9565b820191906000526020600020905b81548152906001019060200180831161089c57829003601f168201915b505050505081565b60008082148061094d57506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561095857600080fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600080600f54600e54101515610a5e57600080fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610ab05760009150610db6565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111515610b055760009150610db6565b610b0e33612682565b9050600081111515610b235760009150610db6565b610b3881600e5461279c90919063ffffffff16565b600e81905550610b9081601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c1e9190612aa6565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610c6f9190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050503373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a2600191505b5b5090565b600e5481565b6000610dcd33426127bb565b90505b90565b6000806000606060048101600036905010151515610df057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610e2c57600080fd5b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250610efd85601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f9285601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fe88584612a7090919063ffffffff16565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561116457601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111639190612aa6565b5b429150601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816111b89190612ac8565b916000526020600020900160005b6040805190810160405280601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816112fd9190612ac8565b916000526020600020900160005b6040805190810160405280896fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600193505b5b5050509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561141e57600080fd5b6000600a541115801561143357506008548110155b151561143e57600080fd5b80600a819055505b5b50565b600f5481565b60075481565b600061146d60095443612a7090919063ffffffff16565b90505b90565b60085481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600a5481565b6000806000806000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152d57600080fd5b6000875111801561153f575085518751145b151561154a57600080fd5b60009350600092505b855183101561159657611586868481518110151561156d57fe5b906020019060200201518561279c90919063ffffffff16565b93505b8280600101935050611553565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156115e457600080fd5b429150600090505b86518110156118a457611675868281518110151561160657fe5b90602001906020020151601160008a8581518110151561162257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b60116000898481518110151561168757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506013600088838151811015156116e157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816117379190612ac8565b916000526020600020900160005b60408051908101604052808a8681518110151561175e57fe5b906020019060200201516fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050868181518110151561181157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef888481518110151561187757fe5b906020019060200201516040518082815260200191505060405180910390a35b80806001019150506115ec565b6118f684601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156119d057601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006119cf9190612aa6565b5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611b5e57601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611a699190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505b600194505b5b5050505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf057600080fd5b600081111515611bff57600080fd5b611c5181601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611cdf9190612aa6565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611d309190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050611e3981600e54612a7090919063ffffffff16565b600e81905550611e5481601054612a7090919063ffffffff16565b601081905550611e72600a8202600f54612a7090919063ffffffff16565b600f819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25b5b50565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f615780601f10611f3657610100808354040283529160200191611f61565b820191906000526020600020905b815481529060010190602001808311611f4457829003601f168201915b505050505081565b60105481565b600080604060048101600036905010151515611f8a57600080fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611fcd57611fc6610a49565b9250612446565b61201f84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b484601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156121f357601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006121f29190612aa6565b5b429150601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816122479190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161238c9190612ac8565b916000526020600020900160005b6040805190810160405280886fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600192505b5b505092915050565b600080429050600d54915060006124876301e13380612479600a5485612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156124ae576124a76064600d5461030202612a8a90919063ffffffff16565b91506124ff565b60016124db6301e133806124cd600a5485612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156124fe576124fb6064600d546101b302612a8a90919063ffffffff16565b91505b5b5b5090565b600b5481565b60095481565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600c5481565b600d5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561260057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561263c57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600080600080600a54421015801561269c57506000600a54115b15156126a757600080fd5b4292506126b485846127bb565b91506000821115156126c95760009350612794565b600d54905060006126fb6301e133806126ed600a5487612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156127225761271b6064600d5461030202612a8a90919063ffffffff16565b9050612773565b600161274f6301e13380612741600a5487612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156127725761276f6064600d546101b302612a8a90919063ffffffff16565b90505b5b612791600754600a0a61016d02828402612a8a90919063ffffffff16565b93505b505050919050565b60008082840190508381101515156127b057fe5b8091505b5092915050565b600080600080601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115156128145760009250612a68565b600091505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050821015612a67576128f4600b54601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156128b557fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1661279c90919063ffffffff16565b84101561290057612a5a565b61298f601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561294f57fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1685612a7090919063ffffffff16565b9050600c548111156129a157600c5490505b612a576129ba6201518083612a8a90919063ffffffff16565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515612a0657fe5b906000526020600020900160005b5060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16028461279c90919063ffffffff16565b92505b8180600101925050612819565b5b505092915050565b6000828211151515612a7e57fe5b81830390505b92915050565b6000808284811515612a9857fe5b0490508091505b5092915050565b5080546000825590600052602060002090810190612ac49190612af4565b5b50565b815481835581811511612aef57818360005260206000209182019101612aee9190612af4565b5b505050565b612b4e91905b80821115612b4a57600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a81549067ffffffffffffffff021916905550600101612afa565b5090565b905600a165627a7a723058200479a742677a8b957aa478398b72ff16d0140649ab7f26fd9c2f63f9a0adb9350029
Deployed Bytecode
0x60606040523615610152576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610157578063095ea7b3146101e65780631249c58b1461024057806318160ddd1461026d5780631e1b13c01461029657806323b872dd146102bf5780632a9edf6f146103385780632ab4d0521461035b578063313ce5671461038457806342cbb15c146103ad5780635b054f9b146103d657806370a08231146103ff5780637419f1901461044c57806388d695b2146104755780638da5cb5b1461052757806390762a8b1461057c57806395d89b411461059f5780639fd4da401461062e578063a9059cbb14610657578063b2552fc4146106b1578063cbd8877e146106da578063cd474b0414610703578063dd62ed3e1461072c578063e1c3bac614610798578063f2bb5ce1146107c1578063f2fde38b146107ea575b600080fd5b341561016257600080fd5b61016a610823565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ab5780820151818401525b60208101905061018f565b50505050905090810190601f1680156101d85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101f157600080fd5b610226600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108c1565b604051808215151515815260200191505060405180910390f35b341561024b57600080fd5b610253610a49565b604051808215151515815260200191505060405180910390f35b341561027857600080fd5b610280610dbb565b6040518082815260200191505060405180910390f35b34156102a157600080fd5b6102a9610dc1565b6040518082815260200191505060405180910390f35b34156102ca57600080fd5b61031e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610dd3565b604051808215151515815260200191505060405180910390f35b341561034357600080fd5b61035960048080359060200190919050506113c2565b005b341561036657600080fd5b61036e61144a565b6040518082815260200191505060405180910390f35b341561038f57600080fd5b610397611450565b6040518082815260200191505060405180910390f35b34156103b857600080fd5b6103c0611456565b6040518082815260200191505060405180910390f35b34156103e157600080fd5b6103e9611473565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611479565b6040518082815260200191505060405180910390f35b341561045757600080fd5b61045f6114c3565b6040518082815260200191505060405180910390f35b341561048057600080fd5b61050d600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919050506114c9565b604051808215151515815260200191505060405180910390f35b341561053257600080fd5b61053a611b6e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058757600080fd5b61059d6004808035906020019091905050611b94565b005b34156105aa57600080fd5b6105b2611ecb565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105f35780820151818401525b6020810190506105d7565b50505050905090810190601f1680156106205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561063957600080fd5b610641611f69565b6040518082815260200191505060405180910390f35b341561066257600080fd5b610697600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611f6f565b604051808215151515815260200191505060405180910390f35b34156106bc57600080fd5b6106c461244f565b6040518082815260200191505060405180910390f35b34156106e557600080fd5b6106ed612504565b6040518082815260200191505060405180910390f35b341561070e57600080fd5b61071661250a565b6040518082815260200191505060405180910390f35b341561073757600080fd5b610782600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612510565b6040518082815260200191505060405180910390f35b34156107a357600080fd5b6107ab612598565b6040518082815260200191505060405180910390f35b34156107cc57600080fd5b6107d461259e565b6040518082815260200191505060405180910390f35b34156107f557600080fd5b610821600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506125a4565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108b95780601f1061088e576101008083540402835291602001916108b9565b820191906000526020600020905b81548152906001019060200180831161089c57829003601f168201915b505050505081565b60008082148061094d57506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b151561095857600080fd5b81601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b600080600f54600e54101515610a5e57600080fd5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111515610ab05760009150610db6565b6000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111515610b055760009150610db6565b610b0e33612682565b9050600081111515610b235760009150610db6565b610b3881600e5461279c90919063ffffffff16565b600e81905550610b9081601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c1e9190612aa6565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281610c6f9190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050503373ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a2600191505b5b5090565b600e5481565b6000610dcd33426127bb565b90505b90565b6000806000606060048101600036905010151515610df057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610e2c57600080fd5b601260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549250610efd85601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f9285601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fe88584612a7090919063ffffffff16565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36000601360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050111561116457601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111639190612aa6565b5b429150601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816111b89190612ac8565b916000526020600020900160005b6040805190810160405280601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816112fd9190612ac8565b916000526020600020900160005b6040805190810160405280896fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600193505b5b5050509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561141e57600080fd5b6000600a541115801561143357506008548110155b151561143e57600080fd5b80600a819055505b5b50565b600f5481565b60075481565b600061146d60095443612a7090919063ffffffff16565b90505b90565b60085481565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600a5481565b6000806000806000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561152d57600080fd5b6000875111801561153f575085518751145b151561154a57600080fd5b60009350600092505b855183101561159657611586868481518110151561156d57fe5b906020019060200201518561279c90919063ffffffff16565b93505b8280600101935050611553565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156115e457600080fd5b429150600090505b86518110156118a457611675868281518110151561160657fe5b90602001906020020151601160008a8581518110151561162257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b60116000898481518110151561168757fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506013600088838151811015156116e157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816117379190612ac8565b916000526020600020900160005b60408051908101604052808a8681518110151561175e57fe5b906020019060200201516fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050868181518110151561181157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef888481518110151561187757fe5b906020019060200201516040518082815260200191505060405180910390a35b80806001019150506115ec565b6118f684601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156119d057601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006119cf9190612aa6565b5b6000601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611b5e57601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611a699190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505b600194505b5b5050505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf057600080fd5b600081111515611bff57600080fd5b611c5181601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611cdf9190612aa6565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611d309190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020014267ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050611e3981600e54612a7090919063ffffffff16565b600e81905550611e5481601054612a7090919063ffffffff16565b601081905550611e72600a8202600f54612a7090919063ffffffff16565b600f819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a25b5b50565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f615780601f10611f3657610100808354040283529160200191611f61565b820191906000526020600020905b815481529060010190602001808311611f4457829003601f168201915b505050505081565b60105481565b600080604060048101600036905010151515611f8a57600080fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611fcd57611fc6610a49565b9250612446565b61201f84601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a7090919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120b484601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461279c90919063ffffffff16565b601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36000601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905011156121f357601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006121f29190612aa6565b5b429150601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816122479190612ac8565b916000526020600020900160005b6040805190810160405280601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480600101828161238c9190612ac8565b916000526020600020900160005b6040805190810160405280886fffffffffffffffffffffffffffffffff1681526020018667ffffffffffffffff16815250909190915060008201518160000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555060208201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505050600192505b5b505092915050565b600080429050600d54915060006124876301e13380612479600a5485612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156124ae576124a76064600d5461030202612a8a90919063ffffffff16565b91506124ff565b60016124db6301e133806124cd600a5485612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156124fe576124fb6064600d546101b302612a8a90919063ffffffff16565b91505b5b5b5090565b600b5481565b60095481565b6000601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600c5481565b600d5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561260057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561263c57600080fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b600080600080600a54421015801561269c57506000600a54115b15156126a757600080fd5b4292506126b485846127bb565b91506000821115156126c95760009350612794565b600d54905060006126fb6301e133806126ed600a5487612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156127225761271b6064600d5461030202612a8a90919063ffffffff16565b9050612773565b600161274f6301e13380612741600a5487612a7090919063ffffffff16565b612a8a90919063ffffffff16565b14156127725761276f6064600d546101b302612a8a90919063ffffffff16565b90505b5b612791600754600a0a61016d02828402612a8a90919063ffffffff16565b93505b505050919050565b60008082840190508381101515156127b057fe5b8091505b5092915050565b600080600080601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501115156128145760009250612a68565b600091505b601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050821015612a67576128f4600b54601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020848154811015156128b557fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1661279c90919063ffffffff16565b84101561290057612a5a565b61298f601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561294f57fe5b906000526020600020900160005b5060000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1685612a7090919063ffffffff16565b9050600c548111156129a157600c5490505b612a576129ba6201518083612a8a90919063ffffffff16565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002084815481101515612a0657fe5b906000526020600020900160005b5060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16028461279c90919063ffffffff16565b92505b8180600101925050612819565b5b505092915050565b6000828211151515612a7e57fe5b81830390505b92915050565b6000808284811515612a9857fe5b0490508091505b5092915050565b5080546000825590600052602060002090810190612ac49190612af4565b5b50565b815481835581811511612aef57818360005260206000209182019101612aee9190612af4565b5b505050565b612b4e91905b80821115612b4a57600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a81549067ffffffffffffffff021916905550600101612afa565b5090565b905600a165627a7a723058200479a742677a8b957aa478398b72ff16d0140649ab7f26fd9c2f63f9a0adb9350029
Deployed Bytecode Sourcemap
3157:8335:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3253:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;8:100;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6361:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6787:580;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3756:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7508:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5495:858;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9705:177;;;;;;;;;;;;;;;;;;;;;;;;;;3786:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3327:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7375:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3361:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5375:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3480:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10496:993;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1173:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9890:500;;;;;;;;;;;;;;;;;;;;;;;;;;3293:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;8:100;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3819:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4762:605;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7626:394;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3532:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3413:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6638:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3603:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3676:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1742:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;3253:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6361:269::-;6421:4;6457:1;6447:6;:11;6446:53;;;;6497:1;6464:7;:19;6472:10;6464:19;;;;;;;;;;;;;;;:29;6484:8;6464:29;;;;;;;;;;;;;;;;:34;6446:53;6438:62;;;;;;;;6545:6;6513:7;:19;6521:10;6513:19;;;;;;;;;;;;;;;:29;6533:8;6513:29;;;;;;;;;;;;;;;:38;;;;6583:8;6562:38;;6571:10;6562:38;;;6593:6;6562:38;;;;;;;;;;;;;;;;;;6618:4;6611:11;;6361:269;;;;;:::o;6787:580::-;6822:4;6957:11;4395:14;;4381:11;;:28;4373:37;;;;;;;;6866:1;6842:8;:20;6851:10;6842:20;;;;;;;;;;;;;;;;:25;;6839:42;;;6876:5;6869:12;;;;6839:42;6929:1;6895:11;:23;6907:10;6895:23;;;;;;;;;;;;;;;:30;;;;:35;;6892:52;;;6939:5;6932:12;;;;6892:52;6971:33;6993:10;6971:21;:33::i;:::-;6957:47;;7028:1;7018:6;:11;;7015:28;;;7038:5;7031:12;;;;7015:28;7070:23;7086:6;7070:11;;:15;;:23;;;;:::i;:::-;7056:11;:37;;;;7127:32;7152:6;7127:8;:20;7136:10;7127:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7104:8;:20;7113:10;7104:20;;;;;;;;;;;;;;;:55;;;;7177:11;:23;7189:10;7177:23;;;;;;;;;;;;;;;;7170:30;;;;:::i;:::-;7211:11;:23;7223:10;7211:23;;;;;;;;;;;;;;;:89;;;;;;;;;;;:::i;:::-;;;;;;;;;;;7240:59;;;;;;;;;7265:8;:20;7274:10;7265:20;;;;;;;;;;;;;;;;7240:59;;;;;;7294:3;7240:59;;;;;7211:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7318:10;7313:24;;;7330:6;7313:24;;;;;;;;;;;;;;;;;;7355:4;7348:11;;4421:1;6787:580;;;:::o;3756:23::-;;;;:::o;7508:110::-;7545:14;7584:26;7595:10;7606:3;7584:10;:26::i;:::-;7572:38;;7508:110;;:::o;5495:858::-;5594:4;5650:14;6143:11;5577:6;4311:1;4304:4;:8;4285;;:15;;:27;;4277:36;;;;;;;;5634:1;5619:17;;:3;:17;;;;5611:26;;;;;;;;5667:7;:14;5675:5;5667:14;;;;;;;;;;;;;;;:26;5682:10;5667:26;;;;;;;;;;;;;;;;5650:43;;5882:27;5902:6;5882:8;:15;5891:5;5882:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;5864:8;:15;5873:5;5864:15;;;;;;;;;;;;;;;:45;;;;5936:25;5954:6;5936:8;:13;5945:3;5936:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;5920:8;:13;5929:3;5920:13;;;;;;;;;;;;;;;:41;;;;6001:22;6016:6;6001:10;:14;;:22;;;;:::i;:::-;5972:7;:14;5980:5;5972:14;;;;;;;;;;;;;;;:26;5987:10;5972:26;;;;;;;;;;;;;;;:51;;;;6050:3;6034:28;;6043:5;6034:28;;;6055:6;6034:28;;;;;;;;;;;;;;;;;;6104:1;6076:11;:18;6088:5;6076:18;;;;;;;;;;;;;;;:25;;;;:29;6073:59;;;6114:11;:18;6126:5;6114:18;;;;;;;;;;;;;;;;6107:25;;;;:::i;:::-;6073:59;6164:3;6143:25;;6179:11;:18;6191:5;6179:18;;;;;;;;;;;;;;;:72;;;;;;;;;;;:::i;:::-;;;;;;;;;;;6203:47;;;;;;;;;6228:8;:15;6237:5;6228:15;;;;;;;;;;;;;;;;6203:47;;;;;;6245:4;6203:47;;;;;6179:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6262:11;:16;6274:3;6262:16;;;;;;;;;;;;;;;:61;;;;;;;;;;;:::i;:::-;;;;;;;;;;;6284:38;;;;;;;;;6309:6;6284:38;;;;;;6317:4;6284:38;;;;;6262:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6341:4;6334:11;;4324:1;5495:858;;;;;;;;;:::o;9705:177::-;1537:5;;;;;;;;;;;1523:19;;:10;:19;;;1515:28;;;;;;;;9801:1;9783:14;;:19;;9782:54;;;;;9821:14;;9808:9;:27;;9782:54;9774:63;;;;;;;;9865:9;9848:14;:26;;;;1554:1;9705:177;;:::o;3786:26::-;;;;:::o;3327:25::-;;;;:::o;7375:125::-;7410:16;7453:39;7470:21;;7453:12;:16;;:39;;;;:::i;:::-;7439:53;;7375:125;;:::o;3361:26::-;;;;:::o;5375:112::-;5428:15;5463:8;:16;5472:6;5463:16;;;;;;;;;;;;;;;;5456:23;;5375:112;;;;:::o;3480:26::-;;;;:::o;10496:993::-;10577:4;10679:10;10708:6;10861:11;10901:6;1537:5;;;;;;;;;;;1523:19;;:10;:19;;;1515:28;;;;;;;;10624:1;10603:11;:18;:22;:62;;;;;10651:7;:14;10629:11;:18;:36;10603:62;10594:72;;;;;;;;10692:1;10679:14;;10717:1;10708:10;;10704:96;10724:7;:14;10720:1;:18;10704:96;;;10767:21;10777:7;10785:1;10777:10;;;;;;;;;;;;;;;;;;10767:5;:9;;:21;;;;:::i;:::-;10759:29;;10704:96;10740:3;;;;;;;10704:96;;;10827:8;:20;10836:10;10827:20;;;;;;;;;;;;;;;;10818:5;:29;;10810:38;;;;;;;;10882:3;10861:25;;10910:1;10901:10;;10897:292;10917:11;:18;10913:1;:22;10897:292;;;10983:40;11012:7;11020:1;11012:10;;;;;;;;;;;;;;;;;;10983:8;:24;10992:11;11004:1;10992:14;;;;;;;;;;;;;;;;;;10983:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;10956:8;:24;10965:11;10977:1;10965:14;;;;;;;;;;;;;;;;;;10956:24;;;;;;;;;;;;;;;:67;;;;11038:11;:27;11050:11;11062:1;11050:14;;;;;;;;;;;;;;;;;;11038:27;;;;;;;;;;;;;;;:76;;;;;;;;;;;:::i;:::-;;;;;;;;;;;11071:42;;;;;;;;;11096:7;11104:1;11096:10;;;;;;;;;;;;;;;;;;11071:42;;;;;;11108:4;11071:42;;;;;11038:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11150:11;11162:1;11150:14;;;;;;;;;;;;;;;;;;11129:48;;11138:10;11129:48;;;11166:7;11174:1;11166:10;;;;;;;;;;;;;;;;;;11129:48;;;;;;;;;;;;;;;;;;10897:292;10937:3;;;;;;;10897:292;;;11224:31;11249:5;11224:8;:20;11233:10;11224:20;;;;;;;;;;;;;;;;:24;;:31;;;;:::i;:::-;11201:8;:20;11210:10;11201:20;;;;;;;;;;;;;;;:54;;;;11302:1;11269:11;:23;11281:10;11269:23;;;;;;;;;;;;;;;:30;;;;:34;11266:69;;;11312:11;:23;11324:10;11312:23;;;;;;;;;;;;;;;;11305:30;;;;:::i;:::-;11266:69;11372:1;11349:8;:20;11358:10;11349:20;;;;;;;;;;;;;;;;:24;11346:111;;;11375:11;:23;11387:10;11375:23;;;;;;;;;;;;;;;:82;;;;;;;;;;;:::i;:::-;;;;;;;;;;;11404:52;;;;;;;;;11429:8;:20;11438:10;11429:20;;;;;;;;;;;;;;;;11404:52;;;;;;11451:4;11404:52;;;;;11375:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11346:111;11477:4;11470:11;;1554:1;10496:993;;;;;;;;;:::o;1173:20::-;;;;;;;;;;;;;:::o;9890:500::-;1537:5;;;;;;;;;;;1523:19;;:10;:19;;;1515:28;;;;;;;;9965:1;9956:6;:10;9948:19;;;;;;;;10003:32;10028:6;10003:8;:20;10012:10;10003:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9980:8;:20;9989:10;9980:20;;;;;;;;;;;;;;;:55;;;;10053:11;:23;10065:10;10053:23;;;;;;;;;;;;;;;;10046:30;;;;:::i;:::-;10087:11;:23;10099:10;10087:23;;;;;;;;;;;;;;;:89;;;;;;;;;;;:::i;:::-;;;;;;;;;;;10116:59;;;;;;;;;10141:8;:20;10150:10;10141:20;;;;;;;;;;;;;;;;10116:59;;;;;;10170:3;10116:59;;;;;10087:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10203:23;10219:6;10203:11;;:15;;:23;;;;:::i;:::-;10189:11;:37;;;;10258:30;10281:6;10258:18;;:22;;:30;;;;:::i;:::-;10237:18;:51;;;;10316:29;10342:2;10335:6;:9;10316:14;;:18;;:29;;;;:::i;:::-;10299:14;:46;;;;10363:10;10358:24;;;10375:6;10358:24;;;;;;;;;;;;;;;;;;1554:1;9890:500;;:::o;3293:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3819:30::-;;;;:::o;4762:605::-;4842:4;5147:11;4825:6;4311:1;4304:4;:8;4285;;:15;;:27;;4277:36;;;;;;;;4876:3;4862:17;;:10;:17;;;4859:35;;;4888:6;:4;:6::i;:::-;4881:13;;;;4859:35;4928:32;4953:6;4928:8;:20;4937:10;4928:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;4905:8;:20;4914:10;4905:20;;;;;;;;;;;;;;;:55;;;;4987:25;5005:6;4987:8;:13;4996:3;4987:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4971:8;:13;4980:3;4971:13;;;;;;;;;;;;;;;:41;;;;5044:3;5023:33;;5032:10;5023:33;;;5049:6;5023:33;;;;;;;;;;;;;;;;;;5103:1;5070:11;:23;5082:10;5070:23;;;;;;;;;;;;;;;:30;;;;:34;5067:69;;;5113:11;:23;5125:10;5113:23;;;;;;;;;;;;;;;;5106:30;;;;:::i;:::-;5067:69;5168:3;5147:25;;5183:11;:23;5195:10;5183:23;;;;;;;;;;;;;;;:82;;;;;;;;;;;:::i;:::-;;;;;;;;;;;5212:52;;;;;;;;;5237:8;:20;5246:10;5237:20;;;;;;;;;;;;;;;;5212:52;;;;;;5259:4;5212:52;;;;;5183:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5276:11;:16;5288:3;5276:16;;;;;;;;;;;;;;;:61;;;;;;;;;;;:::i;:::-;;;;;;;;;;;5298:38;;;;;;;;;5323:6;5298:38;;;;;;5331:4;5298:38;;;;;5276:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5355:4;5348:11;;4324:1;4762:605;;;;;;;:::o;7626:394::-;7669:13;7695:9;7707:3;7695:15;;7732:19;;7721:30;;7808:1;7765:39;7796:7;7766:24;7775:14;;7766:4;:8;;:24;;;;:::i;:::-;7765:30;;:39;;;;:::i;:::-;:44;7762:251;;;7837:36;7869:3;7844:19;;7838:3;:25;7837:31;;:36;;;;:::i;:::-;7826:47;;7762:251;;;7937:1;7894:39;7925:7;7895:24;7904:14;;7895:4;:8;;:24;;;;:::i;:::-;7894:30;;:39;;;;:::i;:::-;:44;7891:122;;;7965:36;7997:3;7972:19;;7966:3;:25;7965:31;;:36;;;;:::i;:::-;7954:47;;7891:122;7762:251;7626:394;;;:::o;3532:32::-;;;;:::o;3413:33::-;;;;:::o;6638:141::-;6709:17;6746:7;:15;6754:6;6746:15;;;;;;;;;;;;;;;:25;6762:8;6746:25;;;;;;;;;;;;;;;;6739:32;;6638:141;;;;;:::o;3603:33::-;;;;:::o;3676:40::-;;;;:::o;1742:132::-;1537:5;;;;;;;;;;;1523:19;;:10;:19;;;1515:28;;;;;;;;1836:1;1816:22;;:8;:22;;;;1808:31;;;;;;;;1858:8;1850:5;;:16;;;;;;;;;;;;;;;;;;1554:1;1742:132;;:::o;8028:1084::-;8095:4;8183:9;8209:13;8301;8129:14;;8122:3;:21;;8121:47;;;;;8166:1;8149:14;;:18;8121:47;8112:58;;;;;;;;8195:3;8183:15;;8225:26;8236:8;8246:4;8225:10;:26::i;:::-;8209:42;;8277:1;8265:8;:13;;8262:26;;;8287:1;8280:8;;;;8262:26;8317:19;;8301:35;;8638:1;8595:39;8626:7;8596:24;8605:14;;8596:4;:8;;:24;;;;:::i;:::-;8595:30;;:39;;;;:::i;:::-;:44;8592:446;;;8799:36;8831:3;8806:19;;8800:3;:25;8799:31;;:36;;;;:::i;:::-;8788:47;;8592:446;;;8899:1;8856:39;8887:7;8857:24;8866:14;;8857:4;:8;;:24;;;;:::i;:::-;8856:30;;:39;;;;:::i;:::-;:44;8853:185;;;8990:36;9022:3;8997:19;;8991:3;:25;8990:31;;:36;;;;:::i;:::-;8979:47;;8853:185;8592:446;9057:47;9094:8;;9090:2;:12;9083:3;:20;9069:8;9058;:19;9057:25;;:47;;;;:::i;:::-;9050:54;;8028:1084;;;;;;;:::o;794:151::-;856:7;876:9;892:1;888;:5;876:17;;916:1;911;:6;;904:14;;;;;;936:1;929:8;;794:151;;;;;;:::o;9120:577::-;9187:13;9277:6;9433:17;9248:1;9216:11;:21;9228:8;9216:21;;;;;;;;;;;;;;;:28;;;;:33;;9213:46;;;9258:1;9251:8;;;;9213:46;9286:1;9277:10;;9272:418;9293:11;:21;9305:8;9293:21;;;;;;;;;;;;;;;:28;;;;9289:1;:32;9272:418;;;9353:52;9393:11;;9358;:21;9370:8;9358:21;;;;;;;;;;;;;;;9380:1;9358:24;;;;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;9353:35;;:39;;:52;;;;:::i;:::-;9346:4;:59;9342:74;;;9408:8;;9342:74;9453:45;9467:11;:21;9479:8;9467:21;;;;;;;;;;;;;;;9489:1;9467:24;;;;;;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;9462:35;;9453:4;:8;;:45;;;;:::i;:::-;9433:65;;9532:11;;9517:12;:26;9513:59;;;9561:11;;9546:26;;9513:59;9600:78;9653:24;9670:6;9653:12;:16;;:24;;;;:::i;:::-;9618:11;:21;9630:8;9618:21;;;;;;;;;;;;;;;9640:1;9618:24;;;;;;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;9613:37;;:64;9600:8;:12;;:78;;;;:::i;:::-;9589:89;;9272:418;9323:3;;;;;;;9272:418;;;9120:577;;;;;;;:::o;659:127::-;721:7;753:1;748;:6;;741:14;;;;;;777:1;773;:5;766:12;;659:127;;;;;:::o;359:292::-;421:7;520:9;536:1;532;:5;;;;;;;;520:17;;642:1;635:8;;359:292;;;;;;:::o;3157:8335::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://0479a742677a8b957aa478398b72ff16d0140649ab7f26fd9c2f63f9a0adb935
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.