Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
7,400 UN
Holders
23
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 7 Decimals)
Balance
15.9301758 UNValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HelixNebula
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-15 */ ///////////////////////////////////////////////// //******** In the name of god ******************* //******** https://Helixnebula.help ************ ////p2p blockchain based helping system////////// ////Contact us: [email protected]///////// ///////////////////////////////////////////////// pragma solidity ^0.5.0; contract EIP20Interface { /// total amount of tokens uint256 public totalSupply; uint256 public MaxSupply; /// @param _owner The address from which the balance will be retrieved /// @return The balance function balanceOf(address _owner) public view returns (uint256 balance); /// @notice send `_value` token to `_to` from `msg.sender` /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transfer(address _to, uint256 _value) public returns (bool success); /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from` /// @param _from The address of the sender /// @param _to The address of the recipient /// @param _value The amount of token to be transferred /// @return Whether the transfer was successful or not function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); /// @notice `msg.sender` approves `_spender` to spend `_value` tokens /// @param _spender The address of the account able to transfer the tokens /// @param _value The amount of tokens to be approved for transfer /// @return Whether the approval was successful or not function approve(address _spender, uint256 _value) public returns (bool success); /// @param _owner The address of the account owning tokens /// @param _spender The address of the account able to transfer the tokens /// @return Amount of remaining tokens allowed to spent function allowance(address _owner, address _spender) public view returns (uint256 remaining); // solhint-disable-next-line no-simple-event-func-name event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } // a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math) library SafeMath { function add(uint x, uint y) internal pure returns (uint z) { require((z = x + y) >= x, 'ds-math-add-overflow'); } function sub(uint x, uint y) internal pure returns (uint z) { require((z = x - y) <= x, 'ds-math-sub-underflow'); } function sub0(uint x, uint y) internal pure returns (uint) { if(x>y){ return x-y; }else{ return 0; } } function mul(uint x, uint y) internal pure returns (uint z) { require(y == 0 || (z = x * y) / y == x, 'ds-math-mul-overflow'); } } contract HelixNebula is EIP20Interface { using SafeMath for uint; //////////////////////////Token Layer//////////////////////////////////////////////// address payable wallet; uint256 constant private MAX_UINT256 = 2**256 - 1; mapping (address => uint256) public balances; ////////////////////////////////////////////////////////////////////////////// uint public ReleaseTime; bool public TsafeGuard=true; bool public TFsafeGuard=true; bool public LockLiquidity=false; address payable public owner; address public Uniswap_Address; //This address is used for locking the liquidity in uniswap struct BalanceTime { uint ExpireTime; address adr; } struct LockedAddress{ uint ExpireTime; address adr; } /* @StableBalancesTime This parameter is used for saving the fixed time of wallet balance. If the individual has not helped sufficiently, in return for the help of another person, his wallet balance and those who didn't help will be reduced. */ BalanceTime[] public StableBalancesTime; LockedAddress[] public LockedAddresses; modifier onlyOwner { require(msg.sender == owner); _; } function LockAddress(uint _days) public{ for(uint i=0;i<LockedAddresses.length;i++){ if(LockedAddresses[i].adr==msg.sender){ if(LockedAddresses[i].ExpireTime>block.timestamp){ LockedAddresses[i].ExpireTime=LockedAddresses[i].ExpireTime + _days*24*3600; }else{ LockedAddresses[i].ExpireTime=block.timestamp + _days*24*3600; } return; } } LockedAddresses.push(LockedAddress(block.timestamp+_days*24*3600,msg.sender)); } function GetAddressExpTime(address _adr) public view returns(uint) { for(uint i=0;i<LockedAddresses.length;i++){ if(LockedAddresses[i].adr==_adr){ return LockedAddresses[i].ExpireTime; } } return 0; } function IsLockAddress(address _adr) public view returns(bool){ for(uint i=0;i<LockedAddresses.length;i++){ if(LockedAddresses[i].adr==_adr){ if(LockedAddresses[i].ExpireTime>block.timestamp){ return true; }else{ return false; } } } return false; } function LockTheLiquidity(bool _locktype) public onlyOwner{ LockLiquidity=_locktype; } function CheckLiquidityLocked(address _from,address _to) public view returns(bool){ if(LockLiquidity==false){ return false; } for(uint i=0;i<StableBalancesTime.length;i++){ if(StableBalancesTime[i].adr==_from){ if(StableBalancesTime[i].ExpireTime>block.timestamp){ return false; }else{ break; } } } if(_to==Uniswap_Address){ return true; }else{ return false; } } function SetUniswapAddress(address _adr) external onlyOwner{ Uniswap_Address=_adr; } function transferOwnership(address payable _newOwner) public onlyOwner { owner = _newOwner; wallet=_newOwner; } mapping (address => mapping (address => uint256)) public allowed; string public name; uint8 public decimals; string public symbol; constructor() public { wallet=msg.sender; owner=msg.sender; decimals = 7; // Amount of decimals for display purposes totalSupply = 6400*10**uint256(decimals); MaxSupply=1000000*10**uint256(decimals); //1,000,000 UN ReleaseTime=block.timestamp; balances[msg.sender] = totalSupply; AddAddress(msg.sender); name = "Helix Nebula"; // Set the name for display purposes symbol = "UN"; // Set the symbol for display purposes } function GetMinedTokens() public view returns(uint){ return totalSupply; //it means how much people help each others } function transfer(address _to, uint256 _value) public returns (bool success) { require(IsLockAddress(_to)==false,'This Address is locked'); require(TsafeGuard==true,'Transfer Is Not Available'); require(CheckLiquidityLocked(msg.sender,_to)==false,'The liquidity is locked'); require(balances[msg.sender] >= _value); balances[msg.sender] =balances[msg.sender].sub(_value); balances[_to] =balances[_to].add(_value); AddAddress(_to); emit Transfer(msg.sender, _to, _value); //solhint-disable-line indent, no-unused-vars return true; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(IsLockAddress(_to)==false,'This Address is locked'); require(IsLockAddress(_from)==false,'This Address is locked'); require(TFsafeGuard==true,'TransferFrom Is Not Available'); require(CheckLiquidityLocked(_from,_to)==false,'The liquidity is locked'); uint256 allowance = allowed[_from][msg.sender]; require(balances[_from] >= _value && allowance >= _value); balances[_to] =balances[_to].add(_value); balances[_from] = balances[_from].sub(_value); AddAddress(_to); if (allowance < MAX_UINT256) { allowed[_from][msg.sender] =allowed[_from][msg.sender].sub(_value); } emit Transfer(_from, _to, _value); //solhint-disable-line indent, no-unused-vars return true; } function balanceOf(address _owner) public view returns (uint256 balance) { return balances[_owner]; } function approve(address _spender, uint256 _value) public returns (bool success) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); //solhint-disable-line indent, no-unused-vars return true; } function allowance(address _owner, address _spender) public view returns (uint256 remaining) { return allowed[_owner][_spender]; } function burn(uint256 amount) public { //anyone can burn the tokens. and it will decrease the total supply of the tokens. require(amount != 0); require(amount <= balances[msg.sender]); totalSupply =totalSupply.sub(amount); balances[msg.sender] = balances[msg.sender].sub(amount); emit Transfer(msg.sender, address(0), amount); } function ChangeTransferSafeGuard(bool _TGuard,bool _TFGuard) public onlyOwner{ TsafeGuard=_TGuard; TFsafeGuard=_TFGuard; } function AddAddress(address _adr) internal{ for(uint i=0;i<StableBalancesTime.length;i++) { if(StableBalancesTime[i].adr==_adr){ return; } } StableBalancesTime.push(BalanceTime(0,_adr)); } ////////////////////////////helix main database Layer//////////////////////////////////////// event Help(address indexed _from, address indexed _to, uint256 _value); uint public LotteryCount=0; address public LastWinner; bool public AddStorysafeGuard=true; bool public GetStorysafeGuard=true; uint votecost=10000 szabo; //1 szabo =0.000001 ether uint ETHPrice=1000000 szabo; uint trigger=0; struct votedata{ uint hid; address voterad; uint vtype; //0 means mines 1 means plus } struct Human { uint id; string name; uint lang; int vote; uint views; string story; uint timestamp; address payable ethaddress; address payable ownerAddress; string pass; } votedata[] public voters; Human[] public Humans; uint public nextId = 1; ////////////////////////////// /* Any benevolent person can participate in the monthly lottery and try his/her luck to win 1000 tokens. */ function Lottery() external returns(uint){ require(IsLotteryAvailable(),"This month's lottery is over and someone has won. Please try again later"); require(balances[msg.sender]>100,"You should have at least 100 Helix Nebula tokens to participate in the lottery. "); require(totalSupply+1000<MaxSupply,"Over MaxSupply"); if(IsLotteryAvailable()){ if(random()==3){ // If he/she wins the lottery, he/she will receive 1000 tokens. balances[msg.sender]=balances[msg.sender].add(1000*10**uint256(decimals)); totalSupply=totalSupply.add(1000*10**uint256(decimals)); LotteryCount++; LastWinner=msg.sender; return 1000*10**uint256(decimals); }else{ //If he/she loses in the lottery, he/she will lose 10 tokens. burn(10*10**uint256(decimals)); return 0; } } } //Checks if the lottery is activated this month or not? function IsLotteryAvailable() public view returns(bool){ uint timetemp=block.timestamp - ReleaseTime; uint MonthNum=timetemp/(3600*24*30); //60*60*24*30 one month if(MonthNum >= LotteryCount){ return true; }else{ return false; } } function DeleteVotesByid(uint _id) internal{ for(uint i = 0; i < voters.length; i++) { if(voters[i].hid == _id) { delete voters[i]; } } } function removeHuman(uint index) internal { if (index >= Humans.length) return; for (uint i = index; i<Humans.length-1; i++){ Humans[i] = Humans[i+1]; } delete Humans[Humans.length-1]; Humans.length--; } function create(string memory _name,uint _lang,string memory story,address payable _ethaddress,string memory pass) public { require(AddStorysafeGuard==true,'AddStory Is Not Available'); bytes memory EmptyStringstory = bytes(story); require(EmptyStringstory.length != 0,"null story"); //prevent from add null story. Humans.push(Human(nextId, _name,_lang,0,0,story,block.timestamp,_ethaddress,msg.sender,pass)); uint timetemp=block.timestamp - Humans[0].timestamp; uint tdays=timetemp/(3600*24); //60*60*24 if(tdays>60){ DeleteVotesByid(Humans[0].id); removeHuman(0); } for(uint i=0;i<Humans.length; i++){ if(Humans[i].vote < -100){ DeleteVotesByid(Humans[i].id); removeHuman(0); } } // and so remove the humans have not enough point nextId++; } function GetdatePoint(uint _dtime) view internal returns(uint){ uint timetemp=block.timestamp.sub(_dtime); uint tdays=timetemp/(3600*24); uint pdays=tdays.add(1); uint points=((120-pdays)**2)/pdays; return points; } function GetRandomHuman(uint _randseed,uint _decimals,uint _lang) public view returns(string memory,string memory,int,address,uint,uint){ uint[] memory points=new uint[](Humans.length); uint maxlengthpoint=0; for(uint i = 0; i < Humans.length; i++) { if(Humans[i].lang != _lang){ points[i]=0; }else{ uint daypoint=GetdatePoint(Humans[i].timestamp); int uvotes=Humans[i].vote*10; int mpoints=int(daypoint)+uvotes; if(mpoints<0){ mpoints=1; } points[i]=uint(mpoints); maxlengthpoint=maxlengthpoint+uint(mpoints); } } uint randnumber=(_randseed.mul(maxlengthpoint))/_decimals; uint tempnumber=0; for(uint i = 0; i < points.length; i++) { if(tempnumber<randnumber && randnumber<tempnumber+points[i] && points[i] !=0){ uint timetemp=block.timestamp - Humans[i].timestamp; uint tdays=timetemp/(3600*24); if(60-tdays>0){ return (Humans[i].name,Humans[i].story,Humans[i].vote,Humans[i].ethaddress,Humans[i].id,60-tdays); }else{ return ("Problem","We have problem . please refersh again.",0,msg.sender,0,0); } }else{ tempnumber=tempnumber.add(points[i]); } } return ("No Story","If you see this story it means that there is no story in this language, if you know some one needs help, ask them to add a new story.",0,msg.sender,0,0); } function read(uint id) internal view returns(uint, string memory) { uint i = find(id); return(Humans[i].id, Humans[i].name); } function GetVotedata(uint id) view public returns(int256,uint) { uint Vcost=votecost; uint votecounts=0; uint hindex=find(id); for(uint i = 0; i < voters.length; i++) { if(voters[i].hid == id && voters[i].voterad == msg.sender) { if(votecounts>0){ Vcost=Vcost.mul(2); } votecounts=votecounts.add(1); } } return(Humans[hindex].vote,Vcost); } function vote(uint id,uint vtype) public payable returns(uint){ uint votecounts=0; uint Vcost=votecost; for(uint i = 0; i < voters.length; i++) { if(voters[i].hid == id && voters[i].voterad == msg.sender) { if(votecounts>0){ Vcost=Vcost.mul(2); } votecounts=votecounts.add(1); } } if(msg.value >= Vcost){ uint j = find(id); wallet.transfer(msg.value); AddAddress(msg.sender); if(vtype==1){ Humans[j].vote++; }else{ Humans[j].vote--; } voters.push(votedata(id, msg.sender,1)); /* For each vote, the wallet will be stable for another 10 days */ uint exttime=3600*24*10; UpdateExpireTime(msg.sender,exttime); return Vcost*2; }else{ return 0; } } function random() internal view returns (uint) { //1% probability that the amount of value sent to the donor may be tripled. uint randomnumber = uint(keccak256(abi.encodePacked(block.timestamp, msg.sender, block.difficulty,totalSupply))) % 100; randomnumber = randomnumber + 1; if(randomnumber==53){ return 3; }else{ return 1; } } function GetHelixAmount() internal view returns(uint){ uint oneDaytime=3600*24; if(block.timestamp.sub(ReleaseTime)<oneDaytime*30){ return (msg.value.mul((10**uint256(decimals))).mul(10))/ETHPrice; //first month: 10 UN token Per 1 ETH Help } if(block.timestamp.sub(ReleaseTime)<oneDaytime*60){ return (msg.value.mul((10**uint256(decimals))).mul(8))/ETHPrice; //second month: 8 UN token Per 1 ETH Help } if(block.timestamp.sub(ReleaseTime)<oneDaytime*90){ return (msg.value.mul((10**uint256(decimals))).mul(6))/ETHPrice; //third month: 6 UN token Per 1 ETH Help } if(block.timestamp.sub(ReleaseTime)<oneDaytime*120){ return (msg.value.mul((10**uint256(decimals))).mul(4))/ETHPrice; //fourth month: 4 UN token Per 1 ETH Help } if(block.timestamp.sub(ReleaseTime)<oneDaytime*150){ return (msg.value.mul((10**uint256(decimals))).mul(2))/ETHPrice; //fifth month: 2 UN token Per 1 ETH Help } if(block.timestamp.sub(ReleaseTime)>oneDaytime*150){ return (msg.value.mul((10**uint256(decimals))).mul(1))/ETHPrice; //after five month: 1 UN token Per 1 ETH Help } } function SendTransaction(address payable _adr,address payable _referraladr,bool _hasreferral) public payable returns(uint){ require(msg.value>0,"require(ETH > 0)"); uint ExpAddressCount=0; ////////////////////////////////////////////////// uint TotalNewUN=0; uint Prize=random(); uint Hamount=GetHelixAmount(); if(_hasreferral == true){ TotalNewUN=TotalNewUN.add(Hamount); } TotalNewUN=TotalNewUN.add(Hamount*Prize); uint DecreasePart=0; ////////////////////////////////////////////////// for(uint i=0;i<StableBalancesTime.length;i++){ if(StableBalancesTime[i].ExpireTime<block.timestamp && balances[StableBalancesTime[i].adr]>0){ ExpAddressCount++; } } if(ExpAddressCount != 0){ DecreasePart=TotalNewUN/ExpAddressCount; } /* The wallets which have not been helped recently, their balance will be reduced therefore the sum of totalsupply will be equal to the amount of aid. */ for(uint i=0;i<StableBalancesTime.length;i++){ if(StableBalancesTime[i].ExpireTime<block.timestamp && balances[StableBalancesTime[i].adr]>0 && !(StableBalancesTime[i].adr == msg.sender) && !(StableBalancesTime[i].adr == Uniswap_Address)){ balances[StableBalancesTime[i].adr]=balances[StableBalancesTime[i].adr].sub0(DecreasePart); totalSupply=totalSupply.sub0(DecreasePart); } } if(totalSupply+Hamount<MaxSupply){ //we'll Check that the generated token does not exceed MaxSupply if(_hasreferral == true){ AddAddress(_referraladr); balances[_referraladr] = balances[_referraladr].add(Hamount); totalSupply = totalSupply.add(Hamount); } balances[msg.sender] = balances[msg.sender].add(Hamount*Prize); totalSupply = totalSupply.add(Hamount*Prize); uint exttime=msg.value*3600*24*30/ETHPrice; //For each Ethereum, the wallet will be stable for another 30 days UpdateExpireTime(msg.sender,exttime); } _adr.transfer(msg.value*9/10); wallet.transfer(msg.value/10); emit Help(msg.sender,_adr,msg.value); return Hamount*Prize; } function GetDaysToExpired(address _adr) view public returns(uint){ for(uint i=0;i<StableBalancesTime.length;i++){ if(StableBalancesTime[i].adr == _adr){ if(StableBalancesTime[i].ExpireTime<=block.timestamp){ return 0; }else{ return ((StableBalancesTime[i].ExpireTime-block.timestamp)/(3600*24)); } } } return 0; } function UpdateExpireTime(address _adr,uint _Extendtime) internal{ for(uint i=0;i<StableBalancesTime.length;i++){ if(StableBalancesTime[i].adr==_adr){ if(balances[_adr]<10000*10**uint256(decimals)){ if(StableBalancesTime[i].ExpireTime + _Extendtime>block.timestamp+_Extendtime){ StableBalancesTime[i].ExpireTime=StableBalancesTime[i].ExpireTime.add(_Extendtime); }else{ StableBalancesTime[i].ExpireTime=_Extendtime.add(block.timestamp); } } return; } } StableBalancesTime.push(BalanceTime(block.timestamp+_Extendtime,_adr)); } function destroy(uint id) public onlyOwner { uint i = find(id); removeHuman(i); } function GetStroyByindex(uint _index) view public onlyOwner returns(uint,string memory,string memory,uint,address) { return (Humans[_index].id,Humans[_index].name,Humans[_index].story,Humans[_index].lang,Humans[_index].ethaddress); } function ChangeStorySafeGuard(bool _AddGuard,bool _ReadGuard) public onlyOwner{ AddStorysafeGuard=_AddGuard; GetStorysafeGuard=_ReadGuard; } function find(uint id) view internal returns(uint) { for(uint i = 0; i < Humans.length; i++) { if(Humans[i].id == id) { return i; } } revert('User does not exist!'); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"payable":false,"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":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Help","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"},{"constant":true,"inputs":[],"name":"AddStorysafeGuard","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_AddGuard","type":"bool"},{"internalType":"bool","name":"_ReadGuard","type":"bool"}],"name":"ChangeStorySafeGuard","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_TGuard","type":"bool"},{"internalType":"bool","name":"_TFGuard","type":"bool"}],"name":"ChangeTransferSafeGuard","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"CheckLiquidityLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"GetAddressExpTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"GetDaysToExpired","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetMinedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_randseed","type":"uint256"},{"internalType":"uint256","name":"_decimals","type":"uint256"},{"internalType":"uint256","name":"_lang","type":"uint256"}],"name":"GetRandomHuman","outputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GetStorysafeGuard","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"GetStroyByindex","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"GetVotedata","outputs":[{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Humans","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"lang","type":"uint256"},{"internalType":"int256","name":"vote","type":"int256"},{"internalType":"uint256","name":"views","type":"uint256"},{"internalType":"string","name":"story","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"address payable","name":"ethaddress","type":"address"},{"internalType":"address payable","name":"ownerAddress","type":"address"},{"internalType":"string","name":"pass","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"IsLockAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"IsLotteryAvailable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"LastWinner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_days","type":"uint256"}],"name":"LockAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LockLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_locktype","type":"bool"}],"name":"LockTheLiquidity","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"LockedAddresses","outputs":[{"internalType":"uint256","name":"ExpireTime","type":"uint256"},{"internalType":"address","name":"adr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"Lottery","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"LotteryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MaxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ReleaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_adr","type":"address"},{"internalType":"address payable","name":"_referraladr","type":"address"},{"internalType":"bool","name":"_hasreferral","type":"bool"}],"name":"SendTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_adr","type":"address"}],"name":"SetUniswapAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"StableBalancesTime","outputs":[{"internalType":"uint256","name":"ExpireTime","type":"uint256"},{"internalType":"address","name":"adr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TFsafeGuard","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TsafeGuard","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Uniswap_Address","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"uint256","name":"_lang","type":"uint256"},{"internalType":"string","name":"story","type":"string"},{"internalType":"address payable","name":"_ethaddress","type":"address"},{"internalType":"string","name":"pass","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"vtype","type":"uint256"}],"name":"vote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"voters","outputs":[{"internalType":"uint256","name":"hid","type":"uint256"},{"internalType":"address","name":"voterad","type":"address"},{"internalType":"uint256","name":"vtype","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526001600560006101000a81548160ff0219169083151502179055506001600560016101000a81548160ff0219169083151502179055506000600560026101000a81548160ff0219169083151502179055506000600d556001600e60146101000a81548160ff0219169083151502179055506001600e60156101000a81548160ff021916908315150217905550662386f26fc10000600f55670de0b6b3a764000060105560006011556001601455348015620000be57600080fd5b5033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506007600b60006101000a81548160ff021916908360ff160217905550600b60009054906101000a900460ff1660ff16600a0a61190002600081905550600b60009054906101000a900460ff1660ff16600a0a620f42400260018190555042600481905550600054600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001fc336200029e60201b60201c565b6040518060400160405280600c81526020017f48656c6978204e6562756c610000000000000000000000000000000000000000815250600a908051906020019062000249929190620003ed565b506040518060400160405280600281526020017f554e000000000000000000000000000000000000000000000000000000000000815250600c908051906020019062000297929190620003ed565b506200049c565b60008090505b6007805490508110156200033b578173ffffffffffffffffffffffffffffffffffffffff1660078281548110620002d757fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156200032d5750620003ea565b8080600101915050620002a4565b5060076040518060400160405280600081526020018373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200043057805160ff191683800117855562000461565b8280016001018555821562000461579182015b828111156200046057825182559160200191906001019062000443565b5b50905062000470919062000474565b5090565b6200049991905b80821115620004955760008160009055506001016200047b565b5090565b90565b615fd780620004ac6000396000f3fe6080604052600436106102925760003560e01c8063729e870b1161015a578063b5d89be3116100c1578063da58c7d91161007a578063da58c7d9146115cb578063dc10ca2514611654578063dd62ed3e14611683578063def4d25314611708578063e6ec60a414611751578063f2fde38b146117d357610292565b8063b5d89be314611285578063ba4e92c91461130e578063bd80c7ae14611390578063bf9303f81461150c578063c2a704ab14611571578063c6659941146115a057610292565b8063a0a3861d11610113578063a0a3861d14611095578063a829e3ee146110ec578063a9059cbb14611170578063aef1bfd7146111e3578063b36c12841461120e578063b384abef1461123957610292565b8063729e870b14610d7e57806377cf50a414610edf578063800c634714610f1c5780638da5cb5b14610f7357806395d89b4114610fca5780639d1187701461105a57610292565b80633afd497c116101fe5780635f8f346f116101b75780635f8f346f14610a4157806361782c8414610a7057806361b8ce8c14610a9f57806362c1866614610aca578063669edc4014610af957806370a0823114610d1957610292565b80633afd497c146106875780634245b0f7146106f057806342966c681461071b5780634356fc0414610756578063515a6fa41461096b5780635c658165146109bc57610292565b80631feed296116102505780631feed2961461048457806323b872dd146104da5780632777e69a1461056d57806327e235e3146105a8578063313ce5671461060d57806333466b2d1461063e57610292565b80627226441461029757806306fdde03146102c6578063095ea7b31461035657806318160ddd146103c95780631d681516146103f45780631f1532f01461041f575b600080fd5b3480156102a357600080fd5b506102ac611824565b604051808215151515815260200191505060405180910390f35b3480156102d257600080fd5b506102db611837565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561031b578082015181840152602081019050610300565b50505050905090810190601f1680156103485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036257600080fd5b506103af6004803603604081101561037957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118d5565b604051808215151515815260200191505060405180910390f35b3480156103d557600080fd5b506103de6119c7565b6040518082815260200191505060405180910390f35b34801561040057600080fd5b506104096119cd565b6040518082815260200191505060405180910390f35b34801561042b57600080fd5b5061046e6004803603602081101561044257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119d3565b6040518082815260200191505060405180910390f35b34801561049057600080fd5b506104bd600480360360208110156104a757600080fd5b8101908080359060200190929190505050611ad6565b604051808381526020018281526020019250505060405180910390f35b3480156104e657600080fd5b50610553600480360360608110156104fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c11565b604051808215151515815260200191505060405180910390f35b34801561057957600080fd5b506105a66004803603602081101561059057600080fd5b81019080803590602001909291905050506121d7565b005b3480156105b457600080fd5b506105f7600480360360208110156105cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123cb565b6040518082815260200191505060405180910390f35b34801561061957600080fd5b506106226123e3565b604051808260ff1660ff16815260200191505060405180910390f35b34801561064a57600080fd5b506106856004803603604081101561066157600080fd5b810190808035151590602001909291908035151590602001909291905050506123f6565b005b34801561069357600080fd5b506106d6600480360360208110156106aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612488565b604051808215151515815260200191505060405180910390f35b3480156106fc57600080fd5b50610705612561565b6040518082815260200191505060405180910390f35b34801561072757600080fd5b506107546004803603602081101561073e57600080fd5b8101908080359060200190929190505050612876565b005b34801561076257600080fd5b5061078f6004803603602081101561077957600080fd5b81019080803590602001909291905050506129e9565b604051808b8152602001806020018a8152602001898152602001888152602001806020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184810384528d818151815260200191508051906020019080838360005b8381101561085957808201518184015260208101905061083e565b50505050905090810190601f1680156108865780820380516001836020036101000a031916815260200191505b50848103835289818151815260200191508051906020019080838360005b838110156108bf5780820151818401526020810190506108a4565b50505050905090810190601f1680156108ec5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561092557808201518184015260208101905061090a565b50505050905090810190601f1680156109525780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561097757600080fd5b506109ba6004803603602081101561098e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c52565b005b3480156109c857600080fd5b50610a2b600480360360408110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cf0565b6040518082815260200191505060405180910390f35b348015610a4d57600080fd5b50610a56612d15565b604051808215151515815260200191505060405180910390f35b348015610a7c57600080fd5b50610a85612d28565b604051808215151515815260200191505060405180910390f35b348015610aab57600080fd5b50610ab4612d61565b6040518082815260200191505060405180910390f35b348015610ad657600080fd5b50610adf612d67565b604051808215151515815260200191505060405180910390f35b348015610b0557600080fd5b50610d17600480360360a0811015610b1c57600080fd5b8101908080359060200190640100000000811115610b3957600080fd5b820183602082011115610b4b57600080fd5b80359060200191846001830284011164010000000083111715610b6d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190640100000000811115610bda57600080fd5b820183602082011115610bec57600080fd5b80359060200191846001830284011164010000000083111715610c0e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610c9157600080fd5b820183602082011115610ca357600080fd5b80359060200191846001830284011164010000000083111715610cc557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d7a565b005b348015610d2557600080fd5b50610d6860048036036020811015610d3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613167565b6040518082815260200191505060405180910390f35b348015610d8a57600080fd5b50610db760048036036020811015610da157600080fd5b81019080803590602001909291905050506131b0565b6040518086815260200180602001806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019080838360005b83811015610e39578082015181840152602081019050610e1e565b50505050905090810190601f168015610e665780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015610e9f578082015181840152602081019050610e84565b50505050905090810190601f168015610ecc5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b348015610eeb57600080fd5b50610f1a60048036036020811015610f0257600080fd5b81019080803515159060200190929190505050613419565b005b348015610f2857600080fd5b50610f31613490565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f7f57600080fd5b50610f886134b6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fd657600080fd5b50610fdf6134dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561101f578082015181840152602081019050611004565b50505050905090810190601f16801561104c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561106657600080fd5b506110936004803603602081101561107d57600080fd5b810190808035906020019092919050505061357a565b005b3480156110a157600080fd5b506110aa6135ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61115a6004803603606081101561110257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613614565b6040518082815260200191505060405180910390f35b34801561117c57600080fd5b506111c96004803603604081101561119357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613dd1565b604051808215151515815260200191505060405180910390f35b3480156111ef57600080fd5b506111f861414e565b6040518082815260200191505060405180910390f35b34801561121a57600080fd5b50611223614154565b6040518082815260200191505060405180910390f35b61126f6004803603604081101561124f57600080fd5b81019080803590602001909291908035906020019092919050505061415a565b6040518082815260200191505060405180910390f35b34801561129157600080fd5b506112f4600480360360408110156112a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614438565b604051808215151515815260200191505060405180910390f35b34801561131a57600080fd5b506113476004803603602081101561133157600080fd5b8101908080359060200190929190505050614590565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561139c57600080fd5b506113dd600480360360608110156113b357600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506145e1565b6040518080602001806020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001838103835289818151815260200191508051906020019080838360005b8381101561146557808201518184015260208101905061144a565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156114cb5780820151818401526020810190506114b0565b50505050905090810190601f1680156114f85780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561151857600080fd5b5061155b6004803603602081101561152f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614b20565b6040518082815260200191505060405180910390f35b34801561157d57600080fd5b50611586614be6565b604051808215151515815260200191505060405180910390f35b3480156115ac57600080fd5b506115b5614bf9565b6040518082815260200191505060405180910390f35b3480156115d757600080fd5b50611604600480360360208110156115ee57600080fd5b8101908080359060200190929190505050614c02565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b34801561166057600080fd5b50611669614c59565b604051808215151515815260200191505060405180910390f35b34801561168f57600080fd5b506116f2600480360360408110156116a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614c6c565b6040518082815260200191505060405180910390f35b34801561171457600080fd5b5061174f6004803603604081101561172b57600080fd5b81019080803515159060200190929190803515159060200190929190505050614cf3565b005b34801561175d57600080fd5b5061178a6004803603602081101561177457600080fd5b8101908080359060200190929190505050614d85565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b3480156117df57600080fd5b50611822600480360360208110156117f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614dd6565b005b600e60159054906101000a900460ff1681565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b505050505081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60045481565b600080600090505b600780549050811015611acb578273ffffffffffffffffffffffffffffffffffffffff1660078281548110611a0c57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611abe574260078281548110611a6857fe5b90600052602060002090600202016000015411611a89576000915050611ad1565b620151804260078381548110611a9b57fe5b9060005260206000209060020201600001540381611ab557fe5b04915050611ad1565b80806001019150506119db565b50600090505b919050565b6000806000600f54905060008090506000611af086614eb5565b905060008090505b601280549050811015611be4578660128281548110611b1357fe5b906000526020600020906003020160000154148015611b9b57503373ffffffffffffffffffffffffffffffffffffffff1660128281548110611b5157fe5b906000526020600020906003020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611bd7576000831115611bc057611bbd600285614f7a90919063ffffffff16565b93505b611bd460018461500f90919063ffffffff16565b92505b8080600101915050611af8565b5060138181548110611bf257fe5b90600052602060002090600a0201600301548394509450505050915091565b6000801515611c1f84612488565b151514611c94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60001515611ca185612488565b151514611d16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60011515600560019054906101000a900460ff16151514611d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5472616e7366657246726f6d204973204e6f7420417661696c61626c6500000081525060200191505060405180910390fd5b60001515611dad8585614438565b151514611e22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546865206c6971756964697479206973206c6f636b656400000000000000000081525060200191505060405180910390fd5b6000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611ef25750828110155b611efb57600080fd5b611f4d83600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fe283600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202e84615115565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015612166576120e583600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008090505b600880549050811015612311573373ffffffffffffffffffffffffffffffffffffffff166008828154811061220e57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561230457426008828154811061226a57fe5b90600052602060002090600202016000015411156122d157610e1060188302026008828154811061229757fe5b90600052602060002090600202016000015401600882815481106122b757fe5b9060005260206000209060020201600001819055506122fe565b610e1060188302024201600882815481106122e857fe5b9060005260206000209060020201600001819055505b506123c8565b80806001019150506121dd565b5060086040518060400160405280610e106018850202420181526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b60036020528060005260406000206000915090505481565b600b60009054906101000a900460ff1681565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245057600080fd5b81600560006101000a81548160ff02191690831515021790555080600560016101000a81548160ff0219169083151502179055505050565b600080600090505b600880549050811015612556578273ffffffffffffffffffffffffffffffffffffffff16600882815481106124c157fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561254957426008828154811061251d57fe5b906000526020600020906002020160000154111561253f57600191505061255c565b600091505061255c565b8080600101915050612490565b50600090505b919050565b600061256b612d28565b6125c0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526048815260200180615ee46048913960600191505060405180910390fd5b6064600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411612658576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526050815260200180615f536050913960600191505060405180910390fd5b6001546103e860005401106126d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f766572204d6178537570706c7900000000000000000000000000000000000081525060200191505060405180910390fd5b6126dd612d28565b156128725760036126ec61525f565b14156128485761275d600b60009054906101000a900460ff1660ff16600a0a6103e802600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ce600b60009054906101000a900460ff1660ff16600a0a6103e80260005461500f90919063ffffffff16565b600081905550600d6000815480929190600101919050555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900460ff1660ff16600a0a6103e8029050612873565b612869600b60009054906101000a900460ff1660ff16600a0a600a02612876565b60009050612873565b5b90565b600081141561288457600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156128d057600080fd5b6128e58160005461509290919063ffffffff16565b60008190555061293d81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b601381815481106129f657fe5b90600052602060002090600a0201600091509050806000015490806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612aa85780601f10612a7d57610100808354040283529160200191612aa8565b820191906000526020600020905b815481529060010190602001808311612a8b57829003601f168201915b505050505090806002015490806003015490806004015490806005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b585780601f10612b2d57610100808354040283529160200191612b58565b820191906000526020600020905b815481529060010190602001808311612b3b57829003601f168201915b5050505050908060060154908060070160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806009018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c485780601f10612c1d57610100808354040283529160200191612c48565b820191906000526020600020905b815481529060010190602001808311612c2b57829003601f168201915b505050505090508a565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cac57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6009602052816000526040600020602052806000526040600020600091509150505481565b600560019054906101000a900460ff1681565b60008060045442039050600062278d008281612d4057fe5b049050600d548110612d5757600192505050612d5e565b6000925050505b90565b60145481565b600e60149054906101000a900460ff1681565b60011515600e60149054906101000a900460ff16151514612e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f41646453746f7279204973204e6f7420417661696c61626c650000000000000081525060200191505060405180910390fd5b6060839050600081511415612e80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6e756c6c2073746f72790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6013604051806101400160405280601454815260200188815260200187815260200160008152602001600081526020018681526020014281526020018573ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001848152509080600181540180825580915050906001820390600052602060002090600a020160009091929091909150600082015181600001556020820151816001019080519060200190612f49929190615bf3565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005019080519060200190612f84929190615bf3565b5060c0820151816006015560e08201518160070160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012082015181600901908051906020019061303b929190615bf3565b505050506000601360008154811061304f57fe5b90600052602060002090600a02016006015442039050600062015180828161307357fe5b049050603c8111156130b2576130a7601360008154811061309057fe5b90600052602060002090600a020160000154615303565b6130b160006153a3565b5b60008090505b60138054905081101561314a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c601382815481106130f357fe5b90600052602060002090600a020160030154121561313d576131326013828154811061311b57fe5b90600052602060002090600a020160000154615303565b61313c60006153a3565b5b80806001019150506130b8565b506014600081548092919060010191905055505050505050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000606080600080600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461321257600080fd5b6013868154811061321f57fe5b90600052602060002090600a0201600001546013878154811061323e57fe5b90600052602060002090600a02016001016013888154811061325c57fe5b90600052602060002090600a02016005016013898154811061327a57fe5b90600052602060002090600a02016002015460138a8154811061329957fe5b90600052602060002090600a020160070160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133605780601f1061333557610100808354040283529160200191613360565b820191906000526020600020905b81548152906001019060200180831161334357829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133fc5780601f106133d1576101008083540402835291602001916133fc565b820191906000526020600020905b8154815290600101906020018083116133df57829003601f168201915b505050505092508090509450945094509450945091939590929450565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461347357600080fd5b80600560026101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156135725780601f1061354757610100808354040283529160200191613572565b820191906000526020600020905b81548152906001019060200180831161355557829003601f168201915b505050505081565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135d457600080fd5b60006135df82614eb5565b90506135ea816153a3565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080341161368b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f7265717569726528455448203e2030290000000000000000000000000000000081525060200191505060405180910390fd5b60008090506000809050600061369f61525f565b905060006136ab615672565b90506001151586151514156136d0576136cd818461500f90919063ffffffff16565b92505b6136e58282028461500f90919063ffffffff16565b9250600080905060008090505b6007805490508110156137c457426007828154811061370d57fe5b9060005260206000209060020201600001541080156137a957506000600360006007848154811061373a57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156137b75785806001019650505b80806001019150506136f2565b50600085146137da578484816137d657fe5b0490505b60008090505b600780549050811015613ae45742600782815481106137fb57fe5b90600052602060002090600202016000015410801561389757506000600360006007848154811061382857fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b801561390d57503373ffffffffffffffffffffffffffffffffffffffff16600782815481106138c257fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156139a55750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166007828154811061395a57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15613ad757613a3a8260036000600785815481106139bf57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461590e90919063ffffffff16565b6003600060078481548110613a4b57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ad08260005461590e90919063ffffffff16565b6000819055505b80806001019150506137e0565b5060015482600054011015613c9457600115158715151415613bba57613b0988615115565b613b5b82600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bb38260005461500f90919063ffffffff16565b6000819055505b613c0e838302600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c6883830260005461500f90919063ffffffff16565b6000819055506000601054601e6018610e103402020281613c8557fe5b049050613c92338261592d565b505b8873ffffffffffffffffffffffffffffffffffffffff166108fc600a6009340281613cbb57fe5b049081150290604051600060405180830381858888f19350505050158015613ce7573d6000803e3d6000fd5b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a3481613d2e57fe5b049081150290604051600060405180830381858888f19350505050158015613d5a573d6000803e3d6000fd5b508873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f345bd43e50733133f9dffd6ef91600c04212ab7150375f27ffd38b966f9d22fe346040518082815260200191505060405180910390a3828202955050505050509392505050565b6000801515613ddf84612488565b151514613e54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60011515600560009054906101000a900460ff16151514613edd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5472616e73666572204973204e6f7420417661696c61626c650000000000000081525060200191505060405180910390fd5b60001515613eeb3385614438565b151514613f60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546865206c6971756964697479206973206c6f636b656400000000000000000081525060200191505060405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613fac57600080fd5b613ffe82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061409382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506140df83615115565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600d5481565b60015481565b600080600090506000600f54905060008090505b60128054905081101561425a57856012828154811061418957fe5b90600052602060002090600302016000015414801561421157503373ffffffffffffffffffffffffffffffffffffffff16601282815481106141c757fe5b906000526020600020906003020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561424d57600083111561423657614233600283614f7a90919063ffffffff16565b91505b61424a60018461500f90919063ffffffff16565b92505b808060010191505061416e565b5080341061442b57600061426d86614eb5565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156142d7573d6000803e3d6000fd5b506142e133615115565b600185141561431d57601381815481106142f757fe5b90600052602060002090600a02016003016000815480929190600101919050555061434d565b6013818154811061432a57fe5b90600052602060002090600a020160030160008154809291906001900391905055505b601260405180606001604052808881526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016001815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201555050506000620d2f00905061441c338261592d565b60028302945050505050614432565b6000925050505b92915050565b6000801515600560029054906101000a900460ff161515141561445e576000905061458a565b60008090505b600780549050811015614525578373ffffffffffffffffffffffffffffffffffffffff166007828154811061449557fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156145185742600782815481106144f157fe5b906000526020600020906002020160000154111561451357600091505061458a565b614525565b8080600101915050614464565b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614585576001905061458a565b600090505b92915050565b6008818154811061459d57fe5b90600052602060002090600202016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b60608060008060008060606013805490506040519080825280602002602001820160405280156146205781602001602082028038833980820191505090505b509050600080905060008090505b60138054905081101561471457896013828154811061464957fe5b90600052602060002090600a0201600201541461467f57600083828151811061466e57fe5b602002602001018181525050614707565b60006146a86013838154811061469157fe5b90600052602060002090600a020160060154615b92565b90506000600a601384815481106146bb57fe5b90600052602060002090600a0201600301540290506000818301905060008112156146e557600190505b808685815181106146f257fe5b60200260200101818152505080850194505050505b808060010191505061462e565b5060008a61472b838e614f7a90919063ffffffff16565b8161473257fe5b049050600080905060008090505b8451811015614a9957828210801561476c575084818151811061475f57fe5b6020026020010151820183105b801561478c5750600085828151811061478157fe5b602002602001015114155b15614a64576000601382815481106147a057fe5b90600052602060002090600a0201600601544203905060006201518082816147c457fe5b049050600081603c0311156149e357601383815481106147e057fe5b90600052602060002090600a0201600101601384815481106147fe57fe5b90600052602060002090600a02016005016013858154811061481c57fe5b90600052602060002090600a0201600301546013868154811061483b57fe5b90600052602060002090600a020160070160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166013878154811061487a57fe5b90600052602060002090600a02016000015485603c03858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149255780601f106148fa57610100808354040283529160200191614925565b820191906000526020600020905b81548152906001019060200180831161490857829003601f168201915b50505050509550848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149c15780601f10614996576101008083540402835291602001916149c1565b820191906000526020600020905b8154815290600101906020018083116149a457829003601f168201915b505050505094508292509c509c509c509c509c509c5050505050505050614b14565b6000336000806040518060400160405280600781526020017f50726f626c656d0000000000000000000000000000000000000000000000000081525093929190604051806060016040528060278152602001615f2c60279139939291908393508292508191508090509c509c509c509c509c509c5050505050505050614b14565b614a8a858281518110614a7357fe5b60200260200101518361500f90919063ffffffff16565b91508080600101915050614740565b506000336000806040518060400160405280600881526020017f4e6f2053746f7279000000000000000000000000000000000000000000000000815250939291906040518060c0016040528060858152602001615e5f6085913993929190839350829250819150809050995099509950995099509950505050505b93975093979195509350565b600080600090505b600880549050811015614bdb578273ffffffffffffffffffffffffffffffffffffffff1660088281548110614b5957fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614bce5760088181548110614bb457fe5b906000526020600020906002020160000154915050614be1565b8080600101915050614b28565b50600090505b919050565b600560029054906101000a900460ff1681565b60008054905090565b60128181548110614c0f57fe5b90600052602060002090600302016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600560009054906101000a900460ff1681565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614d4d57600080fd5b81600e60146101000a81548160ff02191690831515021790555080600e60156101000a81548160ff0219169083151502179055505050565b60078181548110614d9257fe5b90600052602060002090600202016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e3057600080fd5b80600560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090505b601380549050811015614f06578260138281548110614ed857fe5b90600052602060002090600a0201600001541415614ef95780915050614f75565b8080600101915050614ebd565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5573657220646f6573206e6f742065786973742100000000000000000000000081525060200191505060405180910390fd5b919050565b600080821480614f975750828283850292508281614f9457fe5b04145b615009576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828401915081101561508c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828403915081111561510f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008090505b6007805490508110156151ad578173ffffffffffffffffffffffffffffffffffffffff166007828154811061514c57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156151a0575061525c565b808060010191505061511b565b5060076040518060400160405280600081526020018373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b6000806064423344600054604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012060001c816152de57fe5b06905060018101905060358114156152fa576003915050615300565b60019150505b90565b60008090505b60128054905081101561539f57816012828154811061532457fe5b9060005260206000209060030201600001541415615392576012818154811061534957fe5b90600052602060002090600302016000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905550505b8080600101915050615309565b5050565b60138054905081106153b45761566f565b60008190505b60016013805490500381101561558b57601360018201815481106153da57fe5b90600052602060002090600a0201601382815481106153f557fe5b90600052602060002090600a02016000820154816000015560018201816001019080546001816001161561010002031660029004615434929190615c73565b506002820154816002015560038201548160030155600482015481600401556005820181600501908054600181600116156101000203166002900461547a929190615c73565b50600682015481600601556007820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160070160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009820181600901908054600181600116156101000203166002900461557a929190615c73565b5090505080806001019150506153ba565b506013600160138054905003815481106155a157fe5b90600052602060002090600a02016000808201600090556001820160006155c89190615cfa565b6002820160009055600382016000905560048201600090556005820160006155f09190615cfa565b60068201600090556007820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556008820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556009820160006156569190615cfa565b5050601380548091906001900361566d9190615d42565b505b50565b600080620151809050601e81026156946004544261509290919063ffffffff16565b10156156e8576010546156d8600a6156ca600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b816156df57fe5b0491505061590b565b603c81026157016004544261509290919063ffffffff16565b1015615755576010546157456008615737600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161574c57fe5b0491505061590b565b605a810261576e6004544261509290919063ffffffff16565b10156157c2576010546157b260066157a4600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b816157b957fe5b0491505061590b565b607881026157db6004544261509290919063ffffffff16565b101561582f5760105461581f6004615811600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161582657fe5b0491505061590b565b609681026158486004544261509290919063ffffffff16565b101561589c5760105461588c600261587e600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161589357fe5b0491505061590b565b609681026158b56004544261509290919063ffffffff16565b1115615909576010546158f960016158eb600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161590057fe5b0491505061590b565b505b90565b600081831115615922578183039050615927565b600090505b92915050565b60008090505b600780549050811015615ade578273ffffffffffffffffffffffffffffffffffffffff166007828154811061596457fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415615ad157600b60009054906101000a900460ff1660ff16600a0a61271002600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015615acb578142018260078381548110615a2357fe5b906000526020600020906002020160000154011115615a9457615a6d8260078381548110615a4d57fe5b90600052602060002090600202016000015461500f90919063ffffffff16565b60078281548110615a7a57fe5b906000526020600020906002020160000181905550615aca565b615aa7428361500f90919063ffffffff16565b60078281548110615ab457fe5b9060005260206000209060020201600001819055505b5b50615b8e565b8080600101915050615933565b506007604051806040016040528083420181526020018473ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b5050565b600080615ba8834261509290919063ffffffff16565b90506000620151808281615bb857fe5b0490506000615bd160018361500f90919063ffffffff16565b90506000816002836078030a81615be457fe5b04905080945050505050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615c3457805160ff1916838001178555615c62565b82800160010185558215615c62579182015b82811115615c61578251825591602001919060010190615c46565b5b509050615c6f9190615d74565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615cac5780548555615ce9565b82800160010185558215615ce957600052602060002091601f016020900482015b82811115615ce8578254825591600101919060010190615ccd565b5b509050615cf69190615d74565b5090565b50805460018160011615610100020316600290046000825580601f10615d205750615d3f565b601f016020900490600052602060002090810190615d3e9190615d74565b5b50565b815481835581811115615d6f57600a0281600a028360005260206000209182019101615d6e9190615d99565b5b505050565b615d9691905b80821115615d92576000816000905550600101615d7a565b5090565b90565b615e5b91905b80821115615e5757600080820160009055600182016000615dc09190615cfa565b600282016000905560038201600090556004820160009055600582016000615de89190615cfa565b60068201600090556007820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556008820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600982016000615e4e9190615cfa565b50600a01615d9f565b5090565b9056fe496620796f752073656520746869732073746f7279206974206d65616e732074686174207468657265206973206e6f2073746f727920696e2074686973206c616e67756167652c20696620796f75206b6e6f7720736f6d65206f6e65206e656564732068656c702c2061736b207468656d20746f206164642061206e65772073746f72792e54686973206d6f6e74682773206c6f7474657279206973206f76657220616e6420736f6d656f6e652068617320776f6e2e20506c656173652074727920616761696e206c61746572576520686176652070726f626c656d202e20706c65617365207265666572736820616761696e2e596f752073686f756c642068617665206174206c65617374203130302048656c6978204e6562756c6120746f6b656e7320746f20706172746963697061746520696e20746865206c6f74746572792e20a265627a7a7231582083870e777f0957850cda7ab3047a5bf32284e682f3874c92e838b566add6898764736f6c63430005110032
Deployed Bytecode
0x6080604052600436106102925760003560e01c8063729e870b1161015a578063b5d89be3116100c1578063da58c7d91161007a578063da58c7d9146115cb578063dc10ca2514611654578063dd62ed3e14611683578063def4d25314611708578063e6ec60a414611751578063f2fde38b146117d357610292565b8063b5d89be314611285578063ba4e92c91461130e578063bd80c7ae14611390578063bf9303f81461150c578063c2a704ab14611571578063c6659941146115a057610292565b8063a0a3861d11610113578063a0a3861d14611095578063a829e3ee146110ec578063a9059cbb14611170578063aef1bfd7146111e3578063b36c12841461120e578063b384abef1461123957610292565b8063729e870b14610d7e57806377cf50a414610edf578063800c634714610f1c5780638da5cb5b14610f7357806395d89b4114610fca5780639d1187701461105a57610292565b80633afd497c116101fe5780635f8f346f116101b75780635f8f346f14610a4157806361782c8414610a7057806361b8ce8c14610a9f57806362c1866614610aca578063669edc4014610af957806370a0823114610d1957610292565b80633afd497c146106875780634245b0f7146106f057806342966c681461071b5780634356fc0414610756578063515a6fa41461096b5780635c658165146109bc57610292565b80631feed296116102505780631feed2961461048457806323b872dd146104da5780632777e69a1461056d57806327e235e3146105a8578063313ce5671461060d57806333466b2d1461063e57610292565b80627226441461029757806306fdde03146102c6578063095ea7b31461035657806318160ddd146103c95780631d681516146103f45780631f1532f01461041f575b600080fd5b3480156102a357600080fd5b506102ac611824565b604051808215151515815260200191505060405180910390f35b3480156102d257600080fd5b506102db611837565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561031b578082015181840152602081019050610300565b50505050905090810190601f1680156103485780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036257600080fd5b506103af6004803603604081101561037957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118d5565b604051808215151515815260200191505060405180910390f35b3480156103d557600080fd5b506103de6119c7565b6040518082815260200191505060405180910390f35b34801561040057600080fd5b506104096119cd565b6040518082815260200191505060405180910390f35b34801561042b57600080fd5b5061046e6004803603602081101561044257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119d3565b6040518082815260200191505060405180910390f35b34801561049057600080fd5b506104bd600480360360208110156104a757600080fd5b8101908080359060200190929190505050611ad6565b604051808381526020018281526020019250505060405180910390f35b3480156104e657600080fd5b50610553600480360360608110156104fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c11565b604051808215151515815260200191505060405180910390f35b34801561057957600080fd5b506105a66004803603602081101561059057600080fd5b81019080803590602001909291905050506121d7565b005b3480156105b457600080fd5b506105f7600480360360208110156105cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123cb565b6040518082815260200191505060405180910390f35b34801561061957600080fd5b506106226123e3565b604051808260ff1660ff16815260200191505060405180910390f35b34801561064a57600080fd5b506106856004803603604081101561066157600080fd5b810190808035151590602001909291908035151590602001909291905050506123f6565b005b34801561069357600080fd5b506106d6600480360360208110156106aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612488565b604051808215151515815260200191505060405180910390f35b3480156106fc57600080fd5b50610705612561565b6040518082815260200191505060405180910390f35b34801561072757600080fd5b506107546004803603602081101561073e57600080fd5b8101908080359060200190929190505050612876565b005b34801561076257600080fd5b5061078f6004803603602081101561077957600080fd5b81019080803590602001909291905050506129e9565b604051808b8152602001806020018a8152602001898152602001888152602001806020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184810384528d818151815260200191508051906020019080838360005b8381101561085957808201518184015260208101905061083e565b50505050905090810190601f1680156108865780820380516001836020036101000a031916815260200191505b50848103835289818151815260200191508051906020019080838360005b838110156108bf5780820151818401526020810190506108a4565b50505050905090810190601f1680156108ec5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561092557808201518184015260208101905061090a565b50505050905090810190601f1680156109525780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561097757600080fd5b506109ba6004803603602081101561098e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c52565b005b3480156109c857600080fd5b50610a2b600480360360408110156109df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612cf0565b6040518082815260200191505060405180910390f35b348015610a4d57600080fd5b50610a56612d15565b604051808215151515815260200191505060405180910390f35b348015610a7c57600080fd5b50610a85612d28565b604051808215151515815260200191505060405180910390f35b348015610aab57600080fd5b50610ab4612d61565b6040518082815260200191505060405180910390f35b348015610ad657600080fd5b50610adf612d67565b604051808215151515815260200191505060405180910390f35b348015610b0557600080fd5b50610d17600480360360a0811015610b1c57600080fd5b8101908080359060200190640100000000811115610b3957600080fd5b820183602082011115610b4b57600080fd5b80359060200191846001830284011164010000000083111715610b6d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919080359060200190640100000000811115610bda57600080fd5b820183602082011115610bec57600080fd5b80359060200191846001830284011164010000000083111715610c0e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610c9157600080fd5b820183602082011115610ca357600080fd5b80359060200191846001830284011164010000000083111715610cc557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d7a565b005b348015610d2557600080fd5b50610d6860048036036020811015610d3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613167565b6040518082815260200191505060405180910390f35b348015610d8a57600080fd5b50610db760048036036020811015610da157600080fd5b81019080803590602001909291905050506131b0565b6040518086815260200180602001806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019080838360005b83811015610e39578082015181840152602081019050610e1e565b50505050905090810190601f168015610e665780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015610e9f578082015181840152602081019050610e84565b50505050905090810190601f168015610ecc5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b348015610eeb57600080fd5b50610f1a60048036036020811015610f0257600080fd5b81019080803515159060200190929190505050613419565b005b348015610f2857600080fd5b50610f31613490565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610f7f57600080fd5b50610f886134b6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610fd657600080fd5b50610fdf6134dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561101f578082015181840152602081019050611004565b50505050905090810190601f16801561104c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561106657600080fd5b506110936004803603602081101561107d57600080fd5b810190808035906020019092919050505061357a565b005b3480156110a157600080fd5b506110aa6135ee565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61115a6004803603606081101561110257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613614565b6040518082815260200191505060405180910390f35b34801561117c57600080fd5b506111c96004803603604081101561119357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613dd1565b604051808215151515815260200191505060405180910390f35b3480156111ef57600080fd5b506111f861414e565b6040518082815260200191505060405180910390f35b34801561121a57600080fd5b50611223614154565b6040518082815260200191505060405180910390f35b61126f6004803603604081101561124f57600080fd5b81019080803590602001909291908035906020019092919050505061415a565b6040518082815260200191505060405180910390f35b34801561129157600080fd5b506112f4600480360360408110156112a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614438565b604051808215151515815260200191505060405180910390f35b34801561131a57600080fd5b506113476004803603602081101561133157600080fd5b8101908080359060200190929190505050614590565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b34801561139c57600080fd5b506113dd600480360360608110156113b357600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506145e1565b6040518080602001806020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001838103835289818151815260200191508051906020019080838360005b8381101561146557808201518184015260208101905061144a565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b50838103825288818151815260200191508051906020019080838360005b838110156114cb5780820151818401526020810190506114b0565b50505050905090810190601f1680156114f85780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b34801561151857600080fd5b5061155b6004803603602081101561152f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614b20565b6040518082815260200191505060405180910390f35b34801561157d57600080fd5b50611586614be6565b604051808215151515815260200191505060405180910390f35b3480156115ac57600080fd5b506115b5614bf9565b6040518082815260200191505060405180910390f35b3480156115d757600080fd5b50611604600480360360208110156115ee57600080fd5b8101908080359060200190929190505050614c02565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b34801561166057600080fd5b50611669614c59565b604051808215151515815260200191505060405180910390f35b34801561168f57600080fd5b506116f2600480360360408110156116a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614c6c565b6040518082815260200191505060405180910390f35b34801561171457600080fd5b5061174f6004803603604081101561172b57600080fd5b81019080803515159060200190929190803515159060200190929190505050614cf3565b005b34801561175d57600080fd5b5061178a6004803603602081101561177457600080fd5b8101908080359060200190929190505050614d85565b604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b3480156117df57600080fd5b50611822600480360360208110156117f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614dd6565b005b600e60159054906101000a900460ff1681565b600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b505050505081565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b60045481565b600080600090505b600780549050811015611acb578273ffffffffffffffffffffffffffffffffffffffff1660078281548110611a0c57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611abe574260078281548110611a6857fe5b90600052602060002090600202016000015411611a89576000915050611ad1565b620151804260078381548110611a9b57fe5b9060005260206000209060020201600001540381611ab557fe5b04915050611ad1565b80806001019150506119db565b50600090505b919050565b6000806000600f54905060008090506000611af086614eb5565b905060008090505b601280549050811015611be4578660128281548110611b1357fe5b906000526020600020906003020160000154148015611b9b57503373ffffffffffffffffffffffffffffffffffffffff1660128281548110611b5157fe5b906000526020600020906003020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15611bd7576000831115611bc057611bbd600285614f7a90919063ffffffff16565b93505b611bd460018461500f90919063ffffffff16565b92505b8080600101915050611af8565b5060138181548110611bf257fe5b90600052602060002090600a0201600301548394509450505050915091565b6000801515611c1f84612488565b151514611c94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60001515611ca185612488565b151514611d16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60011515600560019054906101000a900460ff16151514611d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5472616e7366657246726f6d204973204e6f7420417661696c61626c6500000081525060200191505060405180910390fd5b60001515611dad8585614438565b151514611e22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546865206c6971756964697479206973206c6f636b656400000000000000000081525060200191505060405180910390fd5b6000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611ef25750828110155b611efb57600080fd5b611f4d83600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fe283600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061202e84615115565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015612166576120e583600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60008090505b600880549050811015612311573373ffffffffffffffffffffffffffffffffffffffff166008828154811061220e57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561230457426008828154811061226a57fe5b90600052602060002090600202016000015411156122d157610e1060188302026008828154811061229757fe5b90600052602060002090600202016000015401600882815481106122b757fe5b9060005260206000209060020201600001819055506122fe565b610e1060188302024201600882815481106122e857fe5b9060005260206000209060020201600001819055505b506123c8565b80806001019150506121dd565b5060086040518060400160405280610e106018850202420181526020013373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b60036020528060005260406000206000915090505481565b600b60009054906101000a900460ff1681565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245057600080fd5b81600560006101000a81548160ff02191690831515021790555080600560016101000a81548160ff0219169083151502179055505050565b600080600090505b600880549050811015612556578273ffffffffffffffffffffffffffffffffffffffff16600882815481106124c157fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561254957426008828154811061251d57fe5b906000526020600020906002020160000154111561253f57600191505061255c565b600091505061255c565b8080600101915050612490565b50600090505b919050565b600061256b612d28565b6125c0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526048815260200180615ee46048913960600191505060405180910390fd5b6064600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411612658576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526050815260200180615f536050913960600191505060405180910390fd5b6001546103e860005401106126d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f4f766572204d6178537570706c7900000000000000000000000000000000000081525060200191505060405180910390fd5b6126dd612d28565b156128725760036126ec61525f565b14156128485761275d600b60009054906101000a900460ff1660ff16600a0a6103e802600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ce600b60009054906101000a900460ff1660ff16600a0a6103e80260005461500f90919063ffffffff16565b600081905550600d6000815480929190600101919050555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900460ff1660ff16600a0a6103e8029050612873565b612869600b60009054906101000a900460ff1660ff16600a0a600a02612876565b60009050612873565b5b90565b600081141561288457600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156128d057600080fd5b6128e58160005461509290919063ffffffff16565b60008190555061293d81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350565b601381815481106129f657fe5b90600052602060002090600a0201600091509050806000015490806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612aa85780601f10612a7d57610100808354040283529160200191612aa8565b820191906000526020600020905b815481529060010190602001808311612a8b57829003601f168201915b505050505090806002015490806003015490806004015490806005018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612b585780601f10612b2d57610100808354040283529160200191612b58565b820191906000526020600020905b815481529060010190602001808311612b3b57829003601f168201915b5050505050908060060154908060070160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806009018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612c485780601f10612c1d57610100808354040283529160200191612c48565b820191906000526020600020905b815481529060010190602001808311612c2b57829003601f168201915b505050505090508a565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cac57600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6009602052816000526040600020602052806000526040600020600091509150505481565b600560019054906101000a900460ff1681565b60008060045442039050600062278d008281612d4057fe5b049050600d548110612d5757600192505050612d5e565b6000925050505b90565b60145481565b600e60149054906101000a900460ff1681565b60011515600e60149054906101000a900460ff16151514612e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f41646453746f7279204973204e6f7420417661696c61626c650000000000000081525060200191505060405180910390fd5b6060839050600081511415612e80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600a8152602001807f6e756c6c2073746f72790000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6013604051806101400160405280601454815260200188815260200187815260200160008152602001600081526020018681526020014281526020018573ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152602001848152509080600181540180825580915050906001820390600052602060002090600a020160009091929091909150600082015181600001556020820151816001019080519060200190612f49929190615bf3565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005019080519060200190612f84929190615bf3565b5060c0820151816006015560e08201518160070160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101008201518160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012082015181600901908051906020019061303b929190615bf3565b505050506000601360008154811061304f57fe5b90600052602060002090600a02016006015442039050600062015180828161307357fe5b049050603c8111156130b2576130a7601360008154811061309057fe5b90600052602060002090600a020160000154615303565b6130b160006153a3565b5b60008090505b60138054905081101561314a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c601382815481106130f357fe5b90600052602060002090600a020160030154121561313d576131326013828154811061311b57fe5b90600052602060002090600a020160000154615303565b61313c60006153a3565b5b80806001019150506130b8565b506014600081548092919060010191905055505050505050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000606080600080600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461321257600080fd5b6013868154811061321f57fe5b90600052602060002090600a0201600001546013878154811061323e57fe5b90600052602060002090600a02016001016013888154811061325c57fe5b90600052602060002090600a02016005016013898154811061327a57fe5b90600052602060002090600a02016002015460138a8154811061329957fe5b90600052602060002090600a020160070160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133605780601f1061333557610100808354040283529160200191613360565b820191906000526020600020905b81548152906001019060200180831161334357829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156133fc5780601f106133d1576101008083540402835291602001916133fc565b820191906000526020600020905b8154815290600101906020018083116133df57829003601f168201915b505050505092508090509450945094509450945091939590929450565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461347357600080fd5b80600560026101000a81548160ff02191690831515021790555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156135725780601f1061354757610100808354040283529160200191613572565b820191906000526020600020905b81548152906001019060200180831161355557829003601f168201915b505050505081565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146135d457600080fd5b60006135df82614eb5565b90506135ea816153a3565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080341161368b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f7265717569726528455448203e2030290000000000000000000000000000000081525060200191505060405180910390fd5b60008090506000809050600061369f61525f565b905060006136ab615672565b90506001151586151514156136d0576136cd818461500f90919063ffffffff16565b92505b6136e58282028461500f90919063ffffffff16565b9250600080905060008090505b6007805490508110156137c457426007828154811061370d57fe5b9060005260206000209060020201600001541080156137a957506000600360006007848154811061373a57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156137b75785806001019650505b80806001019150506136f2565b50600085146137da578484816137d657fe5b0490505b60008090505b600780549050811015613ae45742600782815481106137fb57fe5b90600052602060002090600202016000015410801561389757506000600360006007848154811061382857fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b801561390d57503373ffffffffffffffffffffffffffffffffffffffff16600782815481106138c257fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156139a55750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166007828154811061395a57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15613ad757613a3a8260036000600785815481106139bf57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461590e90919063ffffffff16565b6003600060078481548110613a4b57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ad08260005461590e90919063ffffffff16565b6000819055505b80806001019150506137e0565b5060015482600054011015613c9457600115158715151415613bba57613b0988615115565b613b5b82600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bb38260005461500f90919063ffffffff16565b6000819055505b613c0e838302600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c6883830260005461500f90919063ffffffff16565b6000819055506000601054601e6018610e103402020281613c8557fe5b049050613c92338261592d565b505b8873ffffffffffffffffffffffffffffffffffffffff166108fc600a6009340281613cbb57fe5b049081150290604051600060405180830381858888f19350505050158015613ce7573d6000803e3d6000fd5b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600a3481613d2e57fe5b049081150290604051600060405180830381858888f19350505050158015613d5a573d6000803e3d6000fd5b508873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f345bd43e50733133f9dffd6ef91600c04212ab7150375f27ffd38b966f9d22fe346040518082815260200191505060405180910390a3828202955050505050509392505050565b6000801515613ddf84612488565b151514613e54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f546869732041646472657373206973206c6f636b65640000000000000000000081525060200191505060405180910390fd5b60011515600560009054906101000a900460ff16151514613edd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f5472616e73666572204973204e6f7420417661696c61626c650000000000000081525060200191505060405180910390fd5b60001515613eeb3385614438565b151514613f60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f546865206c6971756964697479206973206c6f636b656400000000000000000081525060200191505060405180910390fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015613fac57600080fd5b613ffe82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461509290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061409382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461500f90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506140df83615115565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600d5481565b60015481565b600080600090506000600f54905060008090505b60128054905081101561425a57856012828154811061418957fe5b90600052602060002090600302016000015414801561421157503373ffffffffffffffffffffffffffffffffffffffff16601282815481106141c757fe5b906000526020600020906003020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561424d57600083111561423657614233600283614f7a90919063ffffffff16565b91505b61424a60018461500f90919063ffffffff16565b92505b808060010191505061416e565b5080341061442b57600061426d86614eb5565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156142d7573d6000803e3d6000fd5b506142e133615115565b600185141561431d57601381815481106142f757fe5b90600052602060002090600a02016003016000815480929190600101919050555061434d565b6013818154811061432a57fe5b90600052602060002090600a020160030160008154809291906001900391905055505b601260405180606001604052808881526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016001815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201555050506000620d2f00905061441c338261592d565b60028302945050505050614432565b6000925050505b92915050565b6000801515600560029054906101000a900460ff161515141561445e576000905061458a565b60008090505b600780549050811015614525578373ffffffffffffffffffffffffffffffffffffffff166007828154811061449557fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156145185742600782815481106144f157fe5b906000526020600020906002020160000154111561451357600091505061458a565b614525565b8080600101915050614464565b50600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614585576001905061458a565b600090505b92915050565b6008818154811061459d57fe5b90600052602060002090600202016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b60608060008060008060606013805490506040519080825280602002602001820160405280156146205781602001602082028038833980820191505090505b509050600080905060008090505b60138054905081101561471457896013828154811061464957fe5b90600052602060002090600a0201600201541461467f57600083828151811061466e57fe5b602002602001018181525050614707565b60006146a86013838154811061469157fe5b90600052602060002090600a020160060154615b92565b90506000600a601384815481106146bb57fe5b90600052602060002090600a0201600301540290506000818301905060008112156146e557600190505b808685815181106146f257fe5b60200260200101818152505080850194505050505b808060010191505061462e565b5060008a61472b838e614f7a90919063ffffffff16565b8161473257fe5b049050600080905060008090505b8451811015614a9957828210801561476c575084818151811061475f57fe5b6020026020010151820183105b801561478c5750600085828151811061478157fe5b602002602001015114155b15614a64576000601382815481106147a057fe5b90600052602060002090600a0201600601544203905060006201518082816147c457fe5b049050600081603c0311156149e357601383815481106147e057fe5b90600052602060002090600a0201600101601384815481106147fe57fe5b90600052602060002090600a02016005016013858154811061481c57fe5b90600052602060002090600a0201600301546013868154811061483b57fe5b90600052602060002090600a020160070160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166013878154811061487a57fe5b90600052602060002090600a02016000015485603c03858054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149255780601f106148fa57610100808354040283529160200191614925565b820191906000526020600020905b81548152906001019060200180831161490857829003601f168201915b50505050509550848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156149c15780601f10614996576101008083540402835291602001916149c1565b820191906000526020600020905b8154815290600101906020018083116149a457829003601f168201915b505050505094508292509c509c509c509c509c509c5050505050505050614b14565b6000336000806040518060400160405280600781526020017f50726f626c656d0000000000000000000000000000000000000000000000000081525093929190604051806060016040528060278152602001615f2c60279139939291908393508292508191508090509c509c509c509c509c509c5050505050505050614b14565b614a8a858281518110614a7357fe5b60200260200101518361500f90919063ffffffff16565b91508080600101915050614740565b506000336000806040518060400160405280600881526020017f4e6f2053746f7279000000000000000000000000000000000000000000000000815250939291906040518060c0016040528060858152602001615e5f6085913993929190839350829250819150809050995099509950995099509950505050505b93975093979195509350565b600080600090505b600880549050811015614bdb578273ffffffffffffffffffffffffffffffffffffffff1660088281548110614b5957fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614bce5760088181548110614bb457fe5b906000526020600020906002020160000154915050614be1565b8080600101915050614b28565b50600090505b919050565b600560029054906101000a900460ff1681565b60008054905090565b60128181548110614c0f57fe5b90600052602060002090600302016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600560009054906101000a900460ff1681565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614d4d57600080fd5b81600e60146101000a81548160ff02191690831515021790555080600e60156101000a81548160ff0219169083151502179055505050565b60078181548110614d9257fe5b90600052602060002090600202016000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b600560039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e3057600080fd5b80600560036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600090505b601380549050811015614f06578260138281548110614ed857fe5b90600052602060002090600a0201600001541415614ef95780915050614f75565b8080600101915050614ebd565b506040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5573657220646f6573206e6f742065786973742100000000000000000000000081525060200191505060405180910390fd5b919050565b600080821480614f975750828283850292508281614f9457fe5b04145b615009576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6d756c2d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828401915081101561508c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d6d6174682d6164642d6f766572666c6f7700000000000000000000000081525060200191505060405180910390fd5b92915050565b600082828403915081111561510f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f64732d6d6174682d7375622d756e646572666c6f77000000000000000000000081525060200191505060405180910390fd5b92915050565b60008090505b6007805490508110156151ad578173ffffffffffffffffffffffffffffffffffffffff166007828154811061514c57fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156151a0575061525c565b808060010191505061511b565b5060076040518060400160405280600081526020018373ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b50565b6000806064423344600054604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018381526020018281526020019450505050506040516020818303038152906040528051906020012060001c816152de57fe5b06905060018101905060358114156152fa576003915050615300565b60019150505b90565b60008090505b60128054905081101561539f57816012828154811061532457fe5b9060005260206000209060030201600001541415615392576012818154811061534957fe5b90600052602060002090600302016000808201600090556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905550505b8080600101915050615309565b5050565b60138054905081106153b45761566f565b60008190505b60016013805490500381101561558b57601360018201815481106153da57fe5b90600052602060002090600a0201601382815481106153f557fe5b90600052602060002090600a02016000820154816000015560018201816001019080546001816001161561010002031660029004615434929190615c73565b506002820154816002015560038201548160030155600482015481600401556005820181600501908054600181600116156101000203166002900461547a929190615c73565b50600682015481600601556007820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160070160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009820181600901908054600181600116156101000203166002900461557a929190615c73565b5090505080806001019150506153ba565b506013600160138054905003815481106155a157fe5b90600052602060002090600a02016000808201600090556001820160006155c89190615cfa565b6002820160009055600382016000905560048201600090556005820160006155f09190615cfa565b60068201600090556007820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556008820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556009820160006156569190615cfa565b5050601380548091906001900361566d9190615d42565b505b50565b600080620151809050601e81026156946004544261509290919063ffffffff16565b10156156e8576010546156d8600a6156ca600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b816156df57fe5b0491505061590b565b603c81026157016004544261509290919063ffffffff16565b1015615755576010546157456008615737600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161574c57fe5b0491505061590b565b605a810261576e6004544261509290919063ffffffff16565b10156157c2576010546157b260066157a4600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b816157b957fe5b0491505061590b565b607881026157db6004544261509290919063ffffffff16565b101561582f5760105461581f6004615811600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161582657fe5b0491505061590b565b609681026158486004544261509290919063ffffffff16565b101561589c5760105461588c600261587e600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161589357fe5b0491505061590b565b609681026158b56004544261509290919063ffffffff16565b1115615909576010546158f960016158eb600b60009054906101000a900460ff1660ff16600a0a34614f7a90919063ffffffff16565b614f7a90919063ffffffff16565b8161590057fe5b0491505061590b565b505b90565b600081831115615922578183039050615927565b600090505b92915050565b60008090505b600780549050811015615ade578273ffffffffffffffffffffffffffffffffffffffff166007828154811061596457fe5b906000526020600020906002020160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415615ad157600b60009054906101000a900460ff1660ff16600a0a61271002600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015615acb578142018260078381548110615a2357fe5b906000526020600020906002020160000154011115615a9457615a6d8260078381548110615a4d57fe5b90600052602060002090600202016000015461500f90919063ffffffff16565b60078281548110615a7a57fe5b906000526020600020906002020160000181905550615aca565b615aa7428361500f90919063ffffffff16565b60078281548110615ab457fe5b9060005260206000209060020201600001819055505b5b50615b8e565b8080600101915050615933565b506007604051806040016040528083420181526020018473ffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b5050565b600080615ba8834261509290919063ffffffff16565b90506000620151808281615bb857fe5b0490506000615bd160018361500f90919063ffffffff16565b90506000816002836078030a81615be457fe5b04905080945050505050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615c3457805160ff1916838001178555615c62565b82800160010185558215615c62579182015b82811115615c61578251825591602001919060010190615c46565b5b509050615c6f9190615d74565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615cac5780548555615ce9565b82800160010185558215615ce957600052602060002091601f016020900482015b82811115615ce8578254825591600101919060010190615ccd565b5b509050615cf69190615d74565b5090565b50805460018160011615610100020316600290046000825580601f10615d205750615d3f565b601f016020900490600052602060002090810190615d3e9190615d74565b5b50565b815481835581811115615d6f57600a0281600a028360005260206000209182019101615d6e9190615d99565b5b505050565b615d9691905b80821115615d92576000816000905550600101615d7a565b5090565b90565b615e5b91905b80821115615e5757600080820160009055600182016000615dc09190615cfa565b600282016000905560038201600090556004820160009055600582016000615de89190615cfa565b60068201600090556007820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556008820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600982016000615e4e9190615cfa565b50600a01615d9f565b5090565b9056fe496620796f752073656520746869732073746f7279206974206d65616e732074686174207468657265206973206e6f2073746f727920696e2074686973206c616e67756167652c20696620796f75206b6e6f7720736f6d65206f6e65206e656564732068656c702c2061736b207468656d20746f206164642061206e65772073746f72792e54686973206d6f6e74682773206c6f7474657279206973206f76657220616e6420736f6d656f6e652068617320776f6e2e20506c656173652074727920616761696e206c61746572576520686176652070726f626c656d202e20706c65617365207265666572736820616761696e2e596f752073686f756c642068617665206174206c65617374203130302048656c6978204e6562756c6120746f6b656e7320746f20706172746963697061746520696e20746865206c6f74746572792e20a265627a7a7231582083870e777f0957850cda7ab3047a5bf32284e682f3874c92e838b566add6898764736f6c63430005110032
Deployed Bytecode Sourcemap
3023:20568:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10679:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10679:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6615:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6615: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;6615:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9205:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9205:260:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9205:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;402:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;402:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3408:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3408:23:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;21668:457;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21668:457:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21668:457:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16162:435;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16162:435:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16162:435:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;8163:911;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8163:911:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8163:911:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4315:584;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4315:584:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4315:584:0;;;;;;;;;;;;;;;;;:::i;:::-;;3271:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3271:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3271:44:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6659:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6659:21:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9985:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9985:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9985:147:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5188:398;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5188:398:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5188:398:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11410:956;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11410:956:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9623:358;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9623:358:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9623:358:0;;;;;;;;;;;;;;;;;:::i;:::-;;11198:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11198:21:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11198:21: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;11198:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11198:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;11198:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6292:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6292:98:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6292:98:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6542:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6542:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6542:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3478:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3478:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12433:293;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12433:293:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11228:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11228:22:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10640:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10640:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13194:898;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13194:898:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;13194:898:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13194:898:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13194:898:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13194:898:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13194:898:0;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13194:898:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13194:898:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13194:898:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13194:898:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;13194:898:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13194:898:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13194:898:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;13194:898:0;;;;;;;;;;;;;;;:::i;:::-;;9082:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9082:115:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9082:115:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;22965:250;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22965:250:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22965:250: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;22965:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;22965:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5592:100:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5592:100:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3586:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3586:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3551:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3551:28:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6703:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6703: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;6703:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22855:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22855:102:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;22855:102:0;;;;;;;;;;;;;;;;;:::i;:::-;;10606:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10606:25:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19204:2460;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19204:2460:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7528:627;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7528:627:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7528:627:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10575:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10575:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;435:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;435:24:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16601:910;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16601:910:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5698:588;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5698:588:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5698:588:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4178:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4178:38:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4178:38:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14360:1650;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14360:1650:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14360:1650: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;14360:1650:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;14360:1650:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4905:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4905:275:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4905:275:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3513:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3513:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7390:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7390:130:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11169:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11169:24:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11169:24:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3444:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3444:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9473:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9473:144:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9473:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23219:157;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23219:157:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23219:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4125:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4125:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4125:39:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6396:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6396:134:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6396:134:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10679:34;;;;;;;;;;;;;:::o;6615:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9205:260::-;9272:12;9329:6;9297:7;:19;9305:10;9297:19;;;;;;;;;;;;;;;:29;9317:8;9297:29;;;;;;;;;;;;;;;:38;;;;9372:8;9351:38;;9360:10;9351:38;;;9382:6;9351:38;;;;;;;;;;;;;;;;;;9453:4;9446:11;;9205:260;;;;:::o;402:26::-;;;;:::o;3408:23::-;;;;:::o;21668:457::-;21728:4;21746:6;21753:1;21746:8;;21742:361;21757:18;:25;;;;21755:1;:27;21742:361;;;21832:4;21803:33;;:18;21822:1;21803:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:33;;;21800:294;;;21891:15;21857:18;21876:1;21857:21;;;;;;;;;;;;;;;;;;:32;;;:49;21854:211;;21936:1;21929:8;;;;;21854:211;22038:7;22020:15;21987:18;22006:1;21987:21;;;;;;;;;;;;;;;;;;:32;;;:48;21986:60;;;;;;21978:69;;;;;21800:294;21783:3;;;;;;;21742:361;;;;22118:1;22111:8;;21668:457;;;;:::o;16162:435::-;16212:6;16219:4;16236:10;16247:8;;16236:19;;16263:15;16279:1;16263:17;;16288:11;16300:8;16305:2;16300:4;:8::i;:::-;16288:20;;16320:6;16329:1;16320:10;;16316:235;16336:6;:13;;;;16332:1;:17;16316:235;;;16385:2;16368:6;16375:1;16368:9;;;;;;;;;;;;;;;;;;:13;;;:19;:54;;;;;16412:10;16391:31;;:6;16398:1;16391:9;;;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;:31;;;16368:54;16365:179;;;16449:1;16438:10;:12;16435:61;;;16472:12;16482:1;16472:5;:9;;:12;;;;:::i;:::-;16466:18;;16435:61;16517:17;16532:1;16517:10;:14;;:17;;;;:::i;:::-;16506:28;;16365:179;16351:3;;;;;;;16316:235;;;;16565:6;16572;16565:14;;;;;;;;;;;;;;;;;;:19;;;16585:5;16558:33;;;;;;;16162:435;;;:::o;8163:911::-;8245:12;8298:5;8278:25;;:18;8292:3;8278:13;:18::i;:::-;:25;;;8270:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8370:5;8348:27;;:20;8362:5;8348:13;:20::i;:::-;:27;;;8340:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8433:4;8420:17;;:11;;;;;;;;;;;:17;;;8412:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8522:5;8489:38;;:31;8510:5;8516:3;8489:20;:31::i;:::-;:38;;;8481:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8575:17;8595:7;:14;8603:5;8595:14;;;;;;;;;;;;;;;:26;8610:10;8595:26;;;;;;;;;;;;;;;;8575:46;;8659:6;8640:8;:15;8649:5;8640:15;;;;;;;;;;;;;;;;:25;;:48;;;;;8682:6;8669:9;:19;;8640:48;8632:57;;;;;;8715:25;8733:6;8715:8;:13;8724:3;8715:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8700:8;:13;8709:3;8700:13;;;;;;;;;;;;;;;:40;;;;8769:27;8789:6;8769:8;:15;8778:5;8769:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8751:8;:15;8760:5;8751:15;;;;;;;;;;;;;;;:45;;;;8807:15;8818:3;8807:10;:15::i;:::-;3254:10;8837:9;:23;8833:122;;;8905:38;8936:6;8905:7;:14;8913:5;8905:14;;;;;;;;;;;;;;;:26;8920:10;8905:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8877:7;:14;8885:5;8877:14;;;;;;;;;;;;;;;:26;8892:10;8877:26;;;;;;;;;;;;;;;:66;;;;8833:122;8986:3;8970:28;;8979:5;8970:28;;;8991:6;8970:28;;;;;;;;;;;;;;;;;;9062:4;9055:11;;;8163:911;;;;;:::o;4315:584::-;4369:6;4376:1;4369:8;;4365:439;4380:15;:22;;;;4378:1;:24;4365:439;;;4449:10;4425:34;;:15;4441:1;4425:18;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:34;;;4422:371;;;4512:15;4482;4498:1;4482:18;;;;;;;;;;;;;;;;;;:29;;;:45;4479:275;;;4622:4;4619:2;4613:5;:8;:13;4581:15;4597:1;4581:18;;;;;;;;;;;;;;;;;;:29;;;:45;4551:15;4567:1;4551:18;;;;;;;;;;;;;;;;;;:29;;:75;;;;4479:275;;;4730:4;4727:2;4721:5;:8;:13;4703:15;:31;4673:15;4689:1;4673:18;;;;;;;;;;;;;;;;;;:29;;:61;;;;4479:275;4771:7;;;4422:371;4403:3;;;;;;;4365:439;;;;4814:15;4835:55;;;;;;;;4874:4;4871:2;4865:5;:8;:13;4849:15;:29;4835:55;;;;4879:10;4835:55;;;;;4814:77;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;4814:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4315:584;;:::o;3271:44::-;;;;;;;;;;;;;;;;;:::o;6659:21::-;;;;;;;;;;;;;:::o;9985:147::-;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;10082:7;10071:10;;:18;;;;;;;;;;;;;;;;;;10110:8;10098:11;;:20;;;;;;;;;;;;;;;;;;9985:147;;:::o;5188:398::-;5245:4;5265:6;5272:1;5265:8;;5261:295;5276:15;:22;;;;5274:1;:24;5261:295;;;5345:4;5321:28;;:15;5337:1;5321:18;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:28;;;5318:227;;;5402:15;5372;5388:1;5372:18;;;;;;;;;;;;;;;;;;:29;;;:45;5369:161;;;5447:4;5440:11;;;;;5369:161;5505:5;5498:12;;;;;5318:227;5299:3;;;;;;;5261:295;;;;5573:5;5566:12;;5188:398;;;;:::o;11410:956::-;11446:4;11476:20;:18;:20::i;:::-;11468:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11611:3;11590:8;:20;11599:10;11590:20;;;;;;;;;;;;;;;;:24;11582:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11732:9;;11727:4;11715:11;;:16;:26;11707:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11781:20;:18;:20::i;:::-;11778:583;;;11828:1;11818:8;:6;:8::i;:::-;:11;11815:537;;;11932:52;11974:8;;;;;;;;;;;11966:17;;11962:2;:21;11957:4;:26;11932:8;:20;11941:10;11932:20;;;;;;;;;;;;;;;;:24;;:52;;;;:::i;:::-;11911:8;:20;11920:10;11911:20;;;;;;;;;;;;;;;:73;;;;12013:43;12046:8;;;;;;;;;;;12038:17;;12034:2;:21;12029:4;:26;12013:11;;:15;;:43;;;;:::i;:::-;12001:11;:55;;;;12073:12;;:14;;;;;;;;;;;;;12115:10;12104;;:21;;;;;;;;;;;;;;;;;;12166:8;;;;;;;;;;;12158:17;;12154:2;:21;12149:4;:26;12142:33;;;;11815:537;12285:30;12305:8;;;;;;;;;;;12297:17;;12293:2;:21;12290:2;:24;12285:4;:30::i;:::-;12337:1;12330:8;;;;11778:583;11410:956;;:::o;9623:358::-;9770:1;9760:6;:11;;9752:20;;;;;;9797:8;:20;9806:10;9797:20;;;;;;;;;;;;;;;;9787:6;:30;;9779:39;;;;;;9838:23;9854:6;9838:11;;:15;;:23;;;;:::i;:::-;9825:11;:36;;;;9891:32;9916:6;9891:8;:20;9900:10;9891:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9868:8;:20;9877:10;9868:20;;;;;;;;;;;;;;;:55;;;;9964:1;9935:40;;9944:10;9935:40;;;9968:6;9935:40;;;;;;;;;;;;;;;;;;9623:358;:::o;11198:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6292:98::-;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;6378:4;6362:15;;:20;;;;;;;;;;;;;;;;;;6292:98;:::o;6542:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3478:28::-;;;;;;;;;;;;;:::o;12433:293::-;12484:4;12499:13;12531:11;;12513:15;:29;12499:43;;12551:13;12575:10;12565:8;:21;;;;;;12551:35;;12635:12;;12623:8;:24;12620:101;;12668:4;12661:11;;;;;;12620:101;12706:5;12699:12;;;;12433:293;;:::o;11228:22::-;;;;:::o;10640:34::-;;;;;;;;;;;;;:::o;13194:898::-;13350:4;13331:23;;:17;;;;;;;;;;;:23;;;13323:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13390:29;13428:5;13390:44;;13477:1;13450:16;:23;:28;;13442:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13530:6;13542:80;;;;;;;;13548:6;;13542:80;;;;13556:5;13542:80;;;;13562:5;13542:80;;;;13568:1;13542:80;;;;13570:1;13542:80;;;;13572:5;13542:80;;;;13578:15;13542:80;;;;13594:11;13542:80;;;;;;13606:10;13542:80;;;;;;13617:4;13542:80;;;13530:93;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;13530::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13636:13;13668:6;13675:1;13668:9;;;;;;;;;;;;;;;;;;:19;;;13650:15;:37;13636:51;;13694:10;13715:7;13705:8;:18;;;;;;13694:29;;13757:2;13751:5;:8;13748:95;;;13771:29;13787:6;13794:1;13787:9;;;;;;;;;;;;;;;;;;:12;;;13771:15;:29::i;:::-;13811:14;13823:1;13811:11;:14::i;:::-;13748:95;13859:6;13866:1;13859:8;;13855:162;13870:6;:13;;;;13868:1;:15;13855:162;;;13920:4;13903:6;13910:1;13903:9;;;;;;;;;;;;;;;;;;:14;;;:21;13900:110;;;13940:29;13956:6;13963:1;13956:9;;;;;;;;;;;;;;;;;;:12;;;13940:15;:29::i;:::-;13984:14;13996:1;13984:11;:14::i;:::-;13900:110;13885:3;;;;;;;13855:162;;;;14078:6;;:8;;;;;;;;;;;;;13194:898;;;;;;;;:::o;9082:115::-;9138:15;9173:8;:16;9182:6;9173:16;;;;;;;;;;;;;;;;9166:23;;9082:115;;;:::o;22965:250::-;23033:4;23038:13;23052;23066:4;23071:7;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;23102:6;23109;23102:14;;;;;;;;;;;;;;;;;;:17;;;23120:6;23127;23120:14;;;;;;;;;;;;;;;;;;:19;;23140:6;23147;23140:14;;;;;;;;;;;;;;;;;;:20;;23161:6;23168;23161:14;;;;;;;;;;;;;;;;;;:19;;;23181:6;23188;23181:14;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;23094:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22965:250;;;;;;;:::o;5592:100::-;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;5675:9;5661:13;;:23;;;;;;;;;;;;;;;;;;5592:100;:::o;3586:30::-;;;;;;;;;;;;;:::o;3551:28::-;;;;;;;;;;;;;:::o;6703:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;22855:102::-;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;22909:6;22918:8;22923:2;22918:4;:8::i;:::-;22909:17;;22937:14;22949:1;22937:11;:14::i;:::-;4292:1;22855:102;:::o;10606:25::-;;;;;;;;;;;;;:::o;19204:2460::-;19321:4;19355:1;19345:9;:11;19337:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19387:20;19408:1;19387:22;;19480:15;19496:1;19480:17;;19508:10;19519:8;:6;:8::i;:::-;19508:19;;19538:12;19551:16;:14;:16::i;:::-;19538:29;;19597:4;19581:20;;:12;:20;;;19578:85;;;19628:23;19643:7;19628:10;:14;;:23;;;;:::i;:::-;19617:34;;19578:85;19684:29;19707:5;19699:7;:13;19684:10;:14;;:29;;;;:::i;:::-;19673:40;;19724:17;19742:1;19724:19;;19838:6;19845:1;19838:8;;19834:216;19849:18;:25;;;;19847:1;:27;19834:216;;;19930:15;19897:18;19916:1;19897:21;;;;;;;;;;;;;;;;;;:32;;;:48;:89;;;;;19985:1;19949:8;:35;19958:18;19977:1;19958:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;19949:35;;;;;;;;;;;;;;;;:37;19897:89;19894:145;;;20006:17;;;;;;;19894:145;19875:3;;;;;;;19834:216;;;;20082:1;20063:15;:20;20060:90;;20123:15;20112:10;:26;;;;;;20099:39;;20060:90;20366:6;20373:1;20366:8;;20362:460;20377:18;:25;;;;20375:1;:27;20362:460;;;20458:15;20425:18;20444:1;20425:21;;;;;;;;;;;;;;;;;;:32;;;:48;:89;;;;;20513:1;20477:8;:35;20486:18;20505:1;20486:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;20477:35;;;;;;;;;;;;;;;;:37;20425:89;:148;;;;;20562:10;20533:39;;:18;20552:1;20533:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:39;;;20531:42;20425:148;:199;;;;;20608:15;;;;;;;;;;;20579:44;;:18;20598:1;20579:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:44;;;20577:47;20425:199;20422:389;;;20680:54;20721:12;20680:8;:35;20689:18;20708:1;20689:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;20680:35;;;;;;;;;;;;;;;;:40;;:54;;;;:::i;:::-;20644:8;:35;20653:18;20672:1;20653:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;20644:35;;;;;;;;;;;;;;;:90;;;;20765:30;20782:12;20765:11;;:16;;:30;;;;:::i;:::-;20753:11;:42;;;;20422:389;20403:3;;;;;;;20362:460;;;;20865:9;;20857:7;20845:11;;:19;:29;20842:659;;;20976:4;20960:20;;:12;:20;;;20957:219;;;21000:24;21011:12;21000:10;:24::i;:::-;21068:35;21095:7;21068:8;:22;21077:12;21068:22;;;;;;;;;;;;;;;;:26;;:35;;;;:::i;:::-;21043:8;:22;21052:12;21043:22;;;;;;;;;;;;;;;:60;;;;21136:24;21152:7;21136:11;;:15;;:24;;;;:::i;:::-;21122:11;:38;;;;20957:219;21213:39;21246:5;21238:7;:13;21213:8;:20;21222:10;21213:20;;;;;;;;;;;;;;;;:24;;:39;;;;:::i;:::-;21190:8;:20;21199:10;21190:20;;;;;;;;;;;;;;;:62;;;;21281:30;21305:5;21297:7;:13;21281:11;;:15;;:30;;;;:::i;:::-;21267:11;:44;;;;21326:12;21360:8;;21357:2;21354;21349:4;21339:9;:14;:17;:20;:29;;;;;;21326:42;;21453:36;21470:10;21481:7;21453:16;:36::i;:::-;20842:659;;21511:4;:13;;:29;21537:2;21535:1;21525:9;:11;:14;;;;;;21511:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21511:29:0;21551:6;;;;;;;;;;;:15;;:29;21577:2;21567:9;:12;;;;;;21551:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21551:29:0;21612:4;21596:31;;21601:10;21596:31;;;21617:9;21596:31;;;;;;;;;;;;;;;;;;21653:5;21645:7;:13;21638:20;;;;;;;19204:2460;;;;;:::o;7528:627::-;7591:12;7644:5;7624:25;;:18;7638:3;7624:13;:18::i;:::-;:25;;;7616:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7706:4;7694:16;;:10;;;;;;;;;;;:16;;;7686:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7796:5;7758:43;;:36;7779:10;7790:3;7758:20;:36::i;:::-;:43;;;7750:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7871:6;7847:8;:20;7856:10;7847:20;;;;;;;;;;;;;;;;:30;;7839:39;;;;;;7921:32;7946:6;7921:8;:20;7930:10;7921:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7899:8;:20;7908:10;7899:20;;;;;;;;;;;;;;;:54;;;;7979:25;7997:6;7979:8;:13;7988:3;7979:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7964:8;:13;7973:3;7964:13;;;;;;;;;;;;;;;:40;;;;8015:15;8026:3;8015:10;:15::i;:::-;8067:3;8046:33;;8055:10;8046:33;;;8072:6;8046:33;;;;;;;;;;;;;;;;;;8143:4;8136:11;;7528:627;;;;:::o;10575:26::-;;;;:::o;435:24::-;;;;:::o;16601:910::-;16658:4;16678:15;16694:1;16678:17;;16702:10;16713:8;;16702:19;;16732:6;16741:1;16732:10;;16728:235;16748:6;:13;;;;16744:1;:17;16728:235;;;16797:2;16780:6;16787:1;16780:9;;;;;;;;;;;;;;;;;;:13;;;:19;:54;;;;;16824:10;16803:31;;:6;16810:1;16803:9;;;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;:31;;;16780:54;16777:179;;;16861:1;16850:10;:12;16847:61;;;16884:12;16894:1;16884:5;:9;;:12;;;;:::i;:::-;16878:18;;16847:61;16929:17;16944:1;16929:10;:14;;:17;;;;:::i;:::-;16918:28;;16777:179;16763:3;;;;;;;16728:235;;;;16985:5;16972:9;:18;16969:537;;17002:6;17011:8;17016:2;17011:4;:8::i;:::-;17002:17;;17032:6;;;;;;;;;;;:15;;:26;17048:9;17032:26;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17032:26:0;17069:22;17080:10;17069;:22::i;:::-;17112:1;17105:5;:8;17102:102;;;17129:6;17136:1;17129:9;;;;;;;;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;17102:102;;;17176:6;17183:1;17176:9;;;;;;;;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;17102:102;17214:6;17226:26;;;;;;;;17235:2;17226:26;;;;17239:10;17226:26;;;;;;17250:1;17226:26;;;17214:39;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17214:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17360:12;17373:10;17360:23;;17396:36;17413:10;17424:7;17396:16;:36::i;:::-;17466:1;17460:5;:7;17453:14;;;;;;;;16969:537;17496:1;17489:8;;;;16601:910;;;;;:::o;5698:588::-;5775:4;5809:5;5794:20;;:13;;;;;;;;;;;:20;;;5791:63;;;5837:5;5830:12;;;;5791:63;5868:6;5875:1;5868:8;;5864:300;5879:18;:25;;;;5877:1;:27;5864:300;;;5954:5;5927:32;;:18;5946:1;5927:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:32;;;5924:229;;;6015:15;5982:18;6001:1;5982:21;;;;;;;;;;;;;;;;;;:32;;;:48;5979:159;;;6061:5;6054:12;;;;;5979:159;6113:5;;5924:229;5905:3;;;;;;;5864:300;;;;6182:15;;;;;;;;;;;6177:20;;:3;:20;;;6174:105;;;6220:4;6213:11;;;;6174:105;6262:5;6255:12;;5698:588;;;;;:::o;4178:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14360:1650::-;14446:13;14460;14474:3;14478:7;14486:4;14491;14507:20;14539:6;:13;;;;14528:25;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;14528:25:0;;;;14507:46;;14562:19;14582:1;14562:21;;14596:6;14605:1;14596:10;;14592:493;14612:6;:13;;;;14608:1;:17;14592:493;;;14674:5;14656:6;14663:1;14656:9;;;;;;;;;;;;;;;;;;:14;;;:23;14653:423;;14708:1;14698:6;14705:1;14698:9;;;;;;;;;;;;;:11;;;;;14653:423;;;14744:13;14758:33;14771:6;14778:1;14771:9;;;;;;;;;;;;;;;;;;:19;;;14758:12;:33::i;:::-;14744:47;;14808:10;14834:2;14819:6;14826:1;14819:9;;;;;;;;;;;;;;;;;;:14;;;:17;14808:28;;14853:11;14879:6;14869:8;14865:20;14853:32;;14913:1;14905:7;:9;14902:61;;;14944:1;14936:9;;14902:61;14994:7;14979:6;14986:1;14979:9;;;;;;;;;;;;;:23;;;;;15054:7;15034:14;:28;15019:43;;14653:423;;;;14627:3;;;;;;;14592:493;;;;15093:15;15141:9;15110:29;15124:14;15110:9;:13;;:29;;;;:::i;:::-;15109:41;;;;;;15093:57;;15174:15;15190:1;15174:17;;15204:6;15213:1;15204:10;;15200:624;15220:6;:13;15216:1;:17;15200:624;;;15267:10;15256;:21;:56;;;;;15303:6;15310:1;15303:9;;;;;;;;;;;;;;15292:10;:20;15281:10;:31;15256:56;:73;;;;;15328:1;15316:6;15323:1;15316:9;;;;;;;;;;;;;;:13;;15256:73;15253:562;;;15347:13;15379:6;15386:1;15379:9;;;;;;;;;;;;;;;;;;:19;;;15361:15;:37;15347:51;;15415:10;15436:7;15426:8;:18;;;;;;15415:29;;15473:1;15467:5;15464:2;:8;:10;15461:270;;;15504:6;15511:1;15504:9;;;;;;;;;;;;;;;;;;:14;;15519:6;15526:1;15519:9;;;;;;;;;;;;;;;;;;:15;;15535:6;15542:1;15535:9;;;;;;;;;;;;;;;;;;:14;;;15550:6;15557:1;15550:9;;;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;15571:6;15578:1;15571:9;;;;;;;;;;;;;;;;;;:12;;;15587:5;15584:2;:8;15496:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15461:270;15696:1;15698:10;15709:1;15711;15636:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15253:562;15776:25;15791:6;15798:1;15791:9;;;;;;;;;;;;;;15776:10;:14;;:25;;;;:::i;:::-;15765:36;;15235:3;;;;;;;15200:624;;;;15987:1;15989:10;16000:1;16002;15832:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14360:1650;;;;;;;;;;;:::o;4905:275::-;4966:4;4987:6;4994:1;4987:8;;4983:170;4998:15;:22;;;;4996:1;:24;4983:170;;;5067:4;5043:28;;:15;5059:1;5043:18;;;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;:28;;;5040:102;;;5097:15;5113:1;5097:18;;;;;;;;;;;;;;;;;;:29;;;5090:36;;;;;5040:102;5021:3;;;;;;;4983:170;;;;5171:1;5164:8;;4905:275;;;;:::o;3513:31::-;;;;;;;;;;;;;:::o;7390:130::-;7436:4;7457:11;;7450:18;;7390:130;:::o;11169:24::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3444:27::-;;;;;;;;;;;;;:::o;9473:144::-;9547:17;9584:7;:15;9592:6;9584:15;;;;;;;;;;;;;;;:25;9600:8;9584:25;;;;;;;;;;;;;;;;9577:32;;9473:144;;;;:::o;23219:157::-;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;23324:9;23306:17;;:27;;;;;;;;;;;;;;;;;;23360:10;23342:17;;:28;;;;;;;;;;;;;;;;;;23219:157;;:::o;4125:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6396:134::-;4275:5;;;;;;;;;;;4261:19;;:10;:19;;;4253:28;;;;;;6486:9;6478:5;;:17;;;;;;;;;;;;;;;;;;6513:9;6506:6;;:16;;;;;;;;;;;;;;;;;;6396:134;:::o;23380:208::-;23425:4;23442:6;23451:1;23442:10;;23438:108;23458:6;:13;;;;23454:1;:17;23438:108;;;23506:2;23490:6;23497:1;23490:9;;;;;;;;;;;;;;;;;;:12;;;:18;23487:52;;;23528:1;23521:8;;;;;23487:52;23473:3;;;;;;;23438:108;;;;23552:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23380:208;;;;:::o;2872:142::-;2924:6;2956:1;2951;:6;:30;;;;2980:1;2975;2970;2966;:5;2962:9;;;2961:15;;;;;;:20;2951:30;2943:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2872:142;;;;:::o;2436:128::-;2488:6;2530:1;2524;2520;:5;2516:9;;;2515:16;;2507:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2436:128;;;;:::o;2572:129::-;2624:6;2666:1;2660;2656;:5;2652:9;;;2651:16;;2643:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2572:129;;;;:::o;10140:256::-;10195:6;10202:1;10195:8;;10191:147;10206:18;:25;;;;10204:1;:27;10191:147;;;10287:4;10260:31;;:18;10279:1;10260:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:31;;;10257:72;;;10309:7;;;10257:72;10232:3;;;;;;;10191:147;;;;10346:18;10370:19;;;;;;;;10382:1;10370:19;;;;10384:4;10370:19;;;;;10346:44;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10346:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10140:256;;:::o;17516:415::-;17557:4;17651:17;17766:3;17703:15;17720:10;17732:16;17749:11;;17686:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17686:75:0;;;17676:86;;;;;;17671:92;;:98;;;;;;17651:118;;17808:1;17793:12;:16;17778:31;;17839:2;17825:12;:16;17822:102;;;17866:1;17859:8;;;;;17822:102;17909:1;17902:8;;;17516:415;;:::o;12734:179::-;12789:6;12798:1;12789:10;;12785:123;12805:6;:13;;;;12801:1;:17;12785:123;;;12854:3;12837:6;12844:1;12837:9;;;;;;;;;;;;;;;;;;:13;;;:20;12834:66;;;12881:6;12888:1;12881:9;;;;;;;;;;;;;;;;;;;12874:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12834:66;12820:3;;;;;;;12785:123;;;;12734:179;:::o;12922:268::-;12989:6;:13;;;;12980:5;:22;12976:35;;13004:7;;12976:35;13028:6;13037:5;13028:14;;13023:94;13060:1;13046:6;:13;;;;:15;13044:1;:17;13023:94;;;13094:6;13103:1;13101;:3;13094:11;;;;;;;;;;;;;;;;;;13082:6;13089:1;13082:9;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13063:3;;;;;;;13023:94;;;;13134:6;13155:1;13141:6;:13;;;;:15;13134:23;;;;;;;;;;;;;;;;;;;13127:30;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;13168:6;:15;;;;;;;;;;;;:::i;:::-;;12922:268;;:::o;17939:1261::-;17987:4;18001:15;18017:7;18001:23;;18080:2;18069:10;:13;18036:32;18056:11;;18036:15;:19;;:32;;;;:::i;:::-;:46;18033:187;;;18157:8;;18109:46;18152:2;18109:38;18136:8;;;;;;;;;;;18128:17;;18124:2;:21;18109:9;:13;;:38;;;;:::i;:::-;:42;;:46;;;;:::i;:::-;18108:57;;;;;;18101:64;;;;;18033:187;18275:2;18264:10;:13;18231:32;18251:11;;18231:15;:19;;:32;;;;:::i;:::-;:46;18228:186;;;18351:8;;18304:45;18347:1;18304:38;18331:8;;;;;;;;;;;18323:17;;18319:2;:21;18304:9;:13;;:38;;;;:::i;:::-;:42;;:45;;;;:::i;:::-;18303:56;;;;;;18296:63;;;;;18228:186;18469:2;18458:10;:13;18425:32;18445:11;;18425:15;:19;;:32;;;;:::i;:::-;:46;18422:185;;;18545:8;;18498:45;18541:1;18498:38;18525:8;;;;;;;;;;;18517:17;;18513:2;:21;18498:9;:13;;:38;;;;:::i;:::-;:42;;:45;;;;:::i;:::-;18497:56;;;;;;18490:63;;;;;18422:185;18662:3;18651:10;:14;18618:32;18638:11;;18618:15;:19;;:32;;;;:::i;:::-;:47;18615:187;;;18739:8;;18692:45;18735:1;18692:38;18719:8;;;;;;;;;;;18711:17;;18707:2;:21;18692:9;:13;;:38;;;;:::i;:::-;:42;;:45;;;;:::i;:::-;18691:56;;;;;;18684:63;;;;;18615:187;18857:3;18846:10;:14;18813:32;18833:11;;18813:15;:19;;:32;;;;:::i;:::-;:47;18810:186;;;18934:8;;18887:45;18930:1;18887:38;18914:8;;;;;;;;;;;18906:17;;18902:2;:21;18887:9;:13;;:38;;;;:::i;:::-;:42;;:45;;;;:::i;:::-;18886:56;;;;;;18879:63;;;;;18810:186;19051:3;19040:10;:14;19007:32;19027:11;;19007:15;:19;;:32;;;;:::i;:::-;:47;19004:191;;;19128:8;;19081:45;19124:1;19081:38;19108:8;;;;;;;;;;;19100:17;;19096:2;:21;19081:9;:13;;:38;;;;:::i;:::-;:42;;:45;;;;:::i;:::-;19080:56;;;;;;19073:63;;;;;19004:191;17939:1261;;;:::o;2707:159::-;2760:4;2782:1;2780;:3;2777:82;;;2808:1;2806;:3;2799:10;;;;2777:82;2846:1;2839:8;;2707:159;;;;;:::o;22129:722::-;22207:6;22214:1;22207:8;;22203:562;22218:18;:25;;;;22216:1;:27;22203:562;;;22291:4;22264:31;;:18;22283:1;22264:21;;;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;:31;;;22261:495;;;22349:8;;;;;;;;;;;22341:17;;22337:2;:21;22331:5;:27;22316:8;:14;22325:4;22316:14;;;;;;;;;;;;;;;;:42;22313:407;;;22446:11;22430:15;:27;22418:11;22383:18;22402:1;22383:21;;;;;;;;;;;;;;;;;;:32;;;:46;:74;22380:323;;;22516:49;22553:11;22516:18;22535:1;22516:21;;;;;;;;;;;;;;;;;;:32;;;:36;;:49;;;;:::i;:::-;22483:18;22502:1;22483:21;;;;;;;;;;;;;;;;;;:32;;:82;;;;22380:323;;;22649:32;22665:15;22649:11;:15;;:32;;;;:::i;:::-;22616:18;22635:1;22616:21;;;;;;;;;;;;;;;;;;:32;;:65;;;;22380:323;22313:407;22736:7;;;22261:495;22244:3;;;;;;;22203:562;;;;22775:18;22799:45;;;;;;;;22827:11;22811:15;:27;22799:45;;;;22839:4;22799:45;;;;;22775:70;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;22775:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22129:722;;;:::o;14096:258::-;14153:4;14168:13;14182:27;14202:6;14182:15;:19;;:27;;;;:::i;:::-;14168:41;;14219:10;14240:7;14230:8;:18;;;;;;14219:29;;14258:10;14269:12;14279:1;14269:5;:9;;:12;;;;:::i;:::-;14258:23;;14291:11;14320:5;14317:1;14309:5;14305:3;:9;14304:14;14303:22;;;;;;14291:34;;14342:6;14335:13;;;;;;14096:258;;;:::o;3023:20568::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o
Swarm Source
bzzr://83870e777f0957850cda7ab3047a5bf32284e682f3874c92e838b566add68987
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.