Token migration announcement. Vether token contract has migrated to a new address.
ERC-20
Old Contract
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)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Vether
Compiler Version
v0.6.4+commit.1dca32f3
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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"}]
Contract Creation Code
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.