Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 44 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Return All Token... | 7599026 | 2137 days ago | IN | 0 ETH | 0.00169642 | ||||
Holdplatform_Air... | 7599018 | 2137 days ago | IN | 0 ETH | 0.00006735 | ||||
Holdplatform_Air... | 7599013 | 2137 days ago | IN | 0 ETH | 0.00011254 | ||||
Holdplatform_Wit... | 7598998 | 2137 days ago | IN | 0 ETH | 0.00014668 | ||||
Withdraw Affilia... | 7598941 | 2137 days ago | IN | 0 ETH | 0.00027195 | ||||
Withdraw Affilia... | 7598934 | 2137 days ago | IN | 0 ETH | 0.00018195 | ||||
Claim Tokens | 7598775 | 2137 days ago | IN | 0 ETH | 0.00050654 | ||||
Holdplatform | 7598768 | 2137 days ago | IN | 0 ETH | 0.00126651 | ||||
Holdplatform | 7598731 | 2137 days ago | IN | 0 ETH | 0.00140341 | ||||
Add Contract Add... | 7598712 | 2137 days ago | IN | 0 ETH | 0.0004539 | ||||
Holdplatform | 7598671 | 2137 days ago | IN | 0 ETH | 0.00126613 | ||||
Claim Tokens | 7598579 | 2137 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589770 | 2138 days ago | IN | 0 ETH | 0.00055154 | ||||
Holdplatform | 7589756 | 2138 days ago | IN | 0 ETH | 0.00155517 | ||||
Cashback Code | 7589748 | 2138 days ago | IN | 0 ETH | 0.00013809 | ||||
Claim Tokens | 7589733 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589724 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589691 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589677 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589650 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589643 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589632 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589570 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589557 | 2138 days ago | IN | 0 ETH | 0.00041654 | ||||
Claim Tokens | 7589523 | 2138 days ago | IN | 0 ETH | 0.00041654 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ldoh
Compiler Version
v0.4.25+commit.59dbf8f1
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-04-17 */ pragma solidity ^0.4.25; /** .----------------. .----------------. .----------------. .----------------. | .--------------. || .--------------. || .--------------. || .--------------. | | | ____ ____ | || | ____ | || | _____ | || | ________ | | | | |_ || _| | || | .' `. | || | |_ _| | || | |_ ___ `. | | | | | |__| | | || | / .--. \ | || | | | | || | | | `. \ | | | | | __ | | || | | | | | | || | | | _ | || | | | | | | | | | _| | | |_ | || | \ `--' / | || | _| |__/ | | || | _| |___.' / | | | | |____||____| | || | `.____.' | || | |________| | || | |________.' | | | | | || | | || | | || | | | | '--------------' || '--------------' || '--------------' || '--------------' | '----------------' '----------------' '----------------' '----------------' */ /*============================== = Version 7.6 = ==============================*/ contract EthereumSmartContract { address EthereumNodes; constructor() public { EthereumNodes = msg.sender; } modifier restricted() { require(msg.sender == EthereumNodes); _; } function GetEthereumNodes() public view returns (address owner) { return EthereumNodes; } } contract ldoh is EthereumSmartContract { /*============================== = EVENTS = ==============================*/ event onCashbackCode (address indexed hodler, address cashbackcode); event onAffiliateBonus (address indexed hodler, address indexed tokenAddress, string tokenSymbol, uint256 amount, uint256 endtime); event onClaimTokens (address indexed hodler, address indexed tokenAddress, string tokenSymbol, uint256 amount, uint256 endtime); event onHoldplatform (address indexed hodler, address indexed tokenAddress, string tokenSymbol, uint256 amount, uint256 endtime); event onAddContractAddress(address indexed hodler, address indexed contracthodler, uint256 Currentprice, uint256 _maxcontribution, string _ContractSymbol, uint256 _PercentPermonth, uint256 _HodlingTime); event onHoldplatformsetting(address indexed hodler, address indexed Tokenairdrop, bool HPM_status, uint256 HPM_divider, uint256 HPM_ratio, uint256 datetime); event onHoldplatformdeposit(address indexed hodler, uint256 amount, uint256 newbalance, uint256 datetime); event onHoldplatformwithdraw(address indexed hodler, uint256 amount, uint256 newbalance, uint256 datetime); event onReceiveAirdrop(address indexed hodler, uint256 amount, uint256 datetime); /*============================== = VARIABLES = ==============================*/ //-------o Affiliate = 12% o-------o Cashback = 16% o-------o Total Receive = 88% o-------o Without Cashback = 72% o-------o // Struct Database struct Safe { uint256 id; // 01 -- > Registration Number uint256 amount; // 02 -- > Total amount of contribution to this transaction uint256 endtime; // 03 -- > The Expiration Of A Hold Platform Based On Unix Time address user; // 04 -- > The ETH address that you are using address tokenAddress; // 05 -- > The Token Contract Address That You Are Using string tokenSymbol; // 06 -- > The Token Symbol That You Are Using uint256 amountbalance; // 07 -- > 88% from Contribution / 72% Without Cashback uint256 cashbackbalance; // 08 -- > 16% from Contribution / 0% Without Cashback uint256 lasttime; // 09 -- > The Last Time You Withdraw Based On Unix Time uint256 percentage; // 10 -- > The percentage of tokens that are unlocked every month ( Default = 3% ) uint256 percentagereceive; // 11 -- > The Percentage You Have Received uint256 tokenreceive; // 12 -- > The Number Of Tokens You Have Received uint256 lastwithdraw; // 13 -- > The Last Amount You Withdraw address referrer; // 14 -- > Your ETH referrer address bool cashbackstatus; // 15 -- > Cashback Status } uint256 private idnumber; // 01 -- > ID number ( Start from 500 ) uint256 public TotalUser; // 02 -- > Total Smart Contract User mapping(address => address) public cashbackcode; // 03 -- > Cashback Code mapping(address => uint256[]) public idaddress; // 04 -- > Search Address by ID mapping(address => address[]) public afflist; // 05 -- > Affiliate List by ID mapping(address => string) public ContractSymbol; // 06 -- > Contract Address Symbol mapping(uint256 => Safe) private _safes; // 07 -- > Struct safe database mapping(address => bool) public contractaddress; // 08 -- > Contract Address mapping(address => uint256) public percent; // 09 -- > Monthly Unlock Percentage (Default 3%) mapping(address => uint256) public hodlingTime; // 10 -- > Length of hold time in seconds mapping(address => uint256) public TokenBalance; // 11 -- > Token Balance mapping(address => uint256) public maxcontribution; // 12 -- > Maximum Contribution mapping(address => uint256) public AllContribution; // 13 -- > Deposit amount for all members mapping(address => uint256) public AllPayments; // 14 -- > Withdraw amount for all members mapping(address => uint256) public activeuser; // 15 -- > Active User Status mapping(uint256 => uint256) public TXCount; //1st uint256, Category >>> 1 = Total User, 2 = Total TX Hold, 3 = Total TX Unlock, 4 = Total TX Airdrop, 5 = Total TX Affiliate Withdraw mapping (address => mapping (uint256 => uint256)) public token_price; //2th uint256, Category >>> 1 = Current Price, 2 = ATH Price, 3 = ATL Price mapping (address => mapping (address => mapping (uint256 => uint256))) public Statistics; //3rd uint256, Category >>> 1 = LifetimeContribution, 2 = LifetimePayments, 3 = Affiliatevault, 4 = Affiliateprofit, 5 = ActiveContribution // Airdrop - Hold Platform (HPM) address public Holdplatform_address; uint256 public Holdplatform_balance; mapping(address => bool) public Holdplatform_status; mapping(address => uint256) public Holdplatform_divider; /*============================== = CONSTRUCTOR = ==============================*/ constructor() public { idnumber = 500; Holdplatform_address = 0x23bAdee11Bf49c40669e9b09035f048e9146213e; //Change before deploy } /*============================== = AVAILABLE FOR EVERYONE = ==============================*/ //-------o Function 01 - Ethereum Payable function () public payable { revert(); } //-------o Function 02 - Cashback Code function CashbackCode(address _cashbackcode) public { require(_cashbackcode != msg.sender); if (cashbackcode[msg.sender] == 0 && activeuser[_cashbackcode] >= 1) { cashbackcode[msg.sender] = _cashbackcode; } else { cashbackcode[msg.sender] = EthereumNodes; } emit onCashbackCode(msg.sender, _cashbackcode); } //-------o Function 03 - Contribute //--o 01 function Holdplatform(address tokenAddress, uint256 amount) public { require(tokenAddress != 0x0); require(amount > 0 && add(Statistics[msg.sender][tokenAddress][5], amount) <= maxcontribution[tokenAddress] ); if (contractaddress[tokenAddress] == false) { revert(); } else { ERC20Interface token = ERC20Interface(tokenAddress); require(token.transferFrom(msg.sender, address(this), amount)); HodlTokens2(tokenAddress, amount);} } //--o 02 function HodlTokens2(address tokenAddress, uint256 amount) private { if (Holdplatform_status[tokenAddress] == true) { require(Holdplatform_balance > 0 ); uint256 divider = Holdplatform_divider[tokenAddress]; uint256 airdrop = div(amount, divider); address airdropaddress = Holdplatform_address; ERC20Interface token = ERC20Interface(airdropaddress); token.transfer(msg.sender, airdrop); Holdplatform_balance = sub(Holdplatform_balance, airdrop); TXCount[4]++; emit onReceiveAirdrop(msg.sender, airdrop, now); } HodlTokens3(tokenAddress, amount); } //--o 03 function HodlTokens3(address ERC, uint256 amount) private { uint256 AvailableBalances = div(mul(amount, 72), 100); if (cashbackcode[msg.sender] == 0 ) { //--o Hold without cashback code address ref = EthereumNodes; cashbackcode[msg.sender] = EthereumNodes; uint256 AvailableCashback = 0; uint256 zerocashback = div(mul(amount, 28), 100); Statistics[EthereumNodes][ERC][3] = add(Statistics[EthereumNodes][ERC][3], zerocashback); Statistics[EthereumNodes][ERC][4] = add(Statistics[EthereumNodes][ERC][4], zerocashback); } else { //--o Cashback code has been activated ref = cashbackcode[msg.sender]; uint256 affcomission = div(mul(amount, 12), 100); AvailableCashback = div(mul(amount, 16), 100); uint256 ReferrerContribution = Statistics[ref][ERC][5]; uint256 ReferralContribution = add(Statistics[ref][ERC][5], amount); if (ReferrerContribution >= ReferralContribution) { //--o if referrer contribution >= referral contribution Statistics[ref][ERC][3] = add(Statistics[ref][ERC][3], affcomission); Statistics[ref][ERC][4] = add(Statistics[ref][ERC][4], affcomission); } else { //--o if referral contribution > referrer contribution uint256 Newbie = div(mul(ReferrerContribution, 12), 100); Statistics[ref][ERC][3] = add(Statistics[ref][ERC][3], Newbie); Statistics[ref][ERC][4] = add(Statistics[ref][ERC][4], Newbie); uint256 NodeFunds = sub(affcomission, Newbie); Statistics[EthereumNodes][ERC][3] = add(Statistics[EthereumNodes][ERC][3], NodeFunds); Statistics[EthereumNodes][ERC][4] = add(Statistics[EthereumNodes][ERC][4], NodeFunds); } } HodlTokens4(ERC, amount, AvailableBalances, AvailableCashback, ref); } //--o 04 function HodlTokens4(address ERC, uint256 amount, uint256 AvailableBalances, uint256 AvailableCashback, address ref) private { ERC20Interface token = ERC20Interface(ERC); uint256 TokenPercent = percent[ERC]; uint256 TokenHodlTime = hodlingTime[ERC]; uint256 HodlTime = add(now, TokenHodlTime); uint256 AM = amount; uint256 AB = AvailableBalances; uint256 AC = AvailableCashback; amount = 0; AvailableBalances = 0; AvailableCashback = 0; _safes[idnumber] = Safe(idnumber, AM, HodlTime, msg.sender, ERC, token.symbol(), AB, AC, now, TokenPercent, 0, 0, 0, ref, false); Statistics[msg.sender][ERC][1] = add(Statistics[msg.sender][ERC][1], AM); Statistics[msg.sender][ERC][5] = add(Statistics[msg.sender][ERC][5], AM); AllContribution[ERC] = add(AllContribution[ERC], AM); TokenBalance[ERC] = add(TokenBalance[ERC], AM); if(activeuser[msg.sender] == 1 ) { idaddress[msg.sender].push(idnumber); idnumber++; TXCount[2]++; } else { afflist[ref].push(msg.sender); idaddress[msg.sender].push(idnumber); idnumber++; TXCount[1]++; TXCount[2]++; TotalUser++; } activeuser[msg.sender] = 1; emit onHoldplatform(msg.sender, ERC, token.symbol(), AM, HodlTime); } //-------o Function 05 - Claim Token That Has Been Unlocked function ClaimTokens(address tokenAddress, uint256 id) public { require(tokenAddress != 0x0); require(id != 0); Safe storage s = _safes[id]; require(s.user == msg.sender); require(s.tokenAddress == tokenAddress); if (s.amountbalance == 0) { revert(); } else { UnlockToken2(tokenAddress, id); } } //--o 01 function UnlockToken2(address ERC, uint256 id) private { Safe storage s = _safes[id]; require(s.id != 0); require(s.tokenAddress == ERC); uint256 eventAmount = s.amountbalance; address eventTokenAddress = s.tokenAddress; string memory eventTokenSymbol = s.tokenSymbol; if(s.endtime < now){ //--o Hold Complete uint256 amounttransfer = add(s.amountbalance, s.cashbackbalance); Statistics[msg.sender][ERC][5] = sub(Statistics[s.user][s.tokenAddress][5], s.amount); s.lastwithdraw = s.amountbalance; s.amountbalance = 0; s.lasttime = now; PayToken(s.user, s.tokenAddress, amounttransfer); if(s.cashbackbalance > 0 && s.cashbackstatus == false || s.cashbackstatus == true) { s.tokenreceive = div(mul(s.amount, 88), 100) ; s.percentagereceive = mul(1000000000000000000, 88); } else { s.tokenreceive = div(mul(s.amount, 72), 100) ; s.percentagereceive = mul(1000000000000000000, 72); } s.cashbackbalance = 0; emit onClaimTokens(msg.sender, eventTokenAddress, eventTokenSymbol, eventAmount, now); } else { UnlockToken3(ERC, s.id); } } //--o 02 function UnlockToken3(address ERC, uint256 id) private { Safe storage s = _safes[id]; require(s.id != 0); require(s.tokenAddress == ERC); uint256 timeframe = sub(now, s.lasttime); uint256 CalculateWithdraw = div(mul(div(mul(s.amount, s.percentage), 100), timeframe), 2592000); // 2592000 = seconds30days //--o = s.amount * s.percentage / 100 * timeframe / seconds30days ; uint256 MaxWithdraw = div(s.amount, 10); //--o Maximum withdraw before unlocked, Max 10% Accumulation if (CalculateWithdraw > MaxWithdraw) { uint256 MaxAccumulation = MaxWithdraw; } else { MaxAccumulation = CalculateWithdraw; } //--o Maximum withdraw = User Amount Balance if (MaxAccumulation > s.amountbalance) { uint256 realAmount1 = s.amountbalance; } else { realAmount1 = MaxAccumulation; } uint256 realAmount = add(s.cashbackbalance, realAmount1); uint256 newamountbalance = sub(s.amountbalance, realAmount1); s.cashbackbalance = 0; s.amountbalance = newamountbalance; s.lastwithdraw = realAmount; s.lasttime = now; UnlockToken4(ERC, id, newamountbalance, realAmount); } //--o 03 function UnlockToken4(address ERC, uint256 id, uint256 newamountbalance, uint256 realAmount) private { Safe storage s = _safes[id]; require(s.id != 0); require(s.tokenAddress == ERC); uint256 eventAmount = realAmount; address eventTokenAddress = s.tokenAddress; string memory eventTokenSymbol = s.tokenSymbol; uint256 tokenaffiliate = div(mul(s.amount, 12), 100) ; uint256 maxcashback = div(mul(s.amount, 16), 100) ; if (cashbackcode[msg.sender] == EthereumNodes ) { uint256 tokenreceived = sub(sub(sub(s.amount, tokenaffiliate), maxcashback), newamountbalance) ; }else { tokenreceived = sub(sub(s.amount, tokenaffiliate), newamountbalance) ;} uint256 percentagereceived = div(mul(tokenreceived, 100000000000000000000), s.amount) ; s.tokenreceive = tokenreceived; s.percentagereceive = percentagereceived; PayToken(s.user, s.tokenAddress, realAmount); emit onClaimTokens(msg.sender, eventTokenAddress, eventTokenSymbol, eventAmount, now); } //--o Pay Token function PayToken(address user, address tokenAddress, uint256 amount) private { ERC20Interface token = ERC20Interface(tokenAddress); require(token.balanceOf(address(this)) >= amount); token.transfer(user, amount); TokenBalance[tokenAddress] = sub(TokenBalance[tokenAddress], amount); AllPayments[tokenAddress] = add(AllPayments[tokenAddress], amount); Statistics[msg.sender][tokenAddress][2] = add(Statistics[user][tokenAddress][2], amount); TXCount[3]++; Airdrop(tokenAddress, amount); } //-------o Function 05 - Airdrop function Airdrop(address tokenAddress, uint256 amount) private { if (Holdplatform_status[tokenAddress] == true) { require(Holdplatform_balance > 0 ); uint256 divider = Holdplatform_divider[tokenAddress]; uint256 airdrop = div(div(amount, divider), 4); address airdropaddress = Holdplatform_address; ERC20Interface token = ERC20Interface(airdropaddress); token.transfer(msg.sender, airdrop); Holdplatform_balance = sub(Holdplatform_balance, airdrop); TXCount[4]++; emit onReceiveAirdrop(msg.sender, airdrop, now); } } //-------o Function 06 - Get How Many Contribute ? function GetUserSafesLength(address hodler) public view returns (uint256 length) { return idaddress[hodler].length; } //-------o Function 07 - Get How Many Affiliate ? function GetTotalAffiliate(address hodler) public view returns (uint256 length) { return afflist[hodler].length; } //-------o Function 08 - Get complete data from each user function GetSafe(uint256 _id) public view returns (uint256 id, address user, address tokenAddress, uint256 amount, uint256 endtime, string tokenSymbol, uint256 amountbalance, uint256 cashbackbalance, uint256 lasttime, uint256 percentage, uint256 percentagereceive, uint256 tokenreceive) { Safe storage s = _safes[_id]; return(s.id, s.user, s.tokenAddress, s.amount, s.endtime, s.tokenSymbol, s.amountbalance, s.cashbackbalance, s.lasttime, s.percentage, s.percentagereceive, s.tokenreceive); } //-------o Function 09 - Withdraw Affiliate Bonus function WithdrawAffiliate(address user, address tokenAddress) public { require(tokenAddress != 0x0); require(Statistics[user][tokenAddress][3] > 0 ); uint256 amount = Statistics[msg.sender][tokenAddress][3]; Statistics[msg.sender][tokenAddress][3] = 0; TokenBalance[tokenAddress] = sub(TokenBalance[tokenAddress], amount); AllPayments[tokenAddress] = add(AllPayments[tokenAddress], amount); uint256 eventAmount = amount; address eventTokenAddress = tokenAddress; string memory eventTokenSymbol = ContractSymbol[tokenAddress]; ERC20Interface token = ERC20Interface(tokenAddress); require(token.balanceOf(address(this)) >= amount); token.transfer(user, amount); Statistics[user][tokenAddress][2] = add(Statistics[user][tokenAddress][2], amount); TXCount[5]++; emit onAffiliateBonus(msg.sender, eventTokenAddress, eventTokenSymbol, eventAmount, now); } /*============================== = RESTRICTED = ==============================*/ //-------o 01 Add Contract Address function AddContractAddress(address tokenAddress, uint256 Currentprice, uint256 _maxcontribution, string _ContractSymbol, uint256 _PercentPermonth) public restricted { uint256 newSpeed = _PercentPermonth; require(newSpeed >= 3 && newSpeed <= 12); percent[tokenAddress] = newSpeed; ContractSymbol[tokenAddress] = _ContractSymbol; maxcontribution[tokenAddress] = _maxcontribution; uint256 _HodlingTime = mul(div(72, newSpeed), 30); uint256 HodlTime = _HodlingTime * 1 days; hodlingTime[tokenAddress] = HodlTime; token_price[tokenAddress][1] = Currentprice; contractaddress[tokenAddress] = true; emit onAddContractAddress(msg.sender, tokenAddress, Currentprice, _maxcontribution, _ContractSymbol, _PercentPermonth, HodlTime); } //-------o 02 - Update Token Price (USD) function TokenPrice(address tokenAddress, uint256 Currentprice, uint256 ATHprice, uint256 ATLprice) public restricted { if (Currentprice > 0 ) { token_price[tokenAddress][1] = Currentprice; } if (ATHprice > 0 ) { token_price[tokenAddress][2] = ATHprice; } if (ATLprice > 0 ) { token_price[tokenAddress][3] = ATLprice; } } //-------o 03 Hold Platform function Holdplatform_Airdrop(address tokenAddress, bool HPM_status, uint256 HPM_divider) public restricted { Holdplatform_status[tokenAddress] = HPM_status; Holdplatform_divider[tokenAddress] = HPM_divider; // Airdrop = 100% : Divider uint256 HPM_ratio = div(100, HPM_divider); emit onHoldplatformsetting(msg.sender, tokenAddress, HPM_status, HPM_divider, HPM_ratio, now); } //--o Deposit function Holdplatform_Deposit(uint256 amount) restricted public { require(amount > 0 ); ERC20Interface token = ERC20Interface(Holdplatform_address); require(token.transferFrom(msg.sender, address(this), amount)); uint256 newbalance = add(Holdplatform_balance, amount) ; Holdplatform_balance = newbalance; emit onHoldplatformdeposit(msg.sender, amount, newbalance, now); } //--o Withdraw function Holdplatform_Withdraw(uint256 amount) restricted public { require(Holdplatform_balance > 0); uint256 newbalance = sub(Holdplatform_balance, amount) ; Holdplatform_balance = newbalance; ERC20Interface token = ERC20Interface(Holdplatform_address); require(token.balanceOf(address(this)) >= amount); token.transfer(msg.sender, amount); emit onHoldplatformwithdraw(msg.sender, amount, newbalance, now); } //-------o 04 - Return All Tokens To Their Respective Addresses function ReturnAllTokens() restricted public { for(uint256 i = 1; i < idnumber; i++) { Safe storage s = _safes[i]; if (s.id != 0) { if(s.amountbalance > 0) { uint256 amount = add(s.amountbalance, s.cashbackbalance); PayToken(s.user, s.tokenAddress, amount); } } } } /*============================== = SAFE MATH FUNCTIONS = ==============================*/ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); uint256 c = a / b; return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } } /*============================== = ERC20 Interface = ==============================*/ contract ERC20Interface { uint256 public totalSupply; uint256 public decimals; function symbol() public view returns (string); function balanceOf(address _owner) public view returns (uint256 balance); function transfer(address _to, uint256 _value) public returns (bool success); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); function allowance(address _owner, address _spender) public view returns (uint256 remaining); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"hodler","type":"address"}],"name":"GetTotalAffiliate","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"TXCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"AllPayments","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"ContractSymbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"hodlingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"Statistics","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"Currentprice","type":"uint256"},{"name":"_maxcontribution","type":"uint256"},{"name":"_ContractSymbol","type":"string"},{"name":"_PercentPermonth","type":"uint256"}],"name":"AddContractAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GetEthereumNodes","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"Holdplatform_Withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"},{"name":"tokenAddress","type":"address"}],"name":"WithdrawAffiliate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"GetSafe","outputs":[{"name":"id","type":"uint256"},{"name":"user","type":"address"},{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"},{"name":"endtime","type":"uint256"},{"name":"tokenSymbol","type":"string"},{"name":"amountbalance","type":"uint256"},{"name":"cashbackbalance","type":"uint256"},{"name":"lasttime","type":"uint256"},{"name":"percentage","type":"uint256"},{"name":"percentagereceive","type":"uint256"},{"name":"tokenreceive","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"idaddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"name":"Holdplatform","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"id","type":"uint256"}],"name":"ClaimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"contractaddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"cashbackcode","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"Holdplatform_divider","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cashbackcode","type":"address"}],"name":"CashbackCode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"AllContribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"afflist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"activeuser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"ReturnAllTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"Holdplatform_balance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"Holdplatform_address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"maxcontribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"Currentprice","type":"uint256"},{"name":"ATHprice","type":"uint256"},{"name":"ATLprice","type":"uint256"}],"name":"TokenPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"TokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"Holdplatform_Deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"token_price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"HPM_status","type":"bool"},{"name":"HPM_divider","type":"uint256"}],"name":"Holdplatform_Airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"hodler","type":"address"}],"name":"GetUserSafesLength","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TotalUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"Holdplatform_status","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"percent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":false,"name":"cashbackcode","type":"address"}],"name":"onCashbackCode","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":true,"name":"tokenAddress","type":"address"},{"indexed":false,"name":"tokenSymbol","type":"string"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"endtime","type":"uint256"}],"name":"onAffiliateBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":true,"name":"tokenAddress","type":"address"},{"indexed":false,"name":"tokenSymbol","type":"string"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"endtime","type":"uint256"}],"name":"onClaimTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":true,"name":"tokenAddress","type":"address"},{"indexed":false,"name":"tokenSymbol","type":"string"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"endtime","type":"uint256"}],"name":"onHoldplatform","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":true,"name":"contracthodler","type":"address"},{"indexed":false,"name":"Currentprice","type":"uint256"},{"indexed":false,"name":"_maxcontribution","type":"uint256"},{"indexed":false,"name":"_ContractSymbol","type":"string"},{"indexed":false,"name":"_PercentPermonth","type":"uint256"},{"indexed":false,"name":"_HodlingTime","type":"uint256"}],"name":"onAddContractAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":true,"name":"Tokenairdrop","type":"address"},{"indexed":false,"name":"HPM_status","type":"bool"},{"indexed":false,"name":"HPM_divider","type":"uint256"},{"indexed":false,"name":"HPM_ratio","type":"uint256"},{"indexed":false,"name":"datetime","type":"uint256"}],"name":"onHoldplatformsetting","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"newbalance","type":"uint256"},{"indexed":false,"name":"datetime","type":"uint256"}],"name":"onHoldplatformdeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"newbalance","type":"uint256"},{"indexed":false,"name":"datetime","type":"uint256"}],"name":"onHoldplatformwithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"hodler","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"datetime","type":"uint256"}],"name":"onReceiveAirdrop","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101f46001819055507323badee11bf49c40669e9b09035f048e9146213e601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615ddf80620000bf6000396000f3006080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305a2dd26146101b15780630c5d5323146102085780630d826c0b1461024957806311d2c211146102a05780631996bc1c1461035c57806327a02110146103b3578063315d47921461043457806331b78a92146104db57806336c07a691461053257806338da63d81461055f57806347f849cd146105c25780634b698aff1461070d5780634d6ac6a11461076e5780634d7f917f146107bb5780634eeaa2121461080857806356b71f71146108635780635ae33a34146108e65780635df1539c1461093d5780636a37f573146109805780637028b6a3146109d75780638b37932e14610a645780638e9e279514610abb5780639007710314610ad257806395006c3014610afd5780639961395614610b545780639ff7cdb914610bab578063b6e2b39514610c0c578063be37ec1114610c63578063d1ee27a414610c90578063d6387b1e14610cf1578063d9d61a1014610d4a578063daca166314610da1578063ec80571b14610dcc578063ee3cd82514610e27575b600080fd5b3480156101bd57600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e7e565b6040518082815260200191505060405180910390f35b34801561021457600080fd5b5061023360048036038101908080359060200190929190505050610eca565b6040518082815260200191505060405180910390f35b34801561025557600080fd5b5061028a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee2565b6040518082815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610efa565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610321578082015181840152602081019050610306565b50505050905090810190601f16801561034e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036857600080fd5b5061039d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610faa565b6040518082815260200191505060405180910390f35b3480156103bf57600080fd5b5061041e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc2565b6040518082815260200191505060405180910390f35b34801561044057600080fd5b506104d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610ff4565b005b3480156104e757600080fd5b506104f0611355565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053e57600080fd5b5061055d6004803603810190808035906020019092919050505061137e565b005b34801561056b57600080fd5b506105c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061164d565b005b3480156105ce57600080fd5b506105ed60048036038101908080359060200190929190505050611e2c565b604051808d81526020018c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200180602001888152602001878152602001868152602001858152602001848152602001838152602001828103825289818151815260200191508051906020019080838360005b838110156106c75780820151818401526020810190506106ac565b50505050905090810190601f1680156106f45780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561071957600080fd5b50610758600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f95565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b506107b9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fc5565b005b3480156107c757600080fd5b50610806600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061226a565b005b34801561081457600080fd5b50610849600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612393565b604051808215151515815260200191505060405180910390f35b34801561086f57600080fd5b506108a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f257600080fd5b50610927600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123e6565b6040518082815260200191505060405180910390f35b34801561094957600080fd5b5061097e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123fe565b005b34801561098c57600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a3565b6040518082815260200191505060405180910390f35b3480156109e357600080fd5b50610a22600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7057600080fd5b50610aa5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612708565b6040518082815260200191505060405180910390f35b348015610ac757600080fd5b50610ad0612720565b005b348015610ade57600080fd5b50610ae761283a565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b12612840565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b6057600080fd5b50610b95600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612866565b6040518082815260200191505060405180910390f35b348015610bb757600080fd5b50610c0a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919050505061287e565b005b348015610c1857600080fd5b50610c4d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129ff565b6040518082815260200191505060405180910390f35b348015610c6f57600080fd5b50610c8e60048036038101908080359060200190929190505050612a17565b005b348015610c9c57600080fd5b50610cdb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c3e565b6040518082815260200191505060405180910390f35b348015610cfd57600080fd5b50610d48600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050612c63565b005b348015610d5657600080fd5b50610d8b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612def565b6040518082815260200191505060405180910390f35b348015610dad57600080fd5b50610db6612e3b565b6040518082815260200191505060405180910390f35b348015610dd857600080fd5b50610e0d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e41565b604051808215151515815260200191505060405180910390f35b348015610e3357600080fd5b50610e68600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e61565b6040518082815260200191505060405180910390f35b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60106020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b60066020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa25780601f10610f7757610100808354040283529160200191610fa2565b820191906000526020600020905b815481529060010190602001808311610f8557829003601f168201915b505050505081565b600a6020528060005260406000206000915090505481565b601260205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561105457600080fd5b839250600383101580156110695750600c8311155b151561107457600080fd5b82600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020908051906020019061110b929190615c8e565b5085600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061116561115e604885612e79565b601e612ea3565b9150620151808202905080600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555086601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060018152602001908152602001600020819055506001600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4959c2ecf85a16e77ca1314f403457e0b3f3f46bad5f236872c35296e2c972b489898989876040518086815260200185815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561130d5780820151818401526020810190506112f2565b50505050905090810190601f16801561133a5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a35050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113dc57600080fd5b60006014541115156113ed57600080fd5b6113f960145484612ee1565b915081601481905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156114c357600080fd5b505af11580156114d7573d6000803e3d6000fd5b505050506040513d60208110156114ed57600080fd5b81019080805190602001909291905050501015151561150b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f2bde15def2f16e4dbecb9595aa8ea99533154a8ef788087c7794c21fdbd1a9c984844260405180848152602001838152602001828152602001935050505060405180910390a2505050565b600080600060606000808673ffffffffffffffffffffffffffffffffffffffff161415151561167b57600080fd5b6000601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205411151561171857600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205494506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006003815260200190815260200160002081905550611886600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612ee1565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611912600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612f02565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550849350859250600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a2e5780601f10611a0357610100808354040283529160200191611a2e565b820191906000526020600020905b815481529060010190602001808311611a1157829003601f168201915b50505050509150859050848173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d6020811015611afe57600080fd5b810190808051906020019092919050505010151515611b1c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611bbf57600080fd5b505af1158015611bd3573d6000803e3d6000fd5b505050506040513d6020811015611be957600080fd5b810190808051906020019092919050505050611c93601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281526020019081526020016000205486612f02565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028152602001908152602001600020819055506010600060058152602001908152602001600020600081548092919060010191905055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f772c23bb220b948b929f588a1f309403a056930064c60b1452db4c2904918b918487426040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015611de7578082015181840152602081019050611dcc565b50505050905090810190601f168015611e145780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a350505050505050565b600080600080600060606000806000806000806000600760008f8152602001908152602001600020905080600001548160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836001015484600201548560050186600601548760070154886008015489600901548a600a01548b600b0154868054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f665780601f10611f3b57610100808354040283529160200191611f66565b820191906000526020600020905b815481529060010190602001808311611f4957829003601f168201915b505050505096509c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600460205281600052604060002081815481101515611fb057fe5b90600052602060002001600091509150505481565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515611fec57600080fd5b6000821180156120d25750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120cf601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600581526020019081526020016000205484612f02565b11155b15156120dd57600080fd5b60001515600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561213b57600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561221557600080fd5b505af1158015612229573d6000803e3d6000fd5b505050506040513d602081101561223f57600080fd5b8101908080519060200190929190505050151561225b57600080fd5b6122658383612f23565b505050565b6000808373ffffffffffffffffffffffffffffffffffffffff161415151561229157600080fd5b600082141515156122a157600080fd5b6007600083815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561231457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561237257600080fd5b60008160060154141561238457600080fd5b61238e8383613187565b505050565b60086020528060005260406000206000915054906101000a900460ff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60166020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561243957600080fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156124fe57506001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156125865780600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612626565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b3373ffffffffffffffffffffffffffffffffffffffff167f3bf019f5f0b17480693601e318eb6120c1eac4732d3b7b3a006c5024f9dd69bd82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250565b600d6020528060005260406000206000915090505481565b6005602052816000526040600020818154811015156126d657fe5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020528060005260406000206000915090505481565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561278057600080fd5b600192505b600154831015612835576007600084815260200190815260200160002091506000826000015414151561282857600082600601541115612827576127d182600601548360070154612f02565b90506128268260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836136ba565b5b5b8280600101935050612785565b505050565b60145481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128d957600080fd5b60008311156129395782601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060018152602001908152602001600020819055505b60008211156129995781601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028152602001908152602001600020819055505b60008111156129f95780601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060038152602001908152602001600020819055505b50505050565b600b6020528060005260406000206000915090505481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a7557600080fd5b600083111515612a8457600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612b8057600080fd5b505af1158015612b94573d6000803e3d6000fd5b505050506040513d6020811015612baa57600080fd5b81019080805190602001909291905050501515612bc657600080fd5b612bd260145484612f02565b9050806014819055503373ffffffffffffffffffffffffffffffffffffffff167fc18bc2c2aa86fe3c2a6dfb170d6e9385977269fa00961153b2094f1c7243abf284834260405180848152602001838152602001828152602001935050505060405180910390a2505050565b6011602052816000526040600020602052806000526040600020600091509150505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612cc057600080fd5b82601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d66606483612e79565b90508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4f3632e652f8711b5a59739c38e584af1012161c937a7d76b2e3de179fcd22eb85858542604051808515151515815260200184815260200183815260200182815260200194505050505060405180910390a350505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60025481565b60156020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915090505481565b600080600083111515612e8b57600080fd5b8284811515612e9657fe5b0490508091505092915050565b6000806000841415612eb85760009150612eda565b8284029050828482811515612ec957fe5b04141515612ed657600080fd5b8091505b5092915050565b600080838311151515612ef357600080fd5b82840390508091505092915050565b6000808284019050838110151515612f1957600080fd5b8091505092915050565b60008060008060011515601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415613175576000601454111515612f9357600080fd5b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350612fdf8585612e79565b9250601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130ac57600080fd5b505af11580156130c0573d6000803e3d6000fd5b505050506040513d60208110156130d657600080fd5b8101908080519060200190929190505050506130f460145484612ee1565b6014819055506010600060048152602001908152602001600020600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f93e34edfdcd5ca8f9d8786b9baa823f85e7b7f3981742ae53ceb0bef9aa610f78442604051808381526020018281526020019250505060405180910390a25b61317f8686613af8565b505050505050565b60008060006060600060076000878152602001908152602001600020945060008560000154141515156131b957600080fd5b8673ffffffffffffffffffffffffffffffffffffffff168560040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561321757600080fd5b846006015493508460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250846005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132dd5780601f106132b2576101008083540402835291602001916132dd565b820191906000526020600020905b8154815290600101906020018083116132c057829003601f168201915b5050505050915042856002015410156136a25761330285600601548660070154612f02565b90506133e8601260008760030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008760040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060058152602001908152602001600020548660010154612ee1565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006005815260200190815260200160002081905550846006015485600c0181905550600085600601819055504285600801819055506134ed8560030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836136ba565b6000856007015411801561351657506000151585600d0160149054906101000a900460ff161515145b8061353657506001151585600d0160149054906101000a900460ff161515145b1561357c5761355461354d86600101546058612ea3565b6064612e79565b85600b018190555061356f670de0b6b3a76400006058612ea3565b85600a01819055506135b9565b61359561358e86600101546048612ea3565b6064612e79565b85600b01819055506135b0670de0b6b3a76400006048612ea3565b85600a01819055505b600085600701819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f959346e7719e944c33f76798af64519a9c17a870c805ae49c011066f18fa9cb08487426040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015613661578082015181840152602081019050613646565b50505050905090810190601f16801561368e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a36136b1565b6136b08786600001546148de565b5b50505050505050565b6000829050818173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561375b57600080fd5b505af115801561376f573d6000803e3d6000fd5b505050506040513d602081101561378557600080fd5b8101908080519060200190929190505050101515156137a357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561384657600080fd5b505af115801561385a573d6000803e3d6000fd5b505050506040513d602081101561387057600080fd5b8101908080519060200190929190505050506138cb600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ee1565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613957600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612f02565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a32601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281526020019081526020016000205483612f02565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002081905550601060006003815260200190815260200160002060008154809291906001019190505550613af28383614a52565b50505050565b6000806000806000806000806000613b1b613b148b6048612ea3565b6064612e79565b98506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613f56576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1697506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060009650613c77613c708b601c612ea3565b6064612e79565b9550613d32601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205487612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006003815260200190815260200160002081905550613e9e601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205487612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055506148c4565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169750613fcd613fc68b600c612ea3565b6064612e79565b9450613fe4613fdd8b6010612ea3565b6064612e79565b9650601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006005815260200190815260200160002054935061410f601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060058152602001908152602001600020548b612f02565b92508284101515614373576141b2601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205486612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060038152602001908152602001600020819055506142dc601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205486612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055506148c3565b61438861438185600c612ea3565b6064612e79565b9150614422601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205483612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000208190555061454c601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205483612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055506145e88583612ee1565b90506146a3601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205482612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000208190555061480f601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205482612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055505b5b6148d18b8b8b8a8c614cb6565b5050505050505050505050565b600080600080600080600080600760008a81526020019081526020016000209750600088600001541415151561491357600080fd5b8973ffffffffffffffffffffffffffffffffffffffff168860040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561497157600080fd5b61497f428960080154612ee1565b96506149b26149a96149a361499c8b600101548c60090154612ea3565b6064612e79565b89612ea3565b62278d00612e79565b95506149c38860010154600a612e79565b9450848611156149d5578493506149d9565b8593505b87600601548411156149f157876006015492506149f5565b8392505b614a03886007015484612f02565b9150614a13886006015484612ee1565b9050600088600701819055508088600601819055508188600c0181905550428860080181905550614a468a8a8385615897565b50505050505050505050565b60008060008060011515601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415614cae576000601454111515614ac257600080fd5b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350614b18614b118686612e79565b6004612e79565b9250601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015614be557600080fd5b505af1158015614bf9573d6000803e3d6000fd5b505050506040513d6020811015614c0f57600080fd5b810190808051906020019092919050505050614c2d60145484612ee1565b6014819055506010600060048152602001908152602001600020600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f93e34edfdcd5ca8f9d8786b9baa823f85e7b7f3981742ae53ceb0bef9aa610f78442604051808381526020018281526020019250505060405180910390a25b505050505050565b60008060008060008060008b9650600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600a60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549450614d524286612f02565b93508a925089915088905060009a5060009950600098506101e06040519081016040528060015481526020018481526020018581526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015614e2657600080fd5b505af1158015614e3a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015614e6457600080fd5b810190808051640100000000811115614e7c57600080fd5b82810190506020810184811115614e9257600080fd5b8151856001820283011164010000000082111715614eaf57600080fd5b505092919050505081526020018381526020018281526020014281526020018781526020016000815260200160008152602001600081526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525060076000600154815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005019080519060200190614fe9929190615d0e565b5060c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b015561018082015181600c01556101a082015181600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101c082015181600d0160146101000a81548160ff021916908315150217905550905050615139601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600181526020019081526020016000205484612f02565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001815260200190815260200160002081905550615263601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600581526020019081526020016000205484612f02565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600581526020019081526020016000208190555061533e600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612f02565b600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506153ca600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612f02565b600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156154fb57600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001549080600181540180825580915050906001820390600052602060002001600090919290919091505550600160008154809291906001019190505550601060006002815260200190815260200160002060008154809291906001019190505550615676565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060015490806001815401808255809150509060018203906000526020600020016000909192909190915055506001600081548092919060010191905055506010600060018152602001908152602001600020600081548092919060010191905055506010600060028152602001908152602001600020600081548092919060010191905055506002600081548092919060010191905055505b6001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f05fb89c4b424ffdc61374e38eb92a8ff16db5b32923736b264aedfcc06be08468973ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15801561576e57600080fd5b505af1158015615782573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156157ac57600080fd5b8101908080516401000000008111156157c457600080fd5b828101905060208101848111156157da57600080fd5b81518560018202830111640100000000821117156157f757600080fd5b505092919050505086886040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561584d578082015181840152602081019050615832565b50505050905090810190601f16801561587a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050505050505050565b60008060006060600080600080600760008c8152602001908152602001600020975060008860000154141515156158cd57600080fd5b8b73ffffffffffffffffffffffffffffffffffffffff168860040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561592b57600080fd5b8896508760040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550876005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156159ed5780601f106159c2576101008083540402835291602001916159ed565b820191906000526020600020905b8154815290600101906020018083116159d057829003601f168201915b50505050509450615a0d615a068960010154600c612ea3565b6064612e79565b9350615a28615a2189600101546010612ea3565b6064612e79565b92506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415615b0557615afe615af8615af28a6001015487612ee1565b85612ee1565b8b612ee1565b9150615b1f565b615b1c615b16896001015486612ee1565b8b612ee1565b91505b615b3f615b358368056bc75e2d63100000612ea3565b8960010154612e79565b90508188600b01819055508088600a0181905550615ba68860030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168960040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b6136ba565b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f959346e7719e944c33f76798af64519a9c17a870c805ae49c011066f18fa9cb0878a426040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015615c44578082015181840152602081019050615c29565b50505050905090810190601f168015615c715780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ccf57805160ff1916838001178555615cfd565b82800160010185558215615cfd579182015b82811115615cfc578251825591602001919060010190615ce1565b5b509050615d0a9190615d8e565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615d4f57805160ff1916838001178555615d7d565b82800160010185558215615d7d579182015b82811115615d7c578251825591602001919060010190615d61565b5b509050615d8a9190615d8e565b5090565b615db091905b80821115615dac576000816000905550600101615d94565b5090565b905600a165627a7a723058203a31862e079eeb7f685a06144845d8b6a048495783389da73b196f9133359b230029
Deployed Bytecode
0x6080604052600436106101ac576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305a2dd26146101b15780630c5d5323146102085780630d826c0b1461024957806311d2c211146102a05780631996bc1c1461035c57806327a02110146103b3578063315d47921461043457806331b78a92146104db57806336c07a691461053257806338da63d81461055f57806347f849cd146105c25780634b698aff1461070d5780634d6ac6a11461076e5780634d7f917f146107bb5780634eeaa2121461080857806356b71f71146108635780635ae33a34146108e65780635df1539c1461093d5780636a37f573146109805780637028b6a3146109d75780638b37932e14610a645780638e9e279514610abb5780639007710314610ad257806395006c3014610afd5780639961395614610b545780639ff7cdb914610bab578063b6e2b39514610c0c578063be37ec1114610c63578063d1ee27a414610c90578063d6387b1e14610cf1578063d9d61a1014610d4a578063daca166314610da1578063ec80571b14610dcc578063ee3cd82514610e27575b600080fd5b3480156101bd57600080fd5b506101f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e7e565b6040518082815260200191505060405180910390f35b34801561021457600080fd5b5061023360048036038101908080359060200190929190505050610eca565b6040518082815260200191505060405180910390f35b34801561025557600080fd5b5061028a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee2565b6040518082815260200191505060405180910390f35b3480156102ac57600080fd5b506102e1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610efa565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610321578082015181840152602081019050610306565b50505050905090810190601f16801561034e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561036857600080fd5b5061039d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610faa565b6040518082815260200191505060405180910390f35b3480156103bf57600080fd5b5061041e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc2565b6040518082815260200191505060405180910390f35b34801561044057600080fd5b506104d9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610ff4565b005b3480156104e757600080fd5b506104f0611355565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053e57600080fd5b5061055d6004803603810190808035906020019092919050505061137e565b005b34801561056b57600080fd5b506105c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061164d565b005b3480156105ce57600080fd5b506105ed60048036038101908080359060200190929190505050611e2c565b604051808d81526020018c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200180602001888152602001878152602001868152602001858152602001848152602001838152602001828103825289818151815260200191508051906020019080838360005b838110156106c75780820151818401526020810190506106ac565b50505050905090810190601f1680156106f45780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b34801561071957600080fd5b50610758600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f95565b6040518082815260200191505060405180910390f35b34801561077a57600080fd5b506107b9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611fc5565b005b3480156107c757600080fd5b50610806600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061226a565b005b34801561081457600080fd5b50610849600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612393565b604051808215151515815260200191505060405180910390f35b34801561086f57600080fd5b506108a4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123b3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108f257600080fd5b50610927600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123e6565b6040518082815260200191505060405180910390f35b34801561094957600080fd5b5061097e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123fe565b005b34801561098c57600080fd5b506109c1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126a3565b6040518082815260200191505060405180910390f35b3480156109e357600080fd5b50610a22600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506126bb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a7057600080fd5b50610aa5600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612708565b6040518082815260200191505060405180910390f35b348015610ac757600080fd5b50610ad0612720565b005b348015610ade57600080fd5b50610ae761283a565b6040518082815260200191505060405180910390f35b348015610b0957600080fd5b50610b12612840565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b6057600080fd5b50610b95600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612866565b6040518082815260200191505060405180910390f35b348015610bb757600080fd5b50610c0a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019092919050505061287e565b005b348015610c1857600080fd5b50610c4d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129ff565b6040518082815260200191505060405180910390f35b348015610c6f57600080fd5b50610c8e60048036038101908080359060200190929190505050612a17565b005b348015610c9c57600080fd5b50610cdb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612c3e565b6040518082815260200191505060405180910390f35b348015610cfd57600080fd5b50610d48600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919080359060200190929190505050612c63565b005b348015610d5657600080fd5b50610d8b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612def565b6040518082815260200191505060405180910390f35b348015610dad57600080fd5b50610db6612e3b565b6040518082815260200191505060405180910390f35b348015610dd857600080fd5b50610e0d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e41565b604051808215151515815260200191505060405180910390f35b348015610e3357600080fd5b50610e68600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e61565b6040518082815260200191505060405180910390f35b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60106020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b60066020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa25780601f10610f7757610100808354040283529160200191610fa2565b820191906000526020600020905b815481529060010190602001808311610f8557829003601f168201915b505050505081565b600a6020528060005260406000206000915090505481565b601260205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561105457600080fd5b839250600383101580156110695750600c8311155b151561107457600080fd5b82600960008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020908051906020019061110b929190615c8e565b5085600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061116561115e604885612e79565b601e612ea3565b9150620151808202905080600a60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555086601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060018152602001908152602001600020819055506001600860008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4959c2ecf85a16e77ca1314f403457e0b3f3f46bad5f236872c35296e2c972b489898989876040518086815260200185815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561130d5780820151818401526020810190506112f2565b50505050905090810190601f16801561133a5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a35050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113dc57600080fd5b60006014541115156113ed57600080fd5b6113f960145484612ee1565b915081601481905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050828173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1580156114c357600080fd5b505af11580156114d7573d6000803e3d6000fd5b505050506040513d60208110156114ed57600080fd5b81019080805190602001909291905050501015151561150b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115ae57600080fd5b505af11580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f2bde15def2f16e4dbecb9595aa8ea99533154a8ef788087c7794c21fdbd1a9c984844260405180848152602001838152602001828152602001935050505060405180910390a2505050565b600080600060606000808673ffffffffffffffffffffffffffffffffffffffff161415151561167b57600080fd5b6000601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205411151561171857600080fd5b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205494506000601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006003815260200190815260200160002081905550611886600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612ee1565b600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611912600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612f02565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550849350859250600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611a2e5780601f10611a0357610100808354040283529160200191611a2e565b820191906000526020600020905b815481529060010190602001808311611a1157829003601f168201915b50505050509150859050848173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d6020811015611afe57600080fd5b810190808051906020019092919050505010151515611b1c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb88876040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611bbf57600080fd5b505af1158015611bd3573d6000803e3d6000fd5b505050506040513d6020811015611be957600080fd5b810190808051906020019092919050505050611c93601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281526020019081526020016000205486612f02565b601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028152602001908152602001600020819055506010600060058152602001908152602001600020600081548092919060010191905055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f772c23bb220b948b929f588a1f309403a056930064c60b1452db4c2904918b918487426040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015611de7578082015181840152602081019050611dcc565b50505050905090810190601f168015611e145780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a350505050505050565b600080600080600060606000806000806000806000600760008f8152602001908152602001600020905080600001548160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836001015484600201548560050186600601548760070154886008015489600901548a600a01548b600b0154868054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f665780601f10611f3b57610100808354040283529160200191611f66565b820191906000526020600020905b815481529060010190602001808311611f4957829003601f168201915b505050505096509c509c509c509c509c509c509c509c509c509c509c509c505091939597999b5091939597999b565b600460205281600052604060002081815481101515611fb057fe5b90600052602060002001600091509150505481565b6000808373ffffffffffffffffffffffffffffffffffffffff1614151515611fec57600080fd5b6000821180156120d25750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120cf601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600581526020019081526020016000205484612f02565b11155b15156120dd57600080fd5b60001515600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561213b57600080fd5b8290508073ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561221557600080fd5b505af1158015612229573d6000803e3d6000fd5b505050506040513d602081101561223f57600080fd5b8101908080519060200190929190505050151561225b57600080fd5b6122658383612f23565b505050565b6000808373ffffffffffffffffffffffffffffffffffffffff161415151561229157600080fd5b600082141515156122a157600080fd5b6007600083815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561231457600080fd5b8273ffffffffffffffffffffffffffffffffffffffff168160040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561237257600080fd5b60008160060154141561238457600080fd5b61238e8383613187565b505050565b60086020528060005260406000206000915054906101000a900460ff1681565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60166020528060005260406000206000915090505481565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561243957600080fd5b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480156124fe57506001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156125865780600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612626565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b3373ffffffffffffffffffffffffffffffffffffffff167f3bf019f5f0b17480693601e318eb6120c1eac4732d3b7b3a006c5024f9dd69bd82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250565b600d6020528060005260406000206000915090505481565b6005602052816000526040600020818154811015156126d657fe5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020528060005260406000206000915090505481565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561278057600080fd5b600192505b600154831015612835576007600084815260200190815260200160002091506000826000015414151561282857600082600601541115612827576127d182600601548360070154612f02565b90506128268260030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836136ba565b5b5b8280600101935050612785565b505050565b60145481565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156128d957600080fd5b60008311156129395782601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060018152602001908152602001600020819055505b60008211156129995781601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060028152602001908152602001600020819055505b60008111156129f95780601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060038152602001908152602001600020819055505b50505050565b600b6020528060005260406000206000915090505481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612a7557600080fd5b600083111515612a8457600080fd5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015612b8057600080fd5b505af1158015612b94573d6000803e3d6000fd5b505050506040513d6020811015612baa57600080fd5b81019080805190602001909291905050501515612bc657600080fd5b612bd260145484612f02565b9050806014819055503373ffffffffffffffffffffffffffffffffffffffff167fc18bc2c2aa86fe3c2a6dfb170d6e9385977269fa00961153b2094f1c7243abf284834260405180848152602001838152602001828152602001935050505060405180910390a2505050565b6011602052816000526040600020602052806000526040600020600091509150505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612cc057600080fd5b82601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555081601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d66606483612e79565b90508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4f3632e652f8711b5a59739c38e584af1012161c937a7d76b2e3de179fcd22eb85858542604051808515151515815260200184815260200183815260200182815260200194505050505060405180910390a350505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b60025481565b60156020528060005260406000206000915054906101000a900460ff1681565b60096020528060005260406000206000915090505481565b600080600083111515612e8b57600080fd5b8284811515612e9657fe5b0490508091505092915050565b6000806000841415612eb85760009150612eda565b8284029050828482811515612ec957fe5b04141515612ed657600080fd5b8091505b5092915050565b600080838311151515612ef357600080fd5b82840390508091505092915050565b6000808284019050838110151515612f1957600080fd5b8091505092915050565b60008060008060011515601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415613175576000601454111515612f9357600080fd5b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350612fdf8585612e79565b9250601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156130ac57600080fd5b505af11580156130c0573d6000803e3d6000fd5b505050506040513d60208110156130d657600080fd5b8101908080519060200190929190505050506130f460145484612ee1565b6014819055506010600060048152602001908152602001600020600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f93e34edfdcd5ca8f9d8786b9baa823f85e7b7f3981742ae53ceb0bef9aa610f78442604051808381526020018281526020019250505060405180910390a25b61317f8686613af8565b505050505050565b60008060006060600060076000878152602001908152602001600020945060008560000154141515156131b957600080fd5b8673ffffffffffffffffffffffffffffffffffffffff168560040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561321757600080fd5b846006015493508460040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250846005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132dd5780601f106132b2576101008083540402835291602001916132dd565b820191906000526020600020905b8154815290600101906020018083116132c057829003601f168201915b5050505050915042856002015410156136a25761330285600601548660070154612f02565b90506133e8601260008760030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008760040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060058152602001908152602001600020548660010154612ee1565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006005815260200190815260200160002081905550846006015485600c0181905550600085600601819055504285600801819055506134ed8560030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836136ba565b6000856007015411801561351657506000151585600d0160149054906101000a900460ff161515145b8061353657506001151585600d0160149054906101000a900460ff161515145b1561357c5761355461354d86600101546058612ea3565b6064612e79565b85600b018190555061356f670de0b6b3a76400006058612ea3565b85600a01819055506135b9565b61359561358e86600101546048612ea3565b6064612e79565b85600b01819055506135b0670de0b6b3a76400006048612ea3565b85600a01819055505b600085600701819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f959346e7719e944c33f76798af64519a9c17a870c805ae49c011066f18fa9cb08487426040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015613661578082015181840152602081019050613646565b50505050905090810190601f16801561368e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a36136b1565b6136b08786600001546148de565b5b50505050505050565b6000829050818173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561375b57600080fd5b505af115801561376f573d6000803e3d6000fd5b505050506040513d602081101561378557600080fd5b8101908080519060200190929190505050101515156137a357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561384657600080fd5b505af115801561385a573d6000803e3d6000fd5b505050506040513d602081101561387057600080fd5b8101908080519060200190929190505050506138cb600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612ee1565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613957600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612f02565b600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a32601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600281526020019081526020016000205483612f02565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002081905550601060006003815260200190815260200160002060008154809291906001019190505550613af28383614a52565b50505050565b6000806000806000806000806000613b1b613b148b6048612ea3565b6064612e79565b98506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613f56576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1697506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060009650613c77613c708b601c612ea3565b6064612e79565b9550613d32601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205487612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006003815260200190815260200160002081905550613e9e601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205487612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055506148c4565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169750613fcd613fc68b600c612ea3565b6064612e79565b9450613fe4613fdd8b6010612ea3565b6064612e79565b9650601260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006005815260200190815260200160002054935061410f601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060058152602001908152602001600020548b612f02565b92508284101515614373576141b2601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205486612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060038152602001908152602001600020819055506142dc601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205486612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055506148c3565b61438861438185600c612ea3565b6064612e79565b9150614422601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205483612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000208190555061454c601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205483612f02565b601260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055506145e88583612ee1565b90506146a3601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000205482612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600381526020019081526020016000208190555061480f601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600481526020019081526020016000205482612f02565b601260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060048152602001908152602001600020819055505b5b6148d18b8b8b8a8c614cb6565b5050505050505050505050565b600080600080600080600080600760008a81526020019081526020016000209750600088600001541415151561491357600080fd5b8973ffffffffffffffffffffffffffffffffffffffff168860040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561497157600080fd5b61497f428960080154612ee1565b96506149b26149a96149a361499c8b600101548c60090154612ea3565b6064612e79565b89612ea3565b62278d00612e79565b95506149c38860010154600a612e79565b9450848611156149d5578493506149d9565b8593505b87600601548411156149f157876006015492506149f5565b8392505b614a03886007015484612f02565b9150614a13886006015484612ee1565b9050600088600701819055508088600601819055508188600c0181905550428860080181905550614a468a8a8385615897565b50505050505050505050565b60008060008060011515601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415614cae576000601454111515614ac257600080fd5b601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549350614b18614b118686612e79565b6004612e79565b9250601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508190508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015614be557600080fd5b505af1158015614bf9573d6000803e3d6000fd5b505050506040513d6020811015614c0f57600080fd5b810190808051906020019092919050505050614c2d60145484612ee1565b6014819055506010600060048152602001908152602001600020600081548092919060010191905055503373ffffffffffffffffffffffffffffffffffffffff167f93e34edfdcd5ca8f9d8786b9baa823f85e7b7f3981742ae53ceb0bef9aa610f78442604051808381526020018281526020019250505060405180910390a25b505050505050565b60008060008060008060008b9650600960008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549550600a60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549450614d524286612f02565b93508a925089915088905060009a5060009950600098506101e06040519081016040528060015481526020018481526020018581526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018d73ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b158015614e2657600080fd5b505af1158015614e3a573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015614e6457600080fd5b810190808051640100000000811115614e7c57600080fd5b82810190506020810184811115614e9257600080fd5b8151856001820283011164010000000082111715614eaf57600080fd5b505092919050505081526020018381526020018281526020014281526020018781526020016000815260200160008152602001600081526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016000151581525060076000600154815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005019080519060200190614fe9929190615d0e565b5060c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b015561018082015181600c01556101a082015181600d0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101c082015181600d0160146101000a81548160ff021916908315150217905550905050615139601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600181526020019081526020016000205484612f02565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001815260200190815260200160002081905550615263601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600581526020019081526020016000205484612f02565b601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600581526020019081526020016000208190555061533e600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612f02565b600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506153ca600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612f02565b600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156154fb57600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001549080600181540180825580915050906001820390600052602060002001600090919290919091505550600160008154809291906001019190505550601060006002815260200190815260200160002060008154809291906001019190505550615676565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000203390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060015490806001815401808255809150509060018203906000526020600020016000909192909190915055506001600081548092919060010191905055506010600060018152602001908152602001600020600081548092919060010191905055506010600060028152602001908152602001600020600081548092919060010191905055506002600081548092919060010191905055505b6001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f05fb89c4b424ffdc61374e38eb92a8ff16db5b32923736b264aedfcc06be08468973ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15801561576e57600080fd5b505af1158015615782573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156157ac57600080fd5b8101908080516401000000008111156157c457600080fd5b828101905060208101848111156157da57600080fd5b81518560018202830111640100000000821117156157f757600080fd5b505092919050505086886040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561584d578082015181840152602081019050615832565b50505050905090810190601f16801561587a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050505050505050565b60008060006060600080600080600760008c8152602001908152602001600020975060008860000154141515156158cd57600080fd5b8b73ffffffffffffffffffffffffffffffffffffffff168860040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561592b57600080fd5b8896508760040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550876005018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156159ed5780601f106159c2576101008083540402835291602001916159ed565b820191906000526020600020905b8154815290600101906020018083116159d057829003601f168201915b50505050509450615a0d615a068960010154600c612ea3565b6064612e79565b9350615a28615a2189600101546010612ea3565b6064612e79565b92506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415615b0557615afe615af8615af28a6001015487612ee1565b85612ee1565b8b612ee1565b9150615b1f565b615b1c615b16896001015486612ee1565b8b612ee1565b91505b615b3f615b358368056bc75e2d63100000612ea3565b8960010154612e79565b90508188600b01819055508088600a0181905550615ba68860030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168960040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b6136ba565b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f959346e7719e944c33f76798af64519a9c17a870c805ae49c011066f18fa9cb0878a426040518080602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015615c44578082015181840152602081019050615c29565b50505050905090810190601f168015615c715780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a3505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615ccf57805160ff1916838001178555615cfd565b82800160010185558215615cfd579182015b82811115615cfc578251825591602001919060010190615ce1565b5b509050615d0a9190615d8e565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10615d4f57805160ff1916838001178555615d7d565b82800160010185558215615d7d579182015b82811115615d7c578251825591602001919060010190615d61565b5b509050615d8a9190615d8e565b5090565b615db091905b80821115615dac576000816000905550600101615d94565b5090565b905600a165627a7a723058203a31862e079eeb7f685a06144845d8b6a048495783389da73b196f9133359b230029
Swarm Source
bzzr://3a31862e079eeb7f685a06144845d8b6a048495783389da73b196f9133359b23
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.