Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
EtherHives
Compiler Version
v0.6.8+commit.0bbfe453
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-06-23 */ // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; library Math { function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } function min(uint256 a, uint256 b) internal pure returns (uint256) { return a < b ? a : b; } function average(uint256 a, uint256 b) internal pure returns (uint256) { return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2); } } contract Context { constructor () internal { } function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract UserBonus { using SafeMath for uint256; uint256 public constant BONUS_PERCENTS_PER_WEEK = 1; uint256 public constant BONUS_TIME = 1 weeks; struct UserBonusData { uint256 threadPaid; uint256 lastPaidTime; uint256 numberOfUsers; mapping(address => bool) userRegistered; mapping(address => uint256) userPaid; } UserBonusData public bonus; event BonusPaid(uint256 users, uint256 amount); event UserAddedToBonus(address indexed user); modifier payRepBonusIfNeeded { payRepresentativeBonus(); _; } constructor() public { bonus.lastPaidTime = block.timestamp; } function payRepresentativeBonus() public { while (bonus.numberOfUsers > 0 && bonus.lastPaidTime.add(BONUS_TIME) <= block.timestamp) { uint256 reward = address(this).balance.mul(BONUS_PERCENTS_PER_WEEK).div(100); bonus.threadPaid = bonus.threadPaid.add(reward.div(bonus.numberOfUsers)); bonus.lastPaidTime = bonus.lastPaidTime.add(BONUS_TIME); emit BonusPaid(bonus.numberOfUsers, reward); } } function userRegisteredForBonus(address user) public view returns(bool) { return bonus.userRegistered[user]; } function userBonusPaid(address user) public view returns(uint256) { return bonus.userPaid[user]; } function userBonusEarned(address user) public view returns(uint256) { return bonus.userRegistered[user] ? bonus.threadPaid.sub(bonus.userPaid[user]) : 0; } function retrieveBonus() public virtual payRepBonusIfNeeded { require(bonus.userRegistered[msg.sender], "User not registered for bonus"); uint256 amount = Math.min(address(this).balance, userBonusEarned(msg.sender)); bonus.userPaid[msg.sender] = bonus.userPaid[msg.sender].add(amount); msg.sender.transfer(amount); } function _addUserToBonus(address user) internal payRepBonusIfNeeded { require(!bonus.userRegistered[user], "User already registered for bonus"); bonus.userRegistered[user] = true; bonus.userPaid[user] = bonus.threadPaid; bonus.numberOfUsers = bonus.numberOfUsers.add(1); emit UserAddedToBonus(user); } } contract Claimable is Ownable { address public pendingOwner; modifier onlyPendingOwner() { require(msg.sender == pendingOwner); _; } function renounceOwnership() public override(Ownable) onlyOwner { revert(); } function transferOwnership(address newOwner) public override(Ownable) onlyOwner { pendingOwner = newOwner; } function claimOwnership() public virtual onlyPendingOwner { transferOwnership(pendingOwner); delete pendingOwner; } } contract EtherHives is Claimable, UserBonus { struct Player { uint256 registeredDate; bool airdropCollected; address referrer; uint256 balanceHoney; uint256 balanceWax; uint256 points; uint256 medals; uint256 qualityLevel; uint256 lastTimeCollected; uint256 unlockedBee; uint256[BEES_COUNT] bees; uint256 totalDeposited; uint256 totalWithdrawed; uint256 referralsTotalDeposited; uint256 subreferralsCount; address[] referrals; } uint256 public constant BEES_COUNT = 8; uint256 public constant SUPER_BEE_INDEX = BEES_COUNT - 1; uint256 public constant TRON_BEE_INDEX = BEES_COUNT - 2; uint256 public constant MEDALS_COUNT = 10; uint256 public constant QUALITIES_COUNT = 6; uint256[BEES_COUNT] public BEES_PRICES = [0e18, 1500e18, 7500e18, 30000e18, 75000e18, 250000e18, 750000e18, 100000e18]; uint256[BEES_COUNT] public BEES_LEVELS_PRICES = [0e18, 0e18, 11250e18, 45000e18, 112500e18, 375000e18, 1125000e18, 0]; uint256[BEES_COUNT] public BEES_MONTHLY_PERCENTS = [0, 200, 204, 208, 212, 216, 220, 300]; uint256[MEDALS_COUNT] public MEDALS_POINTS = [0e18, 50000e18, 190000e18, 510000e18, 1350000e18, 3225000e18, 5725000e18, 8850000e18, 12725000e18, 23500000e18]; uint256[MEDALS_COUNT] public MEDALS_REWARDS = [0e18, 3500e18, 10500e18, 24000e18, 65000e18, 140000e18, 185000e18, 235000e18, 290000e18, 800000e18]; uint256[QUALITIES_COUNT] public QUALITY_HONEY_PERCENT = [80, 82, 84, 86, 88, 90]; uint256[QUALITIES_COUNT] public QUALITY_PRICE = [0e18, 15000e18, 50000e18, 120000e18, 250000e18, 400000e18]; uint256 public constant COINS_PER_ETH = 250000; uint256 public constant MAX_BEES_PER_TARIFF = 32; uint256 public constant FIRST_BEE_AIRDROP_AMOUNT = 500e18; uint256 public constant ADMIN_PERCENT = 10; uint256 public constant HONEY_DISCOUNT_PERCENT = 10; uint256 public constant SUPERBEE_PERCENT_UNLOCK = 30; uint256 public constant SUPER_BEE_BUYER_PERIOD = 7 days; uint256[] public REFERRAL_PERCENT_PER_LEVEL = [5, 3, 2]; uint256[] public REFERRAL_POINT_PERCENT = [50, 25, 0]; uint256 public maxBalance; uint256 public totalPlayers; uint256 public totalDeposited; uint256 public totalWithdrawed; uint256 public totalBeesBought; mapping(address => Player) public players; event Registered(address indexed user, address indexed referrer); event Deposited(address indexed user, uint256 amount); event Withdrawed(address indexed user, uint256 amount); event ReferrerPaid(address indexed user, address indexed referrer, uint256 indexed level, uint256 amount); event MedalAwarded(address indexed user, uint256 indexed medal); event QualityUpdated(address indexed user, uint256 indexed quality); event RewardCollected(address indexed user, uint256 honeyReward, uint256 waxReward); event BeeUnlocked(address indexed user, uint256 bee); event BeesBought(address indexed user, uint256 bee, uint256 count); modifier payAdminIfNeeded { _; if (players[owner()].balanceHoney > 0) { _withdrawFor( address(uint160(owner())), players[owner()].balanceHoney ); } } constructor() public { _register(owner(), address(0)); } receive() external payable { if (msg.value == 0) { if (players[msg.sender].registeredDate > 0) { collect(); } } else { deposit(address(0)); } } function playerBees(address who) public view returns(uint256[BEES_COUNT] memory) { return players[who].bees; } function superBeeUnlocked() public view returns(bool) { return address(this).balance <= maxBalance.mul(100 - SUPERBEE_PERCENT_UNLOCK).div(100); } function referrals(address user) public view returns(address[] memory) { return players[user].referrals; } function referrerOf(address user, address ref) internal view returns(address) { if (players[user].registeredDate == 0 && ref != user) { return ref; } return players[user].referrer; } function transfer(address account, uint256 amount) public returns(bool) { require(msg.sender == owner()); collect(); _payWithWaxAndHoney(msg.sender, amount); players[account].balanceWax = players[account].balanceWax.add(amount); return true; } function deposit(address ref) public payable payRepBonusIfNeeded payAdminIfNeeded { Player storage player = players[msg.sender]; address refAddress = referrerOf(msg.sender, ref); require((msg.value == 0) != player.registeredDate > 0, "Send 0 for registration"); if (player.registeredDate == 0) { _register(msg.sender, refAddress); } collect(); uint256 wax = msg.value.mul(COINS_PER_ETH); player.balanceWax = player.balanceWax.add(wax); player.totalDeposited = player.totalDeposited.add(msg.value); totalDeposited = totalDeposited.add(msg.value); player.points = player.points.add(wax); emit Deposited(msg.sender, msg.value); _distributeFees(msg.sender, wax, msg.value, refAddress); _addToBonusIfNeeded(msg.sender); uint256 adminWithdrawed = players[owner()].totalWithdrawed; maxBalance = Math.max(maxBalance, address(this).balance.add(adminWithdrawed)); } function withdraw(uint256 amount) public { _withdrawFor(msg.sender, amount); } function _withdrawFor(address payable account, uint256 amount) public { Player storage player = players[account]; collect(); uint256 value = amount.div(COINS_PER_ETH); require(value > 0, "Trying to withdraw too small"); player.balanceHoney = player.balanceHoney.sub(amount); player.totalWithdrawed = player.totalWithdrawed.add(value); totalWithdrawed = totalWithdrawed.add(value); account.transfer(value); emit Withdrawed(account, value); } function collect() public payRepBonusIfNeeded payAdminIfNeeded { Player storage player = players[msg.sender]; require(player.registeredDate > 0, "Not registered yet"); if (userBonusEarned(msg.sender) > 0) { retrieveBonus(); } (uint256 balanceHoney, uint256 balanceWax) = instantBalance(msg.sender); emit RewardCollected( msg.sender, balanceHoney.sub(player.balanceHoney), balanceWax.sub(player.balanceWax) ); if (!player.airdropCollected) { player.airdropCollected = true; } player.balanceHoney = balanceHoney; player.balanceWax = balanceWax; player.lastTimeCollected = block.timestamp; } function instantBalance(address account) public view returns( uint256 balanceHoney, uint256 balanceWax ) { Player storage player = players[account]; if (player.registeredDate == 0) { return (0, 0); } balanceHoney = player.balanceHoney; balanceWax = player.balanceWax; uint256 collected = earned(account); if (!player.airdropCollected) { collected = collected.sub(FIRST_BEE_AIRDROP_AMOUNT); balanceWax = balanceWax.add(FIRST_BEE_AIRDROP_AMOUNT); } uint256 honeyReward = collected.mul(QUALITY_HONEY_PERCENT[player.qualityLevel]).div(100); uint256 waxReward = collected.sub(honeyReward); balanceHoney = balanceHoney.add(honeyReward); balanceWax = balanceWax.add(waxReward); } function unlock(uint256 bee) public payable payRepBonusIfNeeded payAdminIfNeeded { Player storage player = players[msg.sender]; if (msg.value > 0) { deposit(address(0)); } collect(); require(bee < SUPER_BEE_INDEX, "No more levels to unlock"); require(player.bees[bee - 1] == MAX_BEES_PER_TARIFF, "Prev level must be filled"); require(bee == player.unlockedBee + 1, "Trying to unlock wrong bee type"); if (bee == TRON_BEE_INDEX) { require(player.medals >= 9); } _payWithWaxAndHoney(msg.sender, BEES_LEVELS_PRICES[bee]); player.unlockedBee = bee; player.bees[bee] = 1; emit BeeUnlocked(msg.sender, bee); } function buyBees(uint256 bee, uint256 count) public payable payRepBonusIfNeeded payAdminIfNeeded { Player storage player = players[msg.sender]; if (msg.value > 0) { deposit(address(0)); } collect(); require(bee > 0 && bee < BEES_COUNT, "Don't try to buy bees of type 0"); if (bee == SUPER_BEE_INDEX) { require(superBeeUnlocked(), "SuperBee is not unlocked yet"); require(block.timestamp.sub(player.registeredDate) < SUPER_BEE_BUYER_PERIOD, "You should be registered less than 7 days ago"); } else { require(bee <= player.unlockedBee, "This bee type not unlocked yet"); } require(player.bees[bee].add(count) <= MAX_BEES_PER_TARIFF); player.bees[bee] = player.bees[bee].add(count); totalBeesBought = totalBeesBought.add(count); uint256 honeySpent = _payWithWaxAndHoney(msg.sender, BEES_PRICES[bee].mul(count)); _distributeFees(msg.sender, honeySpent, 0, referrerOf(msg.sender, address(0))); emit BeesBought(msg.sender, bee, count); } function updateQualityLevel() public payRepBonusIfNeeded payAdminIfNeeded { Player storage player = players[msg.sender]; collect(); require(player.qualityLevel < QUALITIES_COUNT - 1); _payWithHoneyOnly(msg.sender, QUALITY_PRICE[player.qualityLevel + 1]); player.qualityLevel++; emit QualityUpdated(msg.sender, player.qualityLevel); } function earned(address user) public view returns(uint256) { Player storage player = players[user]; if (player.registeredDate == 0) { return 0; } uint256 total = 0; for (uint i = 1; i < BEES_COUNT; i++) { total = total.add( player.bees[i].mul(BEES_PRICES[i]).mul(BEES_MONTHLY_PERCENTS[i]).div(100) ); } return total .mul(block.timestamp.sub(player.lastTimeCollected)) .div(30 days) .add(player.airdropCollected ? 0 : FIRST_BEE_AIRDROP_AMOUNT); } function collectMedals(address user) public payRepBonusIfNeeded payAdminIfNeeded { Player storage player = players[user]; collect(); for (uint i = player.medals; i < MEDALS_COUNT; i++) { if (player.points >= MEDALS_POINTS[i]) { player.balanceWax = player.balanceWax.add(MEDALS_REWARDS[i]); player.medals = i + 1; emit MedalAwarded(user, i + 1); } } } function retrieveBonus() public override(UserBonus) { totalWithdrawed = totalWithdrawed.add(userBonusEarned(msg.sender)); super.retrieveBonus(); } function claimOwnership() public override(Claimable) { super.claimOwnership(); _register(owner(), address(0)); } function _distributeFees(address user, uint256 wax, uint256 deposited, address refAddress) internal { address(uint160(owner())).transfer(wax * ADMIN_PERCENT / 100 / COINS_PER_ETH); if (refAddress != address(0)) { Player storage referrer = players[refAddress]; referrer.referralsTotalDeposited = referrer.referralsTotalDeposited.add(deposited); _addToBonusIfNeeded(refAddress); address to = refAddress; for (uint i = 0; to != address(0) && i < REFERRAL_PERCENT_PER_LEVEL.length; i++) { uint256 reward = wax.mul(REFERRAL_PERCENT_PER_LEVEL[i]).div(100); players[to].balanceHoney = players[to].balanceHoney.add(reward); players[to].points = players[to].points.add(wax.mul(REFERRAL_POINT_PERCENT[i]).div(100)); emit ReferrerPaid(user, to, i + 1, reward); to = players[to].referrer; } } } function _register(address user, address refAddress) internal { Player storage player = players[user]; player.registeredDate = block.timestamp; player.bees[0] = MAX_BEES_PER_TARIFF; player.unlockedBee = 1; player.lastTimeCollected = block.timestamp; totalBeesBought = totalBeesBought.add(MAX_BEES_PER_TARIFF); totalPlayers++; if (refAddress != address(0)) { player.referrer = refAddress; players[refAddress].referrals.push(user); if (players[refAddress].referrer != address(0)) { players[players[refAddress].referrer].subreferralsCount++; } _addToBonusIfNeeded(refAddress); } emit Registered(user, refAddress); } function _payWithHoneyOnly(address user, uint256 amount) internal { Player storage player = players[user]; player.balanceHoney = player.balanceHoney.sub(amount); } function _payWithWaxOnly(address user, uint256 amount) internal { Player storage player = players[user]; player.balanceWax = player.balanceWax.sub(amount); } function _payWithWaxAndHoney(address user, uint256 amount) internal returns(uint256) { Player storage player = players[user]; uint256 wax = Math.min(amount, player.balanceWax); uint256 honey = amount.sub(wax).mul(100 - HONEY_DISCOUNT_PERCENT).div(100); player.balanceWax = player.balanceWax.sub(wax); _payWithHoneyOnly(user, honey); return honey; } function _addToBonusIfNeeded(address user) internal { if (user != address(0) && !bonus.userRegistered[user]) { Player storage player = players[user]; if (player.totalDeposited >= 5 ether && player.referrals.length >= 10 && player.referralsTotalDeposited >= 50 ether) { _addUserToBonus(user); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bee","type":"uint256"}],"name":"BeeUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"bee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"BeesBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"users","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BonusPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"medal","type":"uint256"}],"name":"MedalAwarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"quality","type":"uint256"}],"name":"QualityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReferrerPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"}],"name":"Registered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"honeyReward","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"waxReward","type":"uint256"}],"name":"RewardCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"UserAddedToBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawed","type":"event"},{"inputs":[],"name":"ADMIN_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BEES_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_LEVELS_PRICES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_MONTHLY_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"BEES_PRICES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BONUS_PERCENTS_PER_WEEK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BONUS_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"COINS_PER_ETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FIRST_BEE_AIRDROP_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"HONEY_DISCOUNT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BEES_PER_TARIFF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MEDALS_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"MEDALS_POINTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"MEDALS_REWARDS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"QUALITIES_COUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"QUALITY_HONEY_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"QUALITY_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENT_PER_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_POINT_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPERBEE_PERCENT_UNLOCK","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPER_BEE_BUYER_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUPER_BEE_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRON_BEE_INDEX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_withdrawFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bonus","outputs":[{"internalType":"uint256","name":"threadPaid","type":"uint256"},{"internalType":"uint256","name":"lastPaidTime","type":"uint256"},{"internalType":"uint256","name":"numberOfUsers","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"bee","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"buyBees","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"collect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"collectMedals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ref","type":"address"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"instantBalance","outputs":[{"internalType":"uint256","name":"balanceHoney","type":"uint256"},{"internalType":"uint256","name":"balanceWax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payRepresentativeBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"playerBees","outputs":[{"internalType":"uint256[8]","name":"","type":"uint256[8]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"players","outputs":[{"internalType":"uint256","name":"registeredDate","type":"uint256"},{"internalType":"bool","name":"airdropCollected","type":"bool"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"balanceHoney","type":"uint256"},{"internalType":"uint256","name":"balanceWax","type":"uint256"},{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"uint256","name":"medals","type":"uint256"},{"internalType":"uint256","name":"qualityLevel","type":"uint256"},{"internalType":"uint256","name":"lastTimeCollected","type":"uint256"},{"internalType":"uint256","name":"unlockedBee","type":"uint256"},{"internalType":"uint256","name":"totalDeposited","type":"uint256"},{"internalType":"uint256","name":"totalWithdrawed","type":"uint256"},{"internalType":"uint256","name":"referralsTotalDeposited","type":"uint256"},{"internalType":"uint256","name":"subreferralsCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"referrals","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"retrieveBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"superBeeUnlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBeesBought","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposited","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalPlayers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"bee","type":"uint256"}],"name":"unlock","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"updateQualityLevel","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userBonusEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userBonusPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"userRegisteredForBonus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
61018060405260006080908152685150ae84a8cdf0000060a0526901969368974c05b0000060c05269065a4da25d3016c0000060e052690fe1c215e8f838e00000610100526934f086f3b33b6840000061012052699ed194db19b238c000006101405269152d02c7e14af6800000610160526200008190600790600862000a59565b506040805161010081018252600080825260208201819052690261dd1ce2f2088800009282019290925269098774738bc82220000060608201526917d2a320dd74555000006080820152694f68ca6d8cd91c60000060a082015269ee3a5f48a68b5520000060c082015260e08101919091526200010390600f90600862000a59565b5060408051610100810182526000815260c8602082015260cc9181019190915260d0606082015260d4608082015260d860a082015260dc60c082015261012c60e08201526200015790601790600862000aa7565b50604080516101408101825260008152690a968163f0a57b400000602082015269283bebaef8db3ac0000091810191909152696bff27c8303182c0000060608201526a011ddfa58a6173ffc0000060808201526a02aaeb99ae21b18da0000060a08201526a04bc50df332203a020000060c08201526a07520f7619626a3740000060e08201526a0a869fa1dabc83072000006101008201526a1370518d7bcfd0478000006101208201526200021190601f90600a62000ade565b5060408051610140810182526000815268bdbc41e0348b300000602082015269023934c5a09da1900000918101919091526905150ae84a8cdf0000006060820152690dc3a8351f3d86a000006080820152691da56a4b0835bf80000060a082015269272cdebe93fde1a0000060c08201526931c3602284a35ce0000060e0820152693d68ee76da263140000061010082015269a968163f0a57b4000000610120820152620002c490602990600a62000b1a565b506040805160c08101825260508152605260208201526054918101919091526056606082015260586080820152605a60a08201526200030890603390600662000b55565b506040805160c0810182526000815269032d26d12e980b6000006020820152690a968163f0a57b40000091810191909152691969368974c05b00000060608201526934f086f3b33b6840000060808201526954b40b1f852bda00000060a08201526200037990603990600662000b8b565b506040805160608101825260058152600360208201819052600292820192909252620003a991603f919062000bc6565b50604080516060810182526032815260196020820152600081830152620003d39190600362000bc6565b50348015620003e157600080fd5b506000620003f76001600160e01b036200047316565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350426003556200046d6200045c6001600160e01b036200047816565b60006001600160e01b036200048716565b62000c25565b335b90565b6000546001600160a01b031690565b6001600160a01b038216600090815260466020908152604082204281559160098301015560016008820155426007820155604554620004d190602062001e11620005ee821b17811c565b6045556042805460010190556001600160a01b03821615620005a95760018181018054610100600160a81b0319166101006001600160a01b038681168281029390931790935560008281526046602090815260408220601581018054808901825590845291832090910180546001600160a01b0319168a871617905592905292015491909104161562000595576001600160a01b03808316600090815260466020526040808220600190810154610100900490931682529020601401805490910190555b620005a9826001600160e01b036200065216565b816001600160a01b0316836001600160a01b03167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b60008282018381101562000649576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6001600160a01b038116158015906200068457506001600160a01b03811660009081526005602052604090205460ff16155b15620006fa576001600160a01b03811660009081526046602052604090206011810154674563918244f4000011801590620006c457506015810154600a11155b8015620006de57506802b5e3af16b1880000816013015410155b15620006f857620006f8826001600160e01b03620006fd16565b505b50565b620007106001600160e01b03620007f216565b6001600160a01b03811660009081526005602052604090205460ff16156200076a5760405162461bcd60e51b8152600401808060200182810382526021815260200180620034a76021913960400191505060405180910390fd5b6001600160a01b0381166000908152600560209081526040808320805460ff19166001908117909155600254600684529190932055600454620007b892909162001e11620005ee821b17901c565b6004556040516001600160a01b038216907fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a90600090a250565b60045415801590620008255750426200082262093a80600260010154620005ee60201b62001e111790919060201c565b11155b15620009085760006200086260646200084e6001476200090a60201b62001e721790919060201c565b6200096860201b62001ecb1790919060201c565b9050620008a0620008866002800154836200096860201b62001ecb1790919060201c565b600260000154620005ee60201b62001e111790919060201c565b600255600354620008c19062093a80620005ee602090811b62001e1117901c565b600355600454604080519182526020820183905280517f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f9281900390910190a150620007f2565b565b6000826200091b575060006200064c565b828202828482816200092957fe5b0414620006495760405162461bcd60e51b8152600401808060200182810382526021815260200180620034c86021913960400191505060405180910390fd5b60006200064983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620009b260201b60201c565b6000818362000a425760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000a06578181015183820152602001620009ec565b50505050905090810190601f16801562000a345780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858162000a4f57fe5b0495945050505050565b826008810192821562000a95579160200282015b8281111562000a9557825182906001600160501b031690559160200191906001019062000a6d565b5062000aa392915062000c08565b5090565b826008810192821562000a95579160200282015b8281111562000a95578251829061ffff1690559160200191906001019062000abb565b82600a810192821562000a95579160200282015b8281111562000a9557825182906001600160581b031690559160200191906001019062000af2565b82600a810192821562000a95579160200282018281111562000a9557825182906001600160501b031690559160200191906001019062000a6d565b826006810192821562000a95579160200282015b8281111562000a95578251829060ff1690559160200191906001019062000b69565b826006810192821562000a95579160200282018281111562000a9557825182906001600160501b031690559160200191906001019062000a6d565b82805482825590600052602060002090810192821562000a95579160200282018281111562000a95578251829060ff1690559160200191906001019062000b69565b6200047591905b8082111562000aa3576000815560010162000c0f565b6128728062000c356000396000f3fe6080604052600436106103385760003560e01c80639e95452b116101ab578063cfbeb83e116100f7578063e5d6c33a11610095578063f340fa011161006f578063f340fa0114610afa578063f60cdcf614610b20578063f7620b1614610b35578063ff50abdc14610b5f57610370565b8063e5d6c33a14610a9d578063eeb851a214610ab2578063f2fde38b14610ac757610370565b8063dec107d1116100d1578063dec107d11461060b578063e2eb41ff146109ca578063e30c397814610a73578063e522538114610a8857610370565b8063cfbeb83e1461096d578063d9c282f014610982578063dacfbd79146109b557610370565b8063b5affb0511610164578063be6c588a1161013e578063be6c588a146108af578063bfaed58a146108c4578063bfd3dc93146108f7578063c7d88b051461092157610370565b8063b5affb0514610846578063b74126cc14610870578063b913ee4f1461088557610370565b80639e95452b146107aa578063a0484e1b146107bf578063a155b1d414610555578063a35bc9af1461056a578063a9059cbb146107f8578063b2da61b41461083157610370565b806347ee29921161028557806372392890116102235780637e990772116101fd5780637e9907721461056a578063894af783146106af5780638da5cb5b146106f65780639ca423b31461072757610370565b8063723928901461065257806373ad468a1461066757806375b4d78c1461067c57610370565b80635b3730921161025f5780635b373092146105f65780635ec1ddfc1461060b5780636198e33914610620578063715018a61461063d57610370565b806347ee2992146105a25780634ab0cac9146105b75780634e71e0c8146105e157610370565b806321f45653116102f25780633128aa86116102cc5780633128aa861461052257806336fe15e614610555578063435f220c1461056a57806346a837851461057f57610370565b806321f45653146104625780632ab291c1146104ce5780632e1a7d4d146104f857610370565b80628cc262146103755780630486916d146103ba5780630542061e146103cf57806310f230dc146103e4578063127fcac71461040e57806321d378f51461043857610370565b36610370573461036457336000908152604660205260409020541561035f5761035f610b74565b61036e565b61036e6000610d16565b005b600080fd5b34801561038157600080fd5b506103a86004803603602081101561039857600080fd5b50356001600160a01b0316610f0d565b60408051918252519081900360200190f35b3480156103c657600080fd5b506103a8611022565b3480156103db57600080fd5b5061036e611027565b3480156103f057600080fd5b506103a86004803603602081101561040757600080fd5b50356110bd565b34801561041a57600080fd5b506103a86004803603602081101561043157600080fd5b50356110d1565b34801561044457600080fd5b506103a86004803603602081101561045b57600080fd5b50356110de565b34801561046e57600080fd5b506104956004803603602081101561048557600080fd5b50356001600160a01b03166110eb565b604051808261010080838360005b838110156104bb5781810151838201526020016104a3565b5050505090500191505060405180910390f35b3480156104da57600080fd5b506103a8600480360360208110156104f157600080fd5b5035611146565b34801561050457600080fd5b5061036e6004803603602081101561051b57600080fd5b5035611153565b34801561052e57600080fd5b506103a86004803603602081101561054557600080fd5b50356001600160a01b031661115d565b34801561056157600080fd5b506103a86111b5565b34801561057657600080fd5b506103a86111ba565b61036e6004803603604081101561059557600080fd5b50803590602001356111bf565b3480156105ae57600080fd5b506103a8611483565b3480156105c357600080fd5b506103a8600480360360208110156105da57600080fd5b503561148a565b3480156105ed57600080fd5b5061036e611497565b34801561060257600080fd5b5061036e6114b1565b34801561061757600080fd5b506103a86114d7565b61036e6004803603602081101561063657600080fd5b50356114de565b34801561064957600080fd5b5061036e6116ba565b34801561065e57600080fd5b506103a8611724565b34801561067357600080fd5b506103a8611729565b34801561068857600080fd5b5061069161172f565b60408051938452602084019290925282820152519081900360600190f35b3480156106bb57600080fd5b506106e2600480360360208110156106d257600080fd5b50356001600160a01b031661173b565b604080519115158252519081900360200190f35b34801561070257600080fd5b5061070b611759565b604080516001600160a01b039092168252519081900360200190f35b34801561073357600080fd5b5061075a6004803603602081101561074a57600080fd5b50356001600160a01b0316611768565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561079657818101518382015260200161077e565b505050509050019250505060405180910390f35b3480156107b657600080fd5b5061036e6117e0565b3480156107cb57600080fd5b5061036e600480360360408110156107e257600080fd5b506001600160a01b0381351690602001356118ad565b34801561080457600080fd5b506106e26004803603604081101561081b57600080fd5b506001600160a01b0381351690602001356119ff565b34801561083d57600080fd5b506103a8611a8a565b34801561085257600080fd5b506103a86004803603602081101561086957600080fd5b5035611a8f565b34801561087c57600080fd5b506103a8611a9c565b34801561089157600080fd5b506103a8600480360360208110156108a857600080fd5b5035611aa2565b3480156108bb57600080fd5b506103a8611ac0565b3480156108d057600080fd5b5061036e600480360360208110156108e757600080fd5b50356001600160a01b0316611ac5565b34801561090357600080fd5b506103a86004803603602081101561091a57600080fd5b5035611b95565b34801561092d57600080fd5b506109546004803603602081101561094457600080fd5b50356001600160a01b0316611ba2565b6040805192835260208301919091528051918290030190f35b34801561097957600080fd5b506103a8611c9d565b34801561098e57600080fd5b506103a8600480360360208110156109a557600080fd5b50356001600160a01b0316611caa565b3480156109c157600080fd5b506103a8611cc5565b3480156109d657600080fd5b506109fd600480360360208110156109ed57600080fd5b50356001600160a01b0316611cca565b604080519e8f529c151560208f01526001600160a01b03909b168d8d015260608d019990995260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401526101a083015251908190036101c00190f35b348015610a7f57600080fd5b5061070b611d31565b348015610a9457600080fd5b5061036e610b74565b348015610aa957600080fd5b506106e2611d40565b348015610abe57600080fd5b506103a8611d66565b348015610ad357600080fd5b5061036e60048036036020811015610aea57600080fd5b50356001600160a01b0316611d6c565b61036e60048036036020811015610b1057600080fd5b50356001600160a01b0316610d16565b348015610b2c57600080fd5b506103a8611df8565b348015610b4157600080fd5b506103a860048036036020811015610b5857600080fd5b5035611dfe565b348015610b6b57600080fd5b506103a8611e0b565b610b7c6117e0565b3360009081526046602052604090208054610bd3576040805162461bcd60e51b8152602060048201526012602482015271139bdd081c9959da5cdd195c9959081e595d60721b604482015290519081900360640190fd5b6000610bde3361115d565b1115610bec57610bec6114b1565b600080610bf833611ba2565b91509150336001600160a01b03167f175de791cae106394f6c9daa00b9b55b3c2babff16f57c56b89a8c66601ec59e610c3e856002015485611f0d90919063ffffffff16565b6003860154610c5490859063ffffffff611f0d16565b6040805192835260208301919091528051918290030190a2600183015460ff16610c89576001838101805460ff191690911790555b60028301919091556003820155426007909101556000604681610caa611759565b6001600160a01b03166001600160a01b03168152602001908152602001600020600201541115610d1457610d14610cdf611759565b60466000610ceb611759565b6001600160a01b03166001600160a01b03168152602001908152602001600020600201546118ad565b565b610d1e6117e0565b33600081815260466020526040812091610d389084611f4f565b8254909150151534151415610d94576040805162461bcd60e51b815260206004820152601760248201527f53656e64203020666f7220726567697374726174696f6e000000000000000000604482015290519081900360640190fd5b8154610da457610da43382611fbb565b610dac610b74565b6000610dc1346203d09063ffffffff611e7216565b6003840154909150610dd9908263ffffffff611e1116565b60038401556011830154610df3903463ffffffff611e1116565b6011840155604354610e0b903463ffffffff611e1116565b6043556004830154610e23908263ffffffff611e1116565b600484015560408051348152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a2610e6a33823485612110565b610e7333612344565b600060466000610e81611759565b6001600160a01b03168152602081019190915260400160002060120154604154909150610ebd90610eb8478463ffffffff611e1116565b6123da565b60418190555050505050600060466000610ed5611759565b6001600160a01b03166001600160a01b03168152602001908152602001600020600201541115610f0a57610f0a610cdf611759565b50565b6001600160a01b03811660009081526046602052604081208054610f3557600091505061101d565b600060015b6008811015610fbb57610fb1610fa46064610f9860178560088110610f5b57fe5b0154610f8c60078760088110610f6d57fe5b0154896009018860088110610f7e57fe5b01549063ffffffff611e7216565b9063ffffffff611e7216565b9063ffffffff611ecb16565b839063ffffffff611e1116565b9150600101610f3a565b5060018201546110189060ff16610fdb57681b1ae4d6e2ef500000610fde565b60005b61100c62278d00610f98610fff876007015442611f0d90919063ffffffff16565b869063ffffffff611e7216565b9063ffffffff611e1116565b925050505b919050565b600881565b61102f6117e0565b336000908152604660205260409020611046610b74565b600681015460051161105757600080fd5b61107633603983600601546001016006811061106f57fe5b01546123f1565b6006810180546001019081905560405133907fab7da30456d497e9ccbd16778660ea62630c90e6eacce1f230887620f0449c8990600090a350600060466000610caa611759565b600781600881106110ca57fe5b0154905081565b600f81600881106110ca57fe5b603381600681106110ca57fe5b6110f36127ae565b6001600160a01b038216600090815260466020526040908190208151610100810190925260090160088282826020028201915b815481526020019060010190808311611126575b50505050509050919050565b601f81600a81106110ca57fe5b610f0a33826118ad565b6001600160a01b03811660009081526005602052604081205460ff166111845760006111af565b6001600160a01b0382166000908152600660205260409020546002546111af9163ffffffff611f0d16565b92915050565b600681565b600a81565b6111c76117e0565b33600090815260466020526040902034156111e6576111e66000610d16565b6111ee610b74565b6000831180156111fe5750600883105b61124f576040805162461bcd60e51b815260206004820152601f60248201527f446f6e27742074727920746f206275792062656573206f662074797065203000604482015290519081900360640190fd5b600783141561130a57611260611d40565b6112b1576040805162461bcd60e51b815260206004820152601c60248201527f5375706572426565206973206e6f7420756e6c6f636b65642079657400000000604482015290519081900360640190fd5b805462093a80906112c990429063ffffffff611f0d16565b106113055760405162461bcd60e51b815260040180806020018281038252602d8152602001806127ce602d913960400191505060405180910390fd5b611363565b8060080154831115611363576040805162461bcd60e51b815260206004820152601e60248201527f54686973206265652074797065206e6f7420756e6c6f636b6564207965740000604482015290519081900360640190fd5b60206113868383600901866008811061137857fe5b01549063ffffffff611e1116565b111561139157600080fd5b6113a48282600901856008811061137857fe5b8160090184600881106113b357fe5b01556045546113c8908363ffffffff611e1116565b60455560006113e7336113e28560078860088110610f7e57fe5b612428565b9050611400338260006113fb336000611f4f565b612110565b6040805185815260208101859052815133927f3b8efbf8f2c0dcb58c5082344b6573cf15279f2be6c0415141060f747fd8bab1928290030190a2505060006046600061144a611759565b6001600160a01b03166001600160a01b0316815260200190815260200160002060020154111561147f5761147f610cdf611759565b5050565b6203d09081565b602981600a81106110ca57fe5b61149f6124a0565b610d146114aa611759565b6000611fbb565b6114cc6114bd3361115d565b6044549063ffffffff611e1116565b604455610d146124de565b62093a8081565b6114e66117e0565b3360009081526046602052604090203415611505576115056000610d16565b61150d610b74565b60078210611562576040805162461bcd60e51b815260206004820152601860248201527f4e6f206d6f7265206c6576656c7320746f20756e6c6f636b0000000000000000604482015290519081900360640190fd5b602081600901600184036008811061157657fe5b0154146115ca576040805162461bcd60e51b815260206004820152601960248201527f50726576206c6576656c206d7573742062652066696c6c656400000000000000604482015290519081900360640190fd5b80600801546001018214611625576040805162461bcd60e51b815260206004820152601f60248201527f547279696e6720746f20756e6c6f636b2077726f6e6720626565207479706500604482015290519081900360640190fd5b60068214156116405760098160050154101561164057600080fd5b61165833600f846008811061165157fe5b0154612428565b50818160080181905550600181600901836008811061167357fe5b015560408051838152905133917f9314809af08e4ddf0214b2248c8ea28466a17bcf8283d48cebe52b0f1386af0f919081900360200190a250600060466000610ed5611759565b6116c26125bf565b6000546001600160a01b03908116911614610370576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600781565b60415481565b60025460035460045483565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b031690565b6001600160a01b03811660009081526046602090815260409182902060150180548351818402810184019094528084526060939283018282801561113a57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117b75750505050509050919050565b60045415801590611807575060035442906118049062093a8063ffffffff611e1116565b11155b15610d145760006118246064610f9847600163ffffffff611e7216565b60045490915061184e9061183f90839063ffffffff611ecb16565b6002549063ffffffff611e1116565b6002556003546118679062093a8063ffffffff611e1116565b600355600454604080519182526020820183905280517f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f9281900390910190a1506117e0565b6001600160a01b03821660009081526046602052604090206118cd610b74565b60006118e2836203d09063ffffffff611ecb16565b905060008111611939576040805162461bcd60e51b815260206004820152601c60248201527f547279696e6720746f20776974686472617720746f6f20736d616c6c00000000604482015290519081900360640190fd5b600282015461194e908463ffffffff611f0d16565b60028301556012820154611968908263ffffffff611e1116565b6012830155604454611980908263ffffffff611e1116565b6044556040516001600160a01b0385169082156108fc029083906000818181858888f193505050501580156119b9573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917f6cca423c6ffc06e62a0acc433965e074b11c28479b0449250ce3ff65ac9e39fe919081900360200190a250505050565b6000611a09611759565b6001600160a01b0316336001600160a01b031614611a2657600080fd5b611a2e610b74565b611a383383612428565b506001600160a01b038316600090815260466020526040902060030154611a65908363ffffffff611e1116565b6001600160a01b03841660009081526046602052604090206003015550600192915050565b602081565b603981600681106110ca57fe5b60445481565b60408181548110611aaf57fe5b600091825260209091200154905081565b601e81565b611acd6117e0565b6001600160a01b0381166000908152604660205260409020611aed610b74565b60058101545b600a811015611b8557601f81600a8110611b0957fe5b0154826004015410611b7d57611b38602982600a8110611b2557fe5b015460038401549063ffffffff611e1116565b600383015560018101600583018190556040516001600160a01b038516907f93135b83255eeccdefec3e312591c2743d0dc8bfac656f9773d7a132af4bb81f90600090a35b600101611af3565b5050600060466000610ed5611759565b603f8181548110611aaf57fe5b6001600160a01b03811660009081526046602052604081208054829190611bd0575060009150819050611c98565b80600201549250806003015491506000611be985610f0d565b600183015490915060ff16611c2f57611c1181681b1ae4d6e2ef50000063ffffffff611f0d16565b9050611c2c83681b1ae4d6e2ef50000063ffffffff611e1116565b92505b6000611c596064610f986033866006015460068110611c4a57fe5b0154859063ffffffff611e7216565b90506000611c6d838363ffffffff611f0d16565b9050611c7f868363ffffffff611e1116565b9550611c91858263ffffffff611e1116565b9450505050505b915091565b681b1ae4d6e2ef50000081565b6001600160a01b031660009081526006602052604090205490565b600181565b604660205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460118a015460128b015460138c01546014909c01549a9b60ff8b169b610100909b046001600160a01b03169a8e565b6001546001600160a01b031681565b604154600090611d5e90606490610f9890604663ffffffff611e7216565b471115905090565b60455481565b611d746125bf565b6000546001600160a01b03908116911614611dd6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60425481565b601781600881106110ca57fe5b60435481565b600082820183811015611e6b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611e81575060006111af565b82820282848281611e8e57fe5b0414611e6b5760405162461bcd60e51b815260040180806020018281038252602181526020018061281c6021913960400191505060405180910390fd5b6000611e6b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125c3565b6000611e6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612665565b6001600160a01b038216600090815260466020526040812054158015611f875750826001600160a01b0316826001600160a01b031614155b15611f935750806111af565b50506001600160a01b0390811660009081526046602052604090206001015461010090041690565b6001600160a01b03821660009081526046602090815260408220428155916009830101556001600882015542600782015560455461200090602063ffffffff611e1116565b6045556042805460010190556001600160a01b038216156120cb5760018181018054610100600160a81b0319166101006001600160a01b038681168281029390931790935560008281526046602090815260408220601581018054808901825590845291832090910180546001600160a01b0319168a87161790559290529201549190910416156120c2576001600160a01b03808316600090815260466020526040808220600190810154610100900490931682529020601401805490910190555b6120cb82612344565b816001600160a01b0316836001600160a01b03167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b612118611759565b6001600160a01b03166108fc6203d0906064600a870204049081150290604051600060405180830381858888f1935050505015801561215b573d6000803e3d6000fd5b506001600160a01b0381161561233e576001600160a01b03811660009081526046602052604090206013810154612198908463ffffffff611e1116565b60138201556121a682612344565b8160005b6001600160a01b038216158015906121c35750603f5481105b1561233a5760006121f96064610f98603f85815481106121df57fe5b90600052602060002001548a611e7290919063ffffffff16565b6001600160a01b038416600090815260466020526040902060020154909150612228908263ffffffff611e1116565b60466000856001600160a01b03166001600160a01b03168152602001908152602001600020600201819055506122ae6122866064610f986040868154811061226c57fe5b90600052602060002001548b611e7290919063ffffffff16565b6001600160a01b0385166000908152604660205260409020600401549063ffffffff611e1116565b6001600160a01b038085166000818152604660209081526040918290206004019490945580518581529051600187019492938d16927f8fa68a6a8e2fc9ff758a6e64afba8bc2f66fb082999a2c5225c8c49633faded4928290030190a4506001600160a01b039182166000908152604660205260409020600190810154610100900490921691016121aa565b5050505b50505050565b6001600160a01b0381161580159061237557506001600160a01b03811660009081526005602052604090205460ff16155b15610f0a576001600160a01b03811660009081526046602052604090206011810154674563918244f40000118015906123b357506015810154600a11155b80156123cc57506802b5e3af16b1880000816013015410155b1561147f5761147f826126bf565b6000818310156123ea5781611e6b565b5090919050565b6001600160a01b0382166000908152604660205260409020600281015461241e908363ffffffff611f0d16565b6002909101555050565b6001600160a01b03821660009081526046602052604081206003810154829061245290859061279f565b905060006124706064610f98605a610f8c898763ffffffff611f0d16565b6003840154909150612488908363ffffffff611f0d16565b600384015561249786826123f1565b95945050505050565b6001546001600160a01b031633146124b757600080fd5b6001546124cc906001600160a01b0316611d6c565b600180546001600160a01b0319169055565b6124e66117e0565b3360009081526005602052604090205460ff1661254a576040805162461bcd60e51b815260206004820152601d60248201527f55736572206e6f74207265676973746572656420666f7220626f6e7573000000604482015290519081900360640190fd5b600061255e476125593361115d565b61279f565b33600090815260066020526040902054909150612581908263ffffffff611e1116565b33600081815260066020526040808220939093559151909183156108fc02918491818181858888f1935050505015801561147f573d6000803e3d6000fd5b3390565b6000818361264f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156126145781810151838201526020016125fc565b50505050905090810190601f1680156126415780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161265b57fe5b0495945050505050565b600081848411156126b75760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156126145781810151838201526020016125fc565b505050900390565b6126c76117e0565b6001600160a01b03811660009081526005602052604090205460ff161561271f5760405162461bcd60e51b81526004018080602001828103825260218152602001806127fb6021913960400191505060405180910390fd5b6001600160a01b0381166000908152600560209081526040808320805460ff1916600190811790915560025460069093529220556004546127659163ffffffff611e1116565b6004556040516001600160a01b038216907fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a90600090a250565b60008183106123ea5781611e6b565b604051806101000160405280600890602082028036833750919291505056fe596f752073686f756c642062652072656769737465726564206c657373207468616e203720646179732061676f5573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220136bc7a10a52de7198cbec82b21e89b4b970bc823aefd2b98c5ac4bdb96285ba64736f6c634300060800335573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77
Deployed Bytecode
0x6080604052600436106103385760003560e01c80639e95452b116101ab578063cfbeb83e116100f7578063e5d6c33a11610095578063f340fa011161006f578063f340fa0114610afa578063f60cdcf614610b20578063f7620b1614610b35578063ff50abdc14610b5f57610370565b8063e5d6c33a14610a9d578063eeb851a214610ab2578063f2fde38b14610ac757610370565b8063dec107d1116100d1578063dec107d11461060b578063e2eb41ff146109ca578063e30c397814610a73578063e522538114610a8857610370565b8063cfbeb83e1461096d578063d9c282f014610982578063dacfbd79146109b557610370565b8063b5affb0511610164578063be6c588a1161013e578063be6c588a146108af578063bfaed58a146108c4578063bfd3dc93146108f7578063c7d88b051461092157610370565b8063b5affb0514610846578063b74126cc14610870578063b913ee4f1461088557610370565b80639e95452b146107aa578063a0484e1b146107bf578063a155b1d414610555578063a35bc9af1461056a578063a9059cbb146107f8578063b2da61b41461083157610370565b806347ee29921161028557806372392890116102235780637e990772116101fd5780637e9907721461056a578063894af783146106af5780638da5cb5b146106f65780639ca423b31461072757610370565b8063723928901461065257806373ad468a1461066757806375b4d78c1461067c57610370565b80635b3730921161025f5780635b373092146105f65780635ec1ddfc1461060b5780636198e33914610620578063715018a61461063d57610370565b806347ee2992146105a25780634ab0cac9146105b75780634e71e0c8146105e157610370565b806321f45653116102f25780633128aa86116102cc5780633128aa861461052257806336fe15e614610555578063435f220c1461056a57806346a837851461057f57610370565b806321f45653146104625780632ab291c1146104ce5780632e1a7d4d146104f857610370565b80628cc262146103755780630486916d146103ba5780630542061e146103cf57806310f230dc146103e4578063127fcac71461040e57806321d378f51461043857610370565b36610370573461036457336000908152604660205260409020541561035f5761035f610b74565b61036e565b61036e6000610d16565b005b600080fd5b34801561038157600080fd5b506103a86004803603602081101561039857600080fd5b50356001600160a01b0316610f0d565b60408051918252519081900360200190f35b3480156103c657600080fd5b506103a8611022565b3480156103db57600080fd5b5061036e611027565b3480156103f057600080fd5b506103a86004803603602081101561040757600080fd5b50356110bd565b34801561041a57600080fd5b506103a86004803603602081101561043157600080fd5b50356110d1565b34801561044457600080fd5b506103a86004803603602081101561045b57600080fd5b50356110de565b34801561046e57600080fd5b506104956004803603602081101561048557600080fd5b50356001600160a01b03166110eb565b604051808261010080838360005b838110156104bb5781810151838201526020016104a3565b5050505090500191505060405180910390f35b3480156104da57600080fd5b506103a8600480360360208110156104f157600080fd5b5035611146565b34801561050457600080fd5b5061036e6004803603602081101561051b57600080fd5b5035611153565b34801561052e57600080fd5b506103a86004803603602081101561054557600080fd5b50356001600160a01b031661115d565b34801561056157600080fd5b506103a86111b5565b34801561057657600080fd5b506103a86111ba565b61036e6004803603604081101561059557600080fd5b50803590602001356111bf565b3480156105ae57600080fd5b506103a8611483565b3480156105c357600080fd5b506103a8600480360360208110156105da57600080fd5b503561148a565b3480156105ed57600080fd5b5061036e611497565b34801561060257600080fd5b5061036e6114b1565b34801561061757600080fd5b506103a86114d7565b61036e6004803603602081101561063657600080fd5b50356114de565b34801561064957600080fd5b5061036e6116ba565b34801561065e57600080fd5b506103a8611724565b34801561067357600080fd5b506103a8611729565b34801561068857600080fd5b5061069161172f565b60408051938452602084019290925282820152519081900360600190f35b3480156106bb57600080fd5b506106e2600480360360208110156106d257600080fd5b50356001600160a01b031661173b565b604080519115158252519081900360200190f35b34801561070257600080fd5b5061070b611759565b604080516001600160a01b039092168252519081900360200190f35b34801561073357600080fd5b5061075a6004803603602081101561074a57600080fd5b50356001600160a01b0316611768565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561079657818101518382015260200161077e565b505050509050019250505060405180910390f35b3480156107b657600080fd5b5061036e6117e0565b3480156107cb57600080fd5b5061036e600480360360408110156107e257600080fd5b506001600160a01b0381351690602001356118ad565b34801561080457600080fd5b506106e26004803603604081101561081b57600080fd5b506001600160a01b0381351690602001356119ff565b34801561083d57600080fd5b506103a8611a8a565b34801561085257600080fd5b506103a86004803603602081101561086957600080fd5b5035611a8f565b34801561087c57600080fd5b506103a8611a9c565b34801561089157600080fd5b506103a8600480360360208110156108a857600080fd5b5035611aa2565b3480156108bb57600080fd5b506103a8611ac0565b3480156108d057600080fd5b5061036e600480360360208110156108e757600080fd5b50356001600160a01b0316611ac5565b34801561090357600080fd5b506103a86004803603602081101561091a57600080fd5b5035611b95565b34801561092d57600080fd5b506109546004803603602081101561094457600080fd5b50356001600160a01b0316611ba2565b6040805192835260208301919091528051918290030190f35b34801561097957600080fd5b506103a8611c9d565b34801561098e57600080fd5b506103a8600480360360208110156109a557600080fd5b50356001600160a01b0316611caa565b3480156109c157600080fd5b506103a8611cc5565b3480156109d657600080fd5b506109fd600480360360208110156109ed57600080fd5b50356001600160a01b0316611cca565b604080519e8f529c151560208f01526001600160a01b03909b168d8d015260608d019990995260808c019790975260a08b019590955260c08a019390935260e08901919091526101008801526101208701526101408601526101608501526101808401526101a083015251908190036101c00190f35b348015610a7f57600080fd5b5061070b611d31565b348015610a9457600080fd5b5061036e610b74565b348015610aa957600080fd5b506106e2611d40565b348015610abe57600080fd5b506103a8611d66565b348015610ad357600080fd5b5061036e60048036036020811015610aea57600080fd5b50356001600160a01b0316611d6c565b61036e60048036036020811015610b1057600080fd5b50356001600160a01b0316610d16565b348015610b2c57600080fd5b506103a8611df8565b348015610b4157600080fd5b506103a860048036036020811015610b5857600080fd5b5035611dfe565b348015610b6b57600080fd5b506103a8611e0b565b610b7c6117e0565b3360009081526046602052604090208054610bd3576040805162461bcd60e51b8152602060048201526012602482015271139bdd081c9959da5cdd195c9959081e595d60721b604482015290519081900360640190fd5b6000610bde3361115d565b1115610bec57610bec6114b1565b600080610bf833611ba2565b91509150336001600160a01b03167f175de791cae106394f6c9daa00b9b55b3c2babff16f57c56b89a8c66601ec59e610c3e856002015485611f0d90919063ffffffff16565b6003860154610c5490859063ffffffff611f0d16565b6040805192835260208301919091528051918290030190a2600183015460ff16610c89576001838101805460ff191690911790555b60028301919091556003820155426007909101556000604681610caa611759565b6001600160a01b03166001600160a01b03168152602001908152602001600020600201541115610d1457610d14610cdf611759565b60466000610ceb611759565b6001600160a01b03166001600160a01b03168152602001908152602001600020600201546118ad565b565b610d1e6117e0565b33600081815260466020526040812091610d389084611f4f565b8254909150151534151415610d94576040805162461bcd60e51b815260206004820152601760248201527f53656e64203020666f7220726567697374726174696f6e000000000000000000604482015290519081900360640190fd5b8154610da457610da43382611fbb565b610dac610b74565b6000610dc1346203d09063ffffffff611e7216565b6003840154909150610dd9908263ffffffff611e1116565b60038401556011830154610df3903463ffffffff611e1116565b6011840155604354610e0b903463ffffffff611e1116565b6043556004830154610e23908263ffffffff611e1116565b600484015560408051348152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a2610e6a33823485612110565b610e7333612344565b600060466000610e81611759565b6001600160a01b03168152602081019190915260400160002060120154604154909150610ebd90610eb8478463ffffffff611e1116565b6123da565b60418190555050505050600060466000610ed5611759565b6001600160a01b03166001600160a01b03168152602001908152602001600020600201541115610f0a57610f0a610cdf611759565b50565b6001600160a01b03811660009081526046602052604081208054610f3557600091505061101d565b600060015b6008811015610fbb57610fb1610fa46064610f9860178560088110610f5b57fe5b0154610f8c60078760088110610f6d57fe5b0154896009018860088110610f7e57fe5b01549063ffffffff611e7216565b9063ffffffff611e7216565b9063ffffffff611ecb16565b839063ffffffff611e1116565b9150600101610f3a565b5060018201546110189060ff16610fdb57681b1ae4d6e2ef500000610fde565b60005b61100c62278d00610f98610fff876007015442611f0d90919063ffffffff16565b869063ffffffff611e7216565b9063ffffffff611e1116565b925050505b919050565b600881565b61102f6117e0565b336000908152604660205260409020611046610b74565b600681015460051161105757600080fd5b61107633603983600601546001016006811061106f57fe5b01546123f1565b6006810180546001019081905560405133907fab7da30456d497e9ccbd16778660ea62630c90e6eacce1f230887620f0449c8990600090a350600060466000610caa611759565b600781600881106110ca57fe5b0154905081565b600f81600881106110ca57fe5b603381600681106110ca57fe5b6110f36127ae565b6001600160a01b038216600090815260466020526040908190208151610100810190925260090160088282826020028201915b815481526020019060010190808311611126575b50505050509050919050565b601f81600a81106110ca57fe5b610f0a33826118ad565b6001600160a01b03811660009081526005602052604081205460ff166111845760006111af565b6001600160a01b0382166000908152600660205260409020546002546111af9163ffffffff611f0d16565b92915050565b600681565b600a81565b6111c76117e0565b33600090815260466020526040902034156111e6576111e66000610d16565b6111ee610b74565b6000831180156111fe5750600883105b61124f576040805162461bcd60e51b815260206004820152601f60248201527f446f6e27742074727920746f206275792062656573206f662074797065203000604482015290519081900360640190fd5b600783141561130a57611260611d40565b6112b1576040805162461bcd60e51b815260206004820152601c60248201527f5375706572426565206973206e6f7420756e6c6f636b65642079657400000000604482015290519081900360640190fd5b805462093a80906112c990429063ffffffff611f0d16565b106113055760405162461bcd60e51b815260040180806020018281038252602d8152602001806127ce602d913960400191505060405180910390fd5b611363565b8060080154831115611363576040805162461bcd60e51b815260206004820152601e60248201527f54686973206265652074797065206e6f7420756e6c6f636b6564207965740000604482015290519081900360640190fd5b60206113868383600901866008811061137857fe5b01549063ffffffff611e1116565b111561139157600080fd5b6113a48282600901856008811061137857fe5b8160090184600881106113b357fe5b01556045546113c8908363ffffffff611e1116565b60455560006113e7336113e28560078860088110610f7e57fe5b612428565b9050611400338260006113fb336000611f4f565b612110565b6040805185815260208101859052815133927f3b8efbf8f2c0dcb58c5082344b6573cf15279f2be6c0415141060f747fd8bab1928290030190a2505060006046600061144a611759565b6001600160a01b03166001600160a01b0316815260200190815260200160002060020154111561147f5761147f610cdf611759565b5050565b6203d09081565b602981600a81106110ca57fe5b61149f6124a0565b610d146114aa611759565b6000611fbb565b6114cc6114bd3361115d565b6044549063ffffffff611e1116565b604455610d146124de565b62093a8081565b6114e66117e0565b3360009081526046602052604090203415611505576115056000610d16565b61150d610b74565b60078210611562576040805162461bcd60e51b815260206004820152601860248201527f4e6f206d6f7265206c6576656c7320746f20756e6c6f636b0000000000000000604482015290519081900360640190fd5b602081600901600184036008811061157657fe5b0154146115ca576040805162461bcd60e51b815260206004820152601960248201527f50726576206c6576656c206d7573742062652066696c6c656400000000000000604482015290519081900360640190fd5b80600801546001018214611625576040805162461bcd60e51b815260206004820152601f60248201527f547279696e6720746f20756e6c6f636b2077726f6e6720626565207479706500604482015290519081900360640190fd5b60068214156116405760098160050154101561164057600080fd5b61165833600f846008811061165157fe5b0154612428565b50818160080181905550600181600901836008811061167357fe5b015560408051838152905133917f9314809af08e4ddf0214b2248c8ea28466a17bcf8283d48cebe52b0f1386af0f919081900360200190a250600060466000610ed5611759565b6116c26125bf565b6000546001600160a01b03908116911614610370576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600781565b60415481565b60025460035460045483565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b031690565b6001600160a01b03811660009081526046602090815260409182902060150180548351818402810184019094528084526060939283018282801561113a57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116117b75750505050509050919050565b60045415801590611807575060035442906118049062093a8063ffffffff611e1116565b11155b15610d145760006118246064610f9847600163ffffffff611e7216565b60045490915061184e9061183f90839063ffffffff611ecb16565b6002549063ffffffff611e1116565b6002556003546118679062093a8063ffffffff611e1116565b600355600454604080519182526020820183905280517f51e794b4ff7ffc1b303e757fa6fc3d0b3e162556cc78d07914238fe3c3f96d8f9281900390910190a1506117e0565b6001600160a01b03821660009081526046602052604090206118cd610b74565b60006118e2836203d09063ffffffff611ecb16565b905060008111611939576040805162461bcd60e51b815260206004820152601c60248201527f547279696e6720746f20776974686472617720746f6f20736d616c6c00000000604482015290519081900360640190fd5b600282015461194e908463ffffffff611f0d16565b60028301556012820154611968908263ffffffff611e1116565b6012830155604454611980908263ffffffff611e1116565b6044556040516001600160a01b0385169082156108fc029083906000818181858888f193505050501580156119b9573d6000803e3d6000fd5b506040805182815290516001600160a01b038616917f6cca423c6ffc06e62a0acc433965e074b11c28479b0449250ce3ff65ac9e39fe919081900360200190a250505050565b6000611a09611759565b6001600160a01b0316336001600160a01b031614611a2657600080fd5b611a2e610b74565b611a383383612428565b506001600160a01b038316600090815260466020526040902060030154611a65908363ffffffff611e1116565b6001600160a01b03841660009081526046602052604090206003015550600192915050565b602081565b603981600681106110ca57fe5b60445481565b60408181548110611aaf57fe5b600091825260209091200154905081565b601e81565b611acd6117e0565b6001600160a01b0381166000908152604660205260409020611aed610b74565b60058101545b600a811015611b8557601f81600a8110611b0957fe5b0154826004015410611b7d57611b38602982600a8110611b2557fe5b015460038401549063ffffffff611e1116565b600383015560018101600583018190556040516001600160a01b038516907f93135b83255eeccdefec3e312591c2743d0dc8bfac656f9773d7a132af4bb81f90600090a35b600101611af3565b5050600060466000610ed5611759565b603f8181548110611aaf57fe5b6001600160a01b03811660009081526046602052604081208054829190611bd0575060009150819050611c98565b80600201549250806003015491506000611be985610f0d565b600183015490915060ff16611c2f57611c1181681b1ae4d6e2ef50000063ffffffff611f0d16565b9050611c2c83681b1ae4d6e2ef50000063ffffffff611e1116565b92505b6000611c596064610f986033866006015460068110611c4a57fe5b0154859063ffffffff611e7216565b90506000611c6d838363ffffffff611f0d16565b9050611c7f868363ffffffff611e1116565b9550611c91858263ffffffff611e1116565b9450505050505b915091565b681b1ae4d6e2ef50000081565b6001600160a01b031660009081526006602052604090205490565b600181565b604660205260009081526040902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460118a015460128b015460138c01546014909c01549a9b60ff8b169b610100909b046001600160a01b03169a8e565b6001546001600160a01b031681565b604154600090611d5e90606490610f9890604663ffffffff611e7216565b471115905090565b60455481565b611d746125bf565b6000546001600160a01b03908116911614611dd6576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60425481565b601781600881106110ca57fe5b60435481565b600082820183811015611e6b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082611e81575060006111af565b82820282848281611e8e57fe5b0414611e6b5760405162461bcd60e51b815260040180806020018281038252602181526020018061281c6021913960400191505060405180910390fd5b6000611e6b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506125c3565b6000611e6b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612665565b6001600160a01b038216600090815260466020526040812054158015611f875750826001600160a01b0316826001600160a01b031614155b15611f935750806111af565b50506001600160a01b0390811660009081526046602052604090206001015461010090041690565b6001600160a01b03821660009081526046602090815260408220428155916009830101556001600882015542600782015560455461200090602063ffffffff611e1116565b6045556042805460010190556001600160a01b038216156120cb5760018181018054610100600160a81b0319166101006001600160a01b038681168281029390931790935560008281526046602090815260408220601581018054808901825590845291832090910180546001600160a01b0319168a87161790559290529201549190910416156120c2576001600160a01b03808316600090815260466020526040808220600190810154610100900490931682529020601401805490910190555b6120cb82612344565b816001600160a01b0316836001600160a01b03167f0a31ee9d46a828884b81003c8498156ea6aa15b9b54bdd0ef0b533d9eba57e5560405160405180910390a3505050565b612118611759565b6001600160a01b03166108fc6203d0906064600a870204049081150290604051600060405180830381858888f1935050505015801561215b573d6000803e3d6000fd5b506001600160a01b0381161561233e576001600160a01b03811660009081526046602052604090206013810154612198908463ffffffff611e1116565b60138201556121a682612344565b8160005b6001600160a01b038216158015906121c35750603f5481105b1561233a5760006121f96064610f98603f85815481106121df57fe5b90600052602060002001548a611e7290919063ffffffff16565b6001600160a01b038416600090815260466020526040902060020154909150612228908263ffffffff611e1116565b60466000856001600160a01b03166001600160a01b03168152602001908152602001600020600201819055506122ae6122866064610f986040868154811061226c57fe5b90600052602060002001548b611e7290919063ffffffff16565b6001600160a01b0385166000908152604660205260409020600401549063ffffffff611e1116565b6001600160a01b038085166000818152604660209081526040918290206004019490945580518581529051600187019492938d16927f8fa68a6a8e2fc9ff758a6e64afba8bc2f66fb082999a2c5225c8c49633faded4928290030190a4506001600160a01b039182166000908152604660205260409020600190810154610100900490921691016121aa565b5050505b50505050565b6001600160a01b0381161580159061237557506001600160a01b03811660009081526005602052604090205460ff16155b15610f0a576001600160a01b03811660009081526046602052604090206011810154674563918244f40000118015906123b357506015810154600a11155b80156123cc57506802b5e3af16b1880000816013015410155b1561147f5761147f826126bf565b6000818310156123ea5781611e6b565b5090919050565b6001600160a01b0382166000908152604660205260409020600281015461241e908363ffffffff611f0d16565b6002909101555050565b6001600160a01b03821660009081526046602052604081206003810154829061245290859061279f565b905060006124706064610f98605a610f8c898763ffffffff611f0d16565b6003840154909150612488908363ffffffff611f0d16565b600384015561249786826123f1565b95945050505050565b6001546001600160a01b031633146124b757600080fd5b6001546124cc906001600160a01b0316611d6c565b600180546001600160a01b0319169055565b6124e66117e0565b3360009081526005602052604090205460ff1661254a576040805162461bcd60e51b815260206004820152601d60248201527f55736572206e6f74207265676973746572656420666f7220626f6e7573000000604482015290519081900360640190fd5b600061255e476125593361115d565b61279f565b33600090815260066020526040902054909150612581908263ffffffff611e1116565b33600081815260066020526040808220939093559151909183156108fc02918491818181858888f1935050505015801561147f573d6000803e3d6000fd5b3390565b6000818361264f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156126145781810151838201526020016125fc565b50505050905090810190601f1680156126415780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161265b57fe5b0495945050505050565b600081848411156126b75760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156126145781810151838201526020016125fc565b505050900390565b6126c76117e0565b6001600160a01b03811660009081526005602052604090205460ff161561271f5760405162461bcd60e51b81526004018080602001828103825260218152602001806127fb6021913960400191505060405180910390fd5b6001600160a01b0381166000908152600560209081526040808320805460ff1916600190811790915560025460069093529220556004546127659163ffffffff611e1116565b6004556040516001600160a01b038216907fffe88a5f59af245d336238ae39a54e562c15024f255db787524f9abd61c8765a90600090a250565b60008183106123ea5781611e6b565b604051806101000160405280600890602082028036833750919291505056fe596f752073686f756c642062652072656769737465726564206c657373207468616e203720646179732061676f5573657220616c7265616479207265676973746572656420666f7220626f6e7573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220136bc7a10a52de7198cbec82b21e89b4b970bc823aefd2b98c5ac4bdb96285ba64736f6c63430006080033
Deployed Bytecode Sourcemap
6234:14885:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9752:9;9748:186;;9795:10;9824:1;9787:19;;;:7;:19;;;;;:34;:38;9783:88;;9846:9;:7;:9::i;:::-;9748:186;;;9903:19;9919:1;9903:7;:19::i;:::-;6234:14885;;12:1:-1;9;2:12;16620:612:0;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16620:612:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;16620:612:0;-1:-1:-1;;;;;16620:612:0;;:::i;:::-;;;;;;;;;;;;;;;;6828:38;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6828:38:0;;;:::i;16216:396::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;16216:396:0;;;:::i;7096:118::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7096:118:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7096:118:0;;:::i;7221:117::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7221:117:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7221:117:0;;:::i;7758:80::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7758:80:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7758:80:0;;:::i;9949:124::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9949:124:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;9949:124:0;-1:-1:-1;;;;;9949:124:0;;:::i;:::-;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9949:124:0;;;;;;;;;;;;;;;;7441:157;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7441:157:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7441:157:0;;:::i;11987:92::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;11987:92:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;11987:92:0;;:::i;4779:169::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4779:169:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4779:169:0;-1:-1:-1;;;;;4779:169:0;;:::i;7046:43::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7046:43:0;;;:::i;6998:41::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6998:41:0;;;:::i;15082:1126::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;15082:1126:0;;;;;;;:::i;7961:46::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7961:46:0;;;:::i;7605:146::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7605:146:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7605:146:0;;:::i;17897:135::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17897:135:0;;;:::i;17720:169::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17720:169:0;;;:::i;3457:44::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3457:44:0;;;:::i;14314:760::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;14314:760:0;;:::i;5860:91::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5860:91:0;;;:::i;6873:56::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;6873:56:0;;;:::i;8485:25::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8485:25:0;;;:::i;3736:26::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3736:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4527:124;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4527:124:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4527:124:0;-1:-1:-1;;;;;4527:124:0;;:::i;:::-;;;;;;;;;;;;;;;;;;1134:79;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1134:79:0;;;:::i;:::-;;;;-1:-1:-1;;;;;1134:79:0;;;;;;;;;;;;;;10248:120;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10248:120:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10248:120:0;-1:-1:-1;;;;;10248:120:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;10248:120:0;;;;;;;;;;;;;;;;;4053:466;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4053:466:0;;;:::i;12087:530::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12087:530:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;12087:530:0;;;;;;;;:::i;10611:297::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10611:297:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;;;;;;10611:297:0;;;;;;;;:::i;8014:48::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8014:48:0;;;:::i;7845:107::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7845:107:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7845:107:0;;:::i;8587:30::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8587:30:0;;;:::i;8423:53::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8423:53:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8423:53:0;;:::i;8240:52::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8240:52:0;;;:::i;17240:472::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17240:472:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;17240:472:0;-1:-1:-1;;;;;17240:472:0;;:::i;8361:55::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8361:55:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8361:55:0;;:::i;13407:899::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;13407:899:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;13407:899:0;-1:-1:-1;;;;;13407:899:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8069:57;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8069:57:0;;;:::i;4659:112::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;4659:112:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;4659:112:0;-1:-1:-1;;;;;4659:112:0;;:::i;3399:51::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3399:51:0;;;:::i;8661:41::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8661:41:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8661:41:0;-1:-1:-1;;;;;8661:41:0;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;8661:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5722:27;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5722:27:0;;;:::i;12625:774::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;12625:774:0;;;:::i;10081:159::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;10081:159:0;;;:::i;8624:30::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8624:30:0;;;:::i;5959:122::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5959:122:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;5959:122:0;-1:-1:-1;;;;;5959:122:0;;:::i;10916:1063::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;10916:1063:0;-1:-1:-1;;;;;10916:1063:0;;:::i;8517:27::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8517:27:0;;;:::i;7345:89::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;7345:89:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7345:89:0;;:::i;8551:29::-;;5:9:-1;2:2;;;27:1;24;17:12;2:2;8551:29:0;;;:::i;12625:774::-;3917:24;:22;:24::i;:::-;12731:10:::2;12699:21;12723:19:::0;;;:7:::2;:19;::::0;;;;12761:21;;12753:56:::2;;;::::0;;-1:-1:-1;;;12753:56:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;-1:-1:-1;;;12753:56:0;;;;;;;;;;;;;::::2;;12856:1;12826:27;12842:10;12826:15;:27::i;:::-;:31;12822:79;;;12874:15;:13;:15::i;:::-;12914:20;12936:18:::0;12958:26:::2;12973:10;12958:14;:26::i;:::-;12913:71;;;;13030:10;-1:-1:-1::0;;;;;13000:151:0::2;;13055:37;13072:6;:19;;;13055:12;:16;;:37;;;;:::i;:::-;13122:17;::::0;::::2;::::0;13107:33:::2;::::0;:10;;:33:::2;:14;:33;:::i;:::-;13000:151;::::0;;;;;::::2;::::0;::::2;::::0;;;;;;;;;;;;::::2;13169:23;::::0;::::2;::::0;::::2;;13164:87;;13235:4;13209:23:::0;;::::2;:30:::0;;-1:-1:-1;;13209:30:0::2;::::0;;::::2;::::0;;13164:87:::2;13263:19;::::0;::::2;:34:::0;;;;13308:17:::2;::::0;::::2;:30:::0;13376:15:::2;13349:24;::::0;;::::2;:42:::0;-1:-1:-1;9436:7:0::1;-1:-1:-1::0;9444:7:0::1;:5;:7::i;:::-;-1:-1:-1::0;;;;;9436:16:0::1;-1:-1:-1::0;;;;;9436:16:0::1;;;;;;;;;;;;:29;;;:33;9432:185;;;9486:119;9533:7;:5;:7::i;:::-;9561;:16;9569:7;:5;:7::i;:::-;-1:-1:-1::0;;;;;9561:16:0::1;-1:-1:-1::0;;;;;9561:16:0::1;;;;;;;;;;;;:29;;;9486:12;:119::i;:::-;12625:774::o:0;10916:1063::-;3917:24;:22;:24::i;:::-;11041:10:::2;11009:21;11033:19:::0;;;:7:::2;:19;::::0;;;;;11084:27:::2;::::0;11107:3;11084:10:::2;:27::i;:::-;11152:21:::0;;11063:48;;-1:-1:-1;11152:25:0;;11133:9:::2;:14:::0;11132:45:::2;;11124:81;;;::::0;;-1:-1:-1;;;11124:81:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;11232:21:::0;;11228:92:::2;;11275:33;11285:10;11297;11275:9;:33::i;:::-;11332:9;:7;:9::i;:::-;11364:11;11378:28;:9;8001:6;11378:28;:13;:28;:::i;:::-;11437:17;::::0;::::2;::::0;11364:42;;-1:-1:-1;11437:26:0::2;::::0;11364:42;11437:26:::2;:21;:26;:::i;:::-;11417:17;::::0;::::2;:46:::0;11498:21:::2;::::0;::::2;::::0;:36:::2;::::0;11524:9:::2;11498:36;:25;:36;:::i;:::-;11474:21;::::0;::::2;:60:::0;11562:14:::2;::::0;:29:::2;::::0;11581:9:::2;11562:29;:18;:29;:::i;:::-;11545:14;:46:::0;11618:13:::2;::::0;::::2;::::0;:22:::2;::::0;11636:3;11618:22:::2;:17;:22;:::i;:::-;11602:13;::::0;::::2;:38:::0;11656:32:::2;::::0;;11678:9:::2;11656:32:::0;;;;11666:10:::2;::::0;11656:32:::2;::::0;;;;;::::2;::::0;;::::2;11713:55;11729:10;11741:3;11746:9;11757:10;11713:15;:55::i;:::-;11781:31;11801:10;11781:19;:31::i;:::-;11825:23;11851:7;:16;11859:7;:5;:7::i;:::-;-1:-1:-1::0;;;;;11851:16:0::2;::::0;;::::2;::::0;::::2;::::0;;;;;;-1:-1:-1;11851:16:0;:32:::2;;::::0;11916:10:::2;::::0;11851:32;;-1:-1:-1;11907:64:0::2;::::0;11928:42:::2;:21;11851:32:::0;11928:42:::2;:25;:42;:::i;:::-;11907:8;:64::i;:::-;11894:10;:77;;;;9420:1;;;;9468::::1;9436:7;:16;9444:7;:5;:7::i;:::-;-1:-1:-1::0;;;;;9436:16:0::1;-1:-1:-1::0;;;;;9436:16:0::1;;;;;;;;;;;;:29;;;:33;9432:185;;;9486:119;9533:7;:5;:7::i;9486:119::-;10916:1063:::0;:::o;16620:612::-;-1:-1:-1;;;;;16714:13:0;;16670:7;16714:13;;;:7;:13;;;;;16742:21;;16738:67;;16792:1;16785:8;;;;;16738:67;16817:13;16859:1;16845:189;6865:1;16862;:14;16845:189;;;16906:116;16934:73;17003:3;16934:64;16973:21;16995:1;16973:24;;;;;;;;;16934:34;16953:11;16965:1;16953:14;;;;;;;;;16934:6;:11;;16946:1;16934:14;;;;;;;;;;:34;:18;:34;:::i;:::-;:38;:64;:38;:64;:::i;:::-;:68;:73;:68;:73;:::i;:::-;16906:5;;:116;:9;:116;:::i;:::-;16898:124;-1:-1:-1;16878:3:0;;16845:189;;;-1:-1:-1;17169:23:0;;;;17053:171;;17169:23;;:54;;8120:6;17169:54;;;17195:1;17169:54;17053:97;17142:7;17053:70;17077:45;17097:6;:24;;;17077:15;:19;;:45;;;;:::i;:::-;17053:5;;:70;:23;:70;:::i;:97::-;:115;:171;:115;:171;:::i;:::-;17046:178;;;;16620:612;;;;:::o;6828:38::-;6865:1;6828:38;:::o;16216:396::-;3917:24;:22;:24::i;:::-;16333:10:::2;16301:21;16325:19:::0;;;:7:::2;:19;::::0;;;;16357:9:::2;:7;:9::i;:::-;7088:1;16387:19:::0;::::2;::::0;16409;-1:-1:-1;16379:50:0::2;;12:1:-1;9::::0;2:12:::2;16379:50:0;16440:69;16458:10;16470:13;16484:6;:19;;;16506:1;16484:23;16470:38;;;;;;;;;16440:17;:69::i;:::-;16520:19;::::0;::::2;:21:::0;;::::2;;::::0;;;;16557:47:::2;::::0;16572:10:::2;::::0;16557:47:::2;::::0;16520:19:::2;::::0;16557:47:::2;9420:1;9468::::1;9436:7;:16;9444:7;:5;:7::i;7096:118::-:0;;;;;;;;;;;;;-1:-1:-1;7096:118:0;:::o;7221:117::-;;;;;;;;;7758:80;;;;;;;;;9949:124;10002:26;;:::i;:::-;-1:-1:-1;;;;;10048:12:0;;;;;;:7;:12;;;;;;;10041:24;;;;;;;;10048:17;;10041:24;;10048:17;10041:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9949:124;;;:::o;7441:157::-;;;;;;;;;11987:92;12039:32;12052:10;12064:6;12039:12;:32::i;4779:169::-;-1:-1:-1;;;;;4865:26:0;;4838:7;4865:26;;;:20;:26;;;;;;;;:75;;4939:1;4865:75;;;-1:-1:-1;;;;;4915:20:0;;;;;;:14;:20;;;;;;:5;4894:16;:42;;;:20;:42;:::i;:::-;4858:82;4779:169;-1:-1:-1;;4779:169:0:o;7046:43::-;7088:1;7046:43;:::o;6998:41::-;7037:2;6998:41;:::o;15082:1126::-;3917:24;:22;:24::i;:::-;15222:10:::2;15190:21;15214:19:::0;;;:7:::2;:19;::::0;;;;15250:9:::2;:13:::0;15246:65:::2;;15280:19;15296:1;15280:7;:19::i;:::-;15323:9;:7;:9::i;:::-;15359:1;15353:3;:7;:27;;;;;6865:1;15364:3;:16;15353:27;15345:71;;;::::0;;-1:-1:-1;;;15345:71:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;6915:14:::0;15431:22;::::2;15427:355;;;15478:18;:16;:18::i;:::-;15470:59;;;::::0;;-1:-1:-1;;;15470:59:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;15572:21:::0;;8348:6:::2;::::0;15552:42:::2;::::0;:15:::2;::::0;:42:::2;:19;:42;:::i;:::-;:67;15544:125;;;;-1:-1:-1::0;;;15544:125:0::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15427:355;;;15717:6;:18;;;15710:3;:25;;15702:68;;;::::0;;-1:-1:-1;;;15702:68:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;8060:2;15802:27;15823:5;15802:6;:11;;15814:3;15802:16;;;;;;;;::::0;;:27:::2;:20;:27;:::i;:::-;:50;;15794:59;;12:1:-1;9::::0;2:12:::2;15794:59:0;15883:27;15904:5;15883:6;:11;;15895:3;15883:16;;;;;;:27;15864:6;:11;;15876:3;15864:16;;;;;;;;:46:::0;15939:15:::2;::::0;:26:::2;::::0;15959:5;15939:26:::2;:19;:26;:::i;:::-;15921:15;:44:::0;15976:18:::2;15997:60;16017:10;16029:27;16050:5:::0;16029:11:::2;16041:3:::0;16029:16:::2;::::0;::::2;;;;:27;15997:19;:60::i;:::-;15976:81;;16070:78;16086:10;16098;16110:1;16113:34;16124:10;16144:1;16113:10;:34::i;:::-;16070:15;:78::i;:::-;16166:34;::::0;;;;;::::2;::::0;::::2;::::0;;;;;16177:10:::2;::::0;16166:34:::2;::::0;;;;;;::::2;9420:1;;9468::::1;9436:7;:16;9444:7;:5;:7::i;:::-;-1:-1:-1::0;;;;;9436:16:0::1;-1:-1:-1::0;;;;;9436:16:0::1;;;;;;;;;;;;:29;;;:33;9432:185;;;9486:119;9533:7;:5;:7::i;9486:119::-;15082:1126:::0;;:::o;7961:46::-;8001:6;7961:46;:::o;7605:146::-;;;;;;;;;17897:135;17961:22;:20;:22::i;:::-;17994:30;18004:7;:5;:7::i;:::-;18021:1;17994:9;:30::i;17720:169::-;17801:48;17821:27;17837:10;17821:15;:27::i;:::-;17801:15;;;:48;:19;:48;:::i;:::-;17783:15;:66;17860:21;:19;:21::i;3457:44::-;3494:7;3457:44;:::o;14314:760::-;3917:24;:22;:24::i;:::-;14438:10:::2;14406:21;14430:19:::0;;;:7:::2;:19;::::0;;;;14466:9:::2;:13:::0;14462:65:::2;;14496:19;14512:1;14496:7;:19::i;:::-;14539:9;:7;:9::i;:::-;6915:14:::0;14569:21;::::2;14561:58;;;::::0;;-1:-1:-1;;;14561:58:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;8060:2;14639:6;:11;;14657:1;14651:3;:7;14639:20;;;;;;;;;:43;14631:81;;;::::0;;-1:-1:-1;;;14631:81:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;14738:6;:18;;;14759:1;14738:22;14731:3;:29;14723:73;;;::::0;;-1:-1:-1;;;14723:73:0;;::::2;;::::0;::::2;::::0;::::2;::::0;;;;::::2;::::0;;;;;;;;;;;;;::::2;;6977:14:::0;14813:21;::::2;14809:81;;;14876:1;14859:6;:13;;;:18;;14851:27;;12:1:-1;9::::0;2:12:::2;14851:27:0;14900:56;14920:10;14932:18;14951:3;14932:23;;;;;;;;;14900:19;:56::i;:::-;;14988:3;14967:6;:18;;:24;;;;15021:1;15002:6;:11;;15014:3;15002:16;;;;;;;;:20:::0;15038:28:::2;::::0;;;;;;;15050:10:::2;::::0;15038:28:::2;::::0;;;;;::::2;::::0;;::::2;9420:1;9468::::1;9436:7;:16;9444:7;:5;:7::i;5860:91::-:0;1277:12;:10;:12::i;:::-;1267:6;;-1:-1:-1;;;;;1267:6:0;;;:22;;;1259:67;;;;;-1:-1:-1;;;1259:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6873:56;6915:14;6873:56;:::o;8485:25::-;;;;:::o;3736:26::-;;;;;;;;:::o;4527:124::-;-1:-1:-1;;;;;4617:26:0;4593:4;4617:26;;;:20;:26;;;;;;;;;4527:124::o;1134:79::-;1172:7;1199:6;-1:-1:-1;;;;;1199:6:0;1134:79;:::o;10248:120::-;-1:-1:-1;;;;;10337:13:0;;;;;;:7;:13;;;;;;;;;:23;;10330:30;;;;;;;;;;;;;;;;;10301:16;;10330:30;;;10337:23;10330:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10330:30:0;;;;;;;;;;;;;;;;;;;;;;10248:120;;;:::o;4053:466::-;4112:19;;:23;;;;:80;;-1:-1:-1;4139:18:0;;4177:15;;4139:34;;3494:7;4139:34;:22;:34;:::i;:::-;:53;;4112:80;4105:407;;;4209:14;4226:59;4281:3;4226:50;:21;3449:1;4226:50;:25;:50;:::i;:59::-;4351:19;;4209:76;;-1:-1:-1;4319:53:0;;4340:31;;4209:76;;4340:31;:10;:31;:::i;:::-;4319:5;:16;;:53;:20;:53;:::i;:::-;4300:5;:72;4408:18;;:34;;3494:7;4408:34;:22;:34;:::i;:::-;4387:18;:55;4472:19;;4462:38;;;;;;;;;;;;;;;;;;;;;;;;4105:407;;;12087:530;-1:-1:-1;;;;;12192:16:0;;12168:21;12192:16;;;:7;:16;;;;;12221:9;:7;:9::i;:::-;12243:13;12259:25;:6;8001;12259:25;:10;:25;:::i;:::-;12243:41;;12311:1;12303:5;:9;12295:50;;;;;-1:-1:-1;;;12295:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12378:19;;;;:31;;12402:6;12378:31;:23;:31;:::i;:::-;12356:19;;;:53;12445:22;;;;:33;;12472:5;12445:33;:26;:33;:::i;:::-;12420:22;;;:58;12507:15;;:26;;12527:5;12507:26;:19;:26;:::i;:::-;12489:15;:44;12544:23;;-1:-1:-1;;;;;12544:16:0;;;:23;;;;;12561:5;;12544:23;;;;12561:5;12544:16;:23;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;12583:26:0;;;;;;;;-1:-1:-1;;;;;12583:26:0;;;;;;;;;;;;;12087:530;;;;:::o;10611:297::-;10677:4;10716:7;:5;:7::i;:::-;-1:-1:-1;;;;;10702:21:0;:10;-1:-1:-1;;;;;10702:21:0;;10694:30;;12:1:-1;9;2:12;10694:30:0;10737:9;:7;:9::i;:::-;10759:39;10779:10;10791:6;10759:19;:39::i;:::-;-1:-1:-1;;;;;;10839:16:0;;;;;;:7;:16;;;;;:27;;;:39;;10871:6;10839:39;:31;:39;:::i;:::-;-1:-1:-1;;;;;10809:16:0;;;;;;:7;:16;;;;;:27;;:69;-1:-1:-1;10896:4:0;10611:297;;;;:::o;8014:48::-;8060:2;8014:48;:::o;7845:107::-;;;;;;;;;8587:30;;;;:::o;8423:53::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8423:53:0;:::o;8240:52::-;8290:2;8240:52;:::o;17240:472::-;3917:24;:22;:24::i;:::-;-1:-1:-1;;;;;17356:13:0;::::2;17332:21;17356:13:::0;;;:7:::2;:13;::::0;;;;17382:9:::2;:7;:9::i;:::-;17418:13;::::0;::::2;::::0;17404:301:::2;7037:2;17433:1;:16;17404:301;;;17492:13;17506:1;17492:16;;;;;;;;;17475:6;:13;;;:33;17471:223;;17549:40;17571:14;17586:1;17571:17;;;;;;;;::::0;17549::::2;::::0;::::2;::::0;;:40:::2;:21;:40;:::i;:::-;17529:17;::::0;::::2;:60:::0;17628:1:::2;17624:5:::0;::::2;17608:13;::::0;::::2;:21:::0;;;17653:25:::2;::::0;-1:-1:-1;;;;;17653:25:0;::::2;::::0;::::2;::::0;-1:-1:-1;;17653:25:0::2;17471:223;17451:3;;17404:301;;;;9420:1;9468::::1;9436:7;:16;9444:7;:5;:7::i;8361:55::-:0;;;;;;;;;;13407:899;-1:-1:-1;;;;;13614:16:0;;13509:20;13614:16;;;:7;:16;;;;;13645:21;;13509:20;;13614:16;13641:72;;-1:-1:-1;13696:1:0;;-1:-1:-1;13696:1:0;;-1:-1:-1;13688:13:0;;13641:72;13740:6;:19;;;13725:34;;13783:6;:17;;;13770:30;;13813:17;13833:15;13840:7;13833:6;:15::i;:::-;13864:23;;;;13813:35;;-1:-1:-1;13864:23:0;;13859:176;;13916:39;:9;8120:6;13916:39;:13;:39;:::i;:::-;13904:51;-1:-1:-1;13983:40:0;:10;8120:6;13983:40;:14;:40;:::i;:::-;13970:53;;13859:176;14047:19;14069:66;14131:3;14069:57;14083:21;14105:6;:19;;;14083:42;;;;;;;;;14069:9;;:57;:13;:57;:::i;:66::-;14047:88;-1:-1:-1;14146:17:0;14166:26;:9;14047:88;14166:26;:13;:26;:::i;:::-;14146:46;-1:-1:-1;14220:29:0;:12;14237:11;14220:29;:16;:29;:::i;:::-;14205:44;-1:-1:-1;14273:25:0;:10;14288:9;14273:25;:14;:25;:::i;:::-;14260:38;;13407:899;;;;;;;;:::o;8069:57::-;8120:6;8069:57;:::o;4659:112::-;-1:-1:-1;;;;;4743:20:0;4716:7;4743:20;;;:14;:20;;;;;;;4659:112::o;3399:51::-;3449:1;3399:51;:::o;8661:41::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8661:41:0;;;:::o;5722:27::-;;;-1:-1:-1;;;;;5722:27:0;;:::o;10081:159::-;10178:10;;10129:4;;10178:54;;10228:3;;10178:45;;10193:29;10178:45;:14;:45;:::i;:54::-;10153:21;:79;;10146:86;;10081:159;:::o;8624:30::-;;;;:::o;5959:122::-;1277:12;:10;:12::i;:::-;1267:6;;-1:-1:-1;;;;;1267:6:0;;;:22;;;1259:67;;;;;-1:-1:-1;;;1259:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6050:12:::1;:23:::0;;-1:-1:-1;;;;;;6050:23:0::1;-1:-1:-1::0;;;;;6050:23:0;;;::::1;::::0;;;::::1;::::0;;5959:122::o;8517:27::-;;;;:::o;7345:89::-;;;;;;;;;8551:29;;;;:::o;1803:181::-;1861:7;1893:5;;;1917:6;;;;1909:46;;;;;-1:-1:-1;;;1909:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;1975:1;1803:181;-1:-1:-1;;;1803:181:0:o;2354:280::-;2412:7;2466:6;2462:47;;-1:-1:-1;2496:1:0;2489:8;;2462:47;2533:5;;;2537:1;2533;:5;:1;2557:5;;;;;:10;2549:56;;;;-1:-1:-1;;;2549:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2648:132;2706:7;2733:39;2737:1;2740;2733:39;;;;;;;;;;;;;;;;;:3;:39::i;1998:136::-;2056:7;2083:43;2087:1;2090;2083:43;;;;;;;;;;;;;;;;;:3;:43::i;10376:227::-;-1:-1:-1;;;;;10469:13:0;;10445:7;10469:13;;;:7;:13;;;;;:28;:33;:48;;;;;10513:4;-1:-1:-1;;;;;10506:11:0;:3;-1:-1:-1;;;;;10506:11:0;;;10469:48;10465:91;;;-1:-1:-1;10541:3:0;10534:10;;10465:91;-1:-1:-1;;;;;;;10573:13:0;;;;;;;:7;:13;;;;;:22;;;;;;;;10376:227::o;19083:797::-;-1:-1:-1;;;;;19180:13:0;;19156:21;19180:13;;;:7;:13;;;;;;;19230:15;19206:39;;19180:13;19256:11;;;:14;:36;19324:1;19303:18;;;:22;19363:15;19336:24;;;:42;19407:15;;:40;;8060:2;19407:40;:19;:40;:::i;:::-;19389:15;:58;19458:12;:14;;;;;;-1:-1:-1;;;;;19489:24:0;;;19485:344;;19530:15;;;;:28;;-1:-1:-1;;;;;;19530:28:0;;-1:-1:-1;;;;;19530:28:0;;;;;;;;;;;;;-1:-1:-1;19573:19:0;;;:7;:19;;;;;;;:29;;;27:10:-1;;23:18;;;45:23;;19573:40:0;;;;;;;;;;;-1:-1:-1;;;;;;19573:40:0;;;;;;;19634:19;;;:28;;;;;;;;:42;19630:140;;-1:-1:-1;;;;;19705:19:0;;;19697:37;19705:19;;;19697:7;19705:19;;;;;;:28;;;;;;;;;;;19697:37;;;;:55;;:57;;;;;;;19630:140;19786:31;19806:10;19786:19;:31::i;:::-;19861:10;-1:-1:-1;;;;;19844:28:0;19855:4;-1:-1:-1;;;;;19844:28:0;;;;;;;;;;;19083:797;;;:::o;18040:1035::-;18177:7;:5;:7::i;:::-;-1:-1:-1;;;;;18161:34:0;:77;8001:6;18218:3;8173:2;18196:19;;:25;:41;18161:77;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;18265:24:0;;;18261:807;;-1:-1:-1;;;;;18332:19:0;;18306:23;18332:19;;;:7;:19;;;;;18401:32;;;;:47;;18438:9;18401:47;:36;:47;:::i;:::-;18366:32;;;:82;18463:31;18483:10;18463:19;:31::i;:::-;18538:10;18525;18563:494;-1:-1:-1;;;;;18580:16:0;;;;;;:57;;-1:-1:-1;18604:26:0;:33;18600:37;;18580:57;18563:494;;;18663:14;18680:47;18723:3;18680:38;18688:26;18715:1;18688:29;;;;;;;;;;;;;;;;18680:3;:7;;:38;;;;:::i;:47::-;-1:-1:-1;;;;;18773:11:0;;;;;;:7;:11;;;;;:24;;;18663:64;;-1:-1:-1;18773:36:0;;18663:64;18773:36;:28;:36;:::i;:::-;18746:7;:11;18754:2;-1:-1:-1;;;;;18746:11:0;-1:-1:-1;;;;;18746:11:0;;;;;;;;;;;;:24;;:63;;;;18849:67;18872:43;18911:3;18872:34;18880:22;18903:1;18880:25;;;;;;;;;;;;;;;;18872:3;:7;;:34;;;;:::i;:43::-;-1:-1:-1;;;;;18849:11:0;;;;;;:7;:11;;;;;:18;;;;:67;:22;:67;:::i;:::-;-1:-1:-1;;;;;18828:11:0;;;;;;;:7;:11;;;;;;;;;:18;;:88;;;;18940:37;;;;;;;18967:1;18963:5;;;18828:11;;18940:37;;;;;;;;;;;-1:-1:-1;;;;;;19021:11:0;;;;;;;:7;:11;;;;;:20;;;;;;;;;;;;18639:3;18563:494;;;;18261:807;;;18040:1035;;;;:::o;20691:425::-;-1:-1:-1;;;;;20758:18:0;;;;;;:49;;-1:-1:-1;;;;;;20781:26:0;;;;;;:20;:26;;;;;;;;20780:27;20758:49;20754:355;;;-1:-1:-1;;;;;20848:13:0;;20824:21;20848:13;;;:7;:13;;;;;20882:21;;;;20907:7;-1:-1:-1;20882:32:0;;;:82;;-1:-1:-1;20935:16:0;;;:23;20962:2;-1:-1:-1;20935:29:0;20882:82;:145;;;;;21019:8;20985:6;:30;;;:42;;20882:145;20878:220;;;21061:21;21077:4;21061:15;:21::i;90:107::-;148:7;180:1;175;:6;;:14;;188:1;175:14;;;-1:-1:-1;184:1:0;;90:107;-1:-1:-1;90:107:0:o;19888:186::-;-1:-1:-1;;;;;19989:13:0;;19965:21;19989:13;;;:7;:13;;;;;20035:19;;;;:31;;20059:6;20035:31;:23;:31;:::i;:::-;20013:19;;;;:53;-1:-1:-1;;19888:186:0:o;20270:413::-;-1:-1:-1;;;;;20390:13:0;;20346:7;20390:13;;;:7;:13;;;;;20447:17;;;;20346:7;;20430:35;;20439:6;;20430:8;:35::i;:::-;20416:49;-1:-1:-1;20476:13:0;20492:58;20546:3;20492:49;20512:28;20492:15;:6;20416:49;20492:15;:10;:15;:::i;:58::-;20583:17;;;;20476:74;;-1:-1:-1;20583:26:0;;20605:3;20583:26;:21;:26;:::i;:::-;20563:17;;;:46;20620:30;20638:4;20644:5;20620:17;:30::i;:::-;20670:5;20270:413;-1:-1:-1;;;;;20270:413:0:o;6089:138::-;5819:12;;-1:-1:-1;;;;;5819:12:0;5805:10;:26;5797:35;;12:1:-1;9;2:12;5797:35:0;6176:12:::1;::::0;6158:31:::1;::::0;-1:-1:-1;;;;;6176:12:0::1;6158:17;:31::i;:::-;6207:12;6200:19:::0;;-1:-1:-1;;;;;;6200:19:0::1;::::0;;6089:138::o;4956:359::-;3917:24;:22;:24::i;:::-;5056:10:::1;5035:32;::::0;;;:20;:32:::1;::::0;;;;;::::1;;5027:74;;;::::0;;-1:-1:-1;;;5027:74:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5114:14;5131:60;5140:21;5163:27;5179:10;5163:15;:27::i;:::-;5131:8;:60::i;:::-;5246:10;5231:26;::::0;;;:14;:26:::1;::::0;;;;;5114:77;;-1:-1:-1;5231:38:0::1;::::0;5114:77;5231:38:::1;:30;:38;:::i;:::-;5217:10;5202:26;::::0;;;:14;:26:::1;::::0;;;;;:67;;;;5280:27;;5217:10;;5280:27;::::1;;;::::0;5300:6;;5280:27;5202:26;5280:27;5300:6;5217:10;5280:27;::::1;;;;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;557:106:0::0;645:10;557:106;:::o;2794:211::-;2880:7;2925:12;2918:5;2910:28;;;;-1:-1:-1;;;2910:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2910:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2949:9;2965:1;2961;:5;;;;;;;2794:211;-1:-1:-1;;;;;2794:211:0:o;2148:192::-;2234:7;2270:12;2262:6;;;;2254:29;;;;-1:-1:-1;;;2254:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2254:29:0;-1:-1:-1;;;2306:5:0;;;2148:192::o;5323:353::-;3917:24;:22;:24::i;:::-;-1:-1:-1;;;;;5411:26:0;::::1;;::::0;;;:20;:26:::1;::::0;;;;;::::1;;5410:27;5402:73;;;;-1:-1:-1::0;;;5402:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5488:26:0;::::1;;::::0;;;:20;:26:::1;::::0;;;;;;;:33;;-1:-1:-1;;5488:33:0::1;5517:4;5488:33:::0;;::::1;::::0;;;:5:::1;5555:16:::0;5532:14;:20;;;;;:39;:14:::1;5604:19:::0;:26:::1;::::0;::::1;:23;:26;:::i;:::-;5582:19:::0;:48;5646:22:::1;::::0;-1:-1:-1;;;;;5646:22:0;::::1;::::0;::::1;::::0;;;::::1;5323:353:::0;:::o;211:106::-;269:7;300:1;296;:5;:13;;308:1;296:13;;-1:-1:-1;;;;;;;;;;;29:2;21:6;17:15;125:4;109:14;101:6;88:42;-1:-1;;;;;;:::o
Swarm Source
ipfs://136bc7a10a52de7198cbec82b21e89b4b970bc823aefd2b98c5ac4bdb96285ba
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
BSC | 100.00% | $607.67 | 0.027 | $16.41 |
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.