Contract Overview
More Info
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
View more zero value Internal Transactions in Advanced View mode
Contract Name:
RelyFund
Compiler Version
v0.8.4+commit.c7e474f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-12-16 */ // SPDX-License-Identifier: MIT License pragma solidity 0.8.4; interface IERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } library SafeERC20 { using Address for address; function safeTransfer( IERC20 token, address to, uint256 value ) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom( IERC20 token, address from, address to, uint256 value ) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } function safeApprove( IERC20 token, address spender, uint256 value ) internal { require( (value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance( IERC20 token, address spender, uint256 value ) internal { uint256 newAllowance = token.allowance(address(this), spender) + value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance( IERC20 token, address spender, uint256 value ) internal { unchecked { uint256 oldAllowance = token.allowance(address(this), spender); require(oldAllowance >= value, "SafeERC20: decreased allowance below zero"); uint256 newAllowance = oldAllowance - value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } } function _callOptionalReturn(IERC20 token, bytes memory data) private { bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } contract RelyFund is Context, Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; IERC20 public USD; address public paymentTokenAddress; event _Deposit(address indexed addr, uint256 amount, uint40 tm); event _Payout(address indexed addr, uint256 amount); event _Refund(address indexed addr, uint256 amount); event ReinvestMade(address indexed addr, uint256 amount, uint40 tm); address payable public team; address payable public dev; uint8 public isScheduled = 1; uint256 private constant DAY = 24 hours; uint256 private numDays = 7; uint16 constant PERCENT_DIVIDER = 1000; uint256 public invested; uint256 public reinvested; uint256 public withdrawn; uint256 public ref_bonus; uint256 public refunds; uint256 public launchTime; uint256 public sTime; struct Tarif { uint256 life_days; uint256 percent; } struct Depo { uint256 tarif; uint256 amount; uint40 time; uint256 depositTime; uint256 multiple; } struct Downline { uint8 level; address invite; } struct Player { string email; string lastname; string firstname; string password; address upline; uint256 dividends; uint256 total_invested; uint256 total_withdrawn; uint256 total_ref_bonus; uint256 total_reinvested; uint256 total_refunded; uint40 lastWithdrawn; Depo[] deposits; Downline[] downlines1; uint256[1] structure; } mapping(address => Player) public players; mapping(address => uint8) public banned; mapping(uint256 => Tarif) public tarifs; // white list wallets mapping(address => uint8) public whitelistWallets; uint public nextMemberNo; uint public decimals; constructor(address _token) { dev = payable(msg.sender); team = payable(msg.sender); tarifs[0] = Tarif(36135, 72270); paymentTokenAddress = _token; USD = IERC20(paymentTokenAddress); decimals = IERC20(paymentTokenAddress).decimals(); launchTime = 0; } function launch() public onlyOwner() { require(launchTime == 0,"invalid state!"); launchTime = block.timestamp; } function deposit(address _upline, uint256 amount) external { require(launchTime > 0,"not started!"); require(amount >= 100 * (10**decimals), "Minimum Deposit is 100 USDT!"); require(invested < 20000000 * (10**decimals) ,"Funds reach target!"); USD.safeTransferFrom(msg.sender, address(this), amount); setRefrellink(msg.sender, _upline); if(invested + amount > 500000 * (10**decimals)){ sTime = block.timestamp; } Player storage player = players[msg.sender]; uint256 multiple = 0; if(whitelistWallets[msg.sender] == 1){ whitelistWallets[msg.sender] = 0; multiple = 2; }else{ if(invested < 200000 * (10**decimals)){ multiple = 2; }else if(invested < 500000 * (10**decimals)){ multiple = 1; } } player.deposits.push(Depo({ tarif: 0, amount: amount, time: uint40(block.timestamp), depositTime: block.timestamp, multiple: multiple })); emit _Deposit(msg.sender, amount, uint40(block.timestamp)); uint256 teamFee = SafeMath.div(amount,100); USD.safeTransfer(dev, teamFee/2); USD.safeTransfer(team, teamFee/2); player.total_invested += amount; invested += amount; withdrawn += teamFee; commissionPayouts(msg.sender, amount); } function redeposit() external { require(banned[msg.sender] == 0,'Banned Wallet!'); Player storage player = players[msg.sender]; updateUserState(msg.sender); require(player.dividends >= 50 * (10**decimals), "Minimum reinvest is 50 USDT."); uint256 amount = player.dividends; player.dividends = 0; player.total_withdrawn += amount; withdrawn += amount; player.deposits.push(Depo({ tarif: 0, amount: amount, time: uint40(block.timestamp), depositTime: 0, multiple: 0 })); emit ReinvestMade(msg.sender, amount, uint40(block.timestamp)); player.total_invested += amount; player.total_reinvested += amount; invested += amount; reinvested += amount; } function claim() external { require(banned[msg.sender] == 0,'Banned Wallet!'); Player storage player = players[msg.sender]; if(isScheduled == 1) { require (block.timestamp >= (player.lastWithdrawn + (DAY * numDays)), "Not due yet for next payout!"); } updateUserState(msg.sender); require(player.dividends >= 50 * (10**decimals), "Minimum payout is 50 USDT."); uint256 amount = player.dividends; player.dividends = 0; player.total_withdrawn += amount; USD.safeTransfer(msg.sender, amount); emit _Payout(msg.sender, amount); uint256 teamFee = SafeMath.div(amount,100); USD.safeTransfer(team, teamFee/2); USD.safeTransfer(dev, teamFee/2); withdrawn += amount + teamFee; } function pendingReward(address _addr) view external returns(uint256 value) { if(banned[_addr] == 1){ return 0; } Player storage player = players[_addr]; for(uint256 i = 0; i < player.deposits.length; i++) { Depo storage dep = player.deposits[i]; Tarif storage tarif = tarifs[dep.tarif]; uint256 time_end = dep.time + tarif.life_days * 86400; uint40 from = player.lastWithdrawn > dep.time ? player.lastWithdrawn : dep.time; uint256 to = block.timestamp > time_end ? time_end : block.timestamp; uint256 multiple = 0; if(from < dep.time + 30 days){ multiple = dep.multiple; } if(from < to) { value = value + dep.amount * (to - from) * multiple / PERCENT_DIVIDER / 86400 + dep.amount * (to - from) * tarif.percent / tarif.life_days / 8640000 ; } } return value; } function updateUserState(address _addr) private { uint256 payout = this.pendingReward(_addr); if(payout > 0) { players[_addr].lastWithdrawn = uint40(block.timestamp); players[_addr].dividends += payout; } } function setRefrellink(address _addr, address _upline) private { if(players[_addr].upline == address(0) && _addr != owner()) { if(players[_upline].total_invested <= 0) { _upline = owner(); } players[_addr].upline = _upline; players[_upline].structure[0]++; Player storage up = players[_upline]; up.downlines1.push(Downline({ level: 1, invite: _addr })); } } function commissionPayouts(address _addr, uint256 _amount) private { address up = players[_addr].upline; if(up == address(0)) return; if(banned[up] == 0) { uint256 ref_bonuses = 50; if(block.timestamp > launchTime + 30 days){ ref_bonuses = 20; } uint256 bonus = _amount * ref_bonuses / PERCENT_DIVIDER; USD.safeTransfer(up, bonus); players[up].total_ref_bonus += bonus; players[up].total_withdrawn += bonus; ref_bonus += bonus; withdrawn += bonus; } } function relybot(uint256 amount) public onlyOwner returns (bool success) { USD.safeTransfer(msg.sender, amount); withdrawn += amount; return true; } function nextWithdraw(address _addr) view external returns(uint40 next_sked) { if(banned[_addr] == 1) { return 0; } Player storage player = players[_addr]; if(player.deposits.length > 0) { return uint40(player.lastWithdrawn + (DAY * numDays)); } return 0; } function setPaymentToken(address newval) public onlyOwner returns (bool success) { paymentTokenAddress = newval; return true; } function getContractBalance() public view returns (uint256) { return IERC20(paymentTokenAddress).balanceOf(address(this)); } function setProfile(string memory _email, string memory _lname, string memory _fname, string memory _password) public returns (bool success) { players[msg.sender].email = _email; players[msg.sender].lastname = _lname; players[msg.sender].firstname = _fname; players[msg.sender].password = _password; return true; } function setNewUpline(address member, address newSP) public onlyOwner returns(bool success) { players[member].upline = newSP; return true; } function setTeam(address payable newval) public onlyOwner returns (bool success) { team = newval; return true; } function setDev(address payable newval) public onlyOwner returns (bool success) { dev = newval; return true; } function setScheduled(uint8 newval) public onlyOwner returns (bool success) { isScheduled = newval; return true; } function setDays(uint newval) public onlyOwner returns (bool success) { numDays = newval; return true; } function banWallet(address wallet) public onlyOwner returns (bool success) { banned[wallet] = 1; return true; } function unbanWallet(address wallet) public onlyOwner returns (bool success) { banned[wallet] = 0; return true; } function refundWallets(address[] memory wallets) public onlyOwner returns (bool success) { for (uint256 i=0; i < wallets.length; i++) { refundWallet(wallets[i]); } return true; } function refundWallet(address wallet) internal returns (bool success) { if(banned[wallet] == 1){ return false; } Player storage player = players[wallet]; if(player.total_invested == 0){ return false; } uint256 amount = 0; for(uint256 i = 0; i < player.deposits.length; i++) { Depo storage dep = player.deposits[i]; if(dep.depositTime > 0 && (block.timestamp >= dep.depositTime + (15 days))){ amount += dep.amount; } } if(amount == 0){ return false; } player.total_refunded += amount; withdrawn += amount; refunds += amount; USD.safeTransfer(wallet, amount); emit _Refund(wallet, amount); banned[wallet] = 1; return true; } // add wallets to white list function addWhitelist(address[] calldata receivers) external onlyOwner { for (uint256 i = 0; i < receivers.length; i++) { whitelistWallets[receivers[i]] = 1; } } function userInfo(address _addr) view external returns(uint256 for_withdraw, uint256 numDeposits, uint256 downlines1, uint256[1] memory structure) { Player storage player = players[_addr]; uint256 payout = this.pendingReward(_addr); for(uint8 i = 0; i <1; i++) { structure[i] = player.structure[i]; } return ( payout + player.dividends, player.deposits.length, player.downlines1.length, structure ); } function memberDownline(address _addr, uint8 level, uint256 index) view external returns(address downline) { Player storage player = players[_addr]; Downline storage dl = player.downlines1[0]; if(level==1){ dl = player.downlines1[index]; } return(dl.invite); } function memberDeposit(address _addr, uint256 index) view external returns(uint40 time, uint256 amount, uint256 lifedays, uint256 percent) { Player storage player = players[_addr]; Depo storage dep = player.deposits[index]; Tarif storage tarif = tarifs[dep.tarif]; return(dep.time, dep.amount, tarif.life_days, tarif.percent); } function getBalance() public view returns(uint256) { return address(this).balance; } function getOwner() external view returns (address) { return owner(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint40","name":"tm","type":"uint40"}],"name":"ReinvestMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint40","name":"tm","type":"uint40"}],"name":"_Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_Payout","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"_Refund","type":"event"},{"inputs":[],"name":"USD","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"}],"name":"addWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"banWallet","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"banned","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_upline","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dev","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"invested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isScheduled","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"memberDeposit","outputs":[{"internalType":"uint40","name":"time","type":"uint40"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"lifedays","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"memberDownline","outputs":[{"internalType":"address","name":"downline","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nextMemberNo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"nextWithdraw","outputs":[{"internalType":"uint40","name":"next_sked","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paymentTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"pendingReward","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"players","outputs":[{"internalType":"string","name":"email","type":"string"},{"internalType":"string","name":"lastname","type":"string"},{"internalType":"string","name":"firstname","type":"string"},{"internalType":"string","name":"password","type":"string"},{"internalType":"address","name":"upline","type":"address"},{"internalType":"uint256","name":"dividends","type":"uint256"},{"internalType":"uint256","name":"total_invested","type":"uint256"},{"internalType":"uint256","name":"total_withdrawn","type":"uint256"},{"internalType":"uint256","name":"total_ref_bonus","type":"uint256"},{"internalType":"uint256","name":"total_reinvested","type":"uint256"},{"internalType":"uint256","name":"total_refunded","type":"uint256"},{"internalType":"uint40","name":"lastWithdrawn","type":"uint40"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"redeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ref_bonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"refundWallets","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"refunds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reinvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"relybot","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newval","type":"uint256"}],"name":"setDays","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newval","type":"address"}],"name":"setDev","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"member","type":"address"},{"internalType":"address","name":"newSP","type":"address"}],"name":"setNewUpline","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newval","type":"address"}],"name":"setPaymentToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_email","type":"string"},{"internalType":"string","name":"_lname","type":"string"},{"internalType":"string","name":"_fname","type":"string"},{"internalType":"string","name":"_password","type":"string"}],"name":"setProfile","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newval","type":"uint8"}],"name":"setScheduled","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newval","type":"address"}],"name":"setTeam","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tarifs","outputs":[{"internalType":"uint256","name":"life_days","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"team","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"unbanWallet","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"for_withdraw","type":"uint256"},{"internalType":"uint256","name":"numDeposits","type":"uint256"},{"internalType":"uint256","name":"downlines1","type":"uint256"},{"internalType":"uint256[1]","name":"structure","type":"uint256[1]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"whitelistWallets","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526001600460146101000a81548160ff021916908360ff16021790555060076005553480156200003257600080fd5b5060405162005a1638038062005a16833981810160405281019062000058919062000364565b60006200006a6200032e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280618d27815260200162011a4e815250600f6000808152602001908152602001600020600082015181600001556020820151816001015590505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015620002db57600080fd5b505afa158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000316919062000390565b60ff166012819055506000600b819055505062000431565b600033905090565b6000815190506200034781620003fd565b92915050565b6000815190506200035e8162000417565b92915050565b6000602082840312156200037757600080fd5b6000620003878482850162000336565b91505092915050565b600060208284031215620003a357600080fd5b6000620003b3848285016200034d565b91505092915050565b6000620003c982620003d0565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060ff82169050919050565b6200040881620003bc565b81146200041457600080fd5b50565b6200042281620003f0565b81146200042e57600080fd5b50565b6155d580620004416000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c8063884aa2581161015c578063b58d2508116100ce578063e2eb41ff11610087578063e2eb41ff146107eb578063ebea381514610826578063edac985b14610856578063f2fde38b14610872578063f40f0f521461088e578063f7e78e9d146108be5761027f565b8063b58d2508146106fe578063c28f9c191461072e578063c7bc2a631461074c578063c80ec5221461077f578063cafb22021461079d578063d477f05f146107bb5761027f565b80638e098215116101205780638e0982151461062757806391cca3db1461065857806392cea859146106765780639c8d83bb146106a6578063ad923505146106d6578063afb18fe7146106e05761027f565b8063884aa2581461056d578063893d20e81461059d5780638afa46b1146105bb5780638cc72783146105d95780638da5cb5b146106095761027f565b806355509c8f116101f5578063715018a6116101b9578063715018a6146104bb578063790ca413146104c55780637e6c906d146104e35780637ee80d17146105015780637fd877721461051f57806385f2aef21461054f5761027f565b806355509c8f146103ef5780636391def51461041f5780636a326ab11461043d5780636a4aef021461046d5780636f9fb98a1461049d5761027f565b806321850bf01161024757806321850bf01461032d578063310e70b61461035d578063313ce5671461037b578063417230631461039957806347e7ef24146103c95780634e71d92d146103e55761027f565b806301339c2114610284578063095cf5c61461028e57806312065fe0146102be5780631959a002146102dc5780631bf6c21b1461030f575b600080fd5b61028c6108ee565b005b6102a860048036038101906102a391906141d8565b6109d1565b6040516102b5919061487a565b60405180910390f35b6102c6610ab2565b6040516102d39190614b48565b60405180910390f35b6102f660048036038101906102f191906141af565b610aba565b6040516103069493929190614b8c565b60405180910390f35b610317610c6f565b6040516103249190614895565b60405180910390f35b610347600480360381019061034291906141af565b610c95565b604051610354919061487a565b60405180910390f35b610365610d8e565b6040516103729190614b48565b60405180910390f35b610383610d94565b6040516103909190614b48565b60405180910390f35b6103b360048036038101906103ae919061443a565b610d9a565b6040516103c0919061487a565b60405180910390f35b6103e360048036038101906103de919061423d565b610ea0565b005b6103ed6113f2565b005b61040960048036038101906104049190614377565b6117be565b604051610416919061487a565b60405180910390f35b610427611928565b6040516104349190614b48565b60405180910390f35b610457600480360381019061045291906141af565b61192e565b604051610464919061487a565b60405180910390f35b610487600480360381019061048291906141af565b611a0f565b604051610494919061487a565b60405180910390f35b6104a5611b08565b6040516104b29190614b48565b60405180910390f35b6104c3611bba565b005b6104cd611d0d565b6040516104da9190614b48565b60405180910390f35b6104eb611d13565b6040516104f89190614b48565b60405180910390f35b610509611d19565b6040516105169190614c5a565b60405180910390f35b61053960048036038101906105349190614279565b611d2c565b60405161054691906147e4565b60405180910390f35b610557611e40565b60405161056491906147ff565b60405180910390f35b61058760048036038101906105829190614201565b611e66565b604051610594919061487a565b60405180910390f35b6105a5611f88565b6040516105b291906147e4565b60405180910390f35b6105c3611f97565b6040516105d09190614b48565b60405180910390f35b6105f360048036038101906105ee919061430d565b611f9d565b604051610600919061487a565b60405180910390f35b6106116120a7565b60405161061e91906147e4565b60405180910390f35b610641600480360381019061063c919061443a565b6120d0565b60405161064f929190614b63565b60405180910390f35b6106606120f4565b60405161066d91906147ff565b60405180910390f35b610690600480360381019061068b91906141af565b61211a565b60405161069d9190614bfa565b60405180910390f35b6106c060048036038101906106bb91906141af565b61221b565b6040516106cd9190614c5a565b60405180910390f35b6106de61223b565b005b6106e861252e565b6040516106f591906147e4565b60405180910390f35b6107186004803603810190610713919061448c565b612554565b604051610725919061487a565b60405180910390f35b61073661260f565b6040516107439190614b48565b60405180910390f35b6107666004803603810190610761919061423d565b612615565b6040516107769493929190614c15565b60405180910390f35b610787612700565b6040516107949190614b48565b60405180910390f35b6107a5612706565b6040516107b29190614b48565b60405180910390f35b6107d560048036038101906107d091906141d8565b61270c565b6040516107e2919061487a565b60405180910390f35b610805600480360381019061080091906141af565b6127ed565b60405161081d9c9b9a999897969594939291906148d2565b60405180910390f35b610840600480360381019061083b919061443a565b612a9e565b60405161084d919061487a565b60405180910390f35b610870600480360381019061086b91906142c8565b612b45565b005b61088c600480360381019061088791906141af565b612ca6565b005b6108a860048036038101906108a391906141af565b612d47565b6040516108b59190614b48565b60405180910390f35b6108d860048036038101906108d391906141af565b613053565b6040516108e59190614c5a565b60405180910390f35b6108f6613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90614a48565b60405180910390fd5b6000600b54146109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90614aa8565b60405180910390fd5b42600b81905550565b60006109db613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f90614a48565b60405180910390fd5b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600047905090565b6000806000610ac7613f24565b6000600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060003073ffffffffffffffffffffffffffffffffffffffff1663f40f0f52886040518263ffffffff1660e01b8152600401610b4591906147e4565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190614463565b905060005b60018160ff161015610c3f5782600e018160ff1660018110610be5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0154848260ff1660018110610c23577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020020181815250508080610c37906151a1565b915050610b9a565b50816005015481610c509190614d56565b82600c018054905083600d018054905095509550955050509193509193565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c9f613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2390614a48565b60405180910390fd5b6001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555060019050919050565b60075481565b60125481565b6000610da4613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2890614a48565b60405180910390fd5b610e7e3383600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b8160086000828254610e909190614d56565b9250508190555060019050919050565b6000600b5411610ee5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edc906149c8565b60405180910390fd5b601254600a610ef49190614e6b565b6064610f009190614f89565b811015610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3990614a28565b60405180910390fd5b601254600a610f519190614e6b565b6301312d00610f609190614f89565b60065410610fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9a90614ac8565b60405180910390fd5b610ff2333083600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613101909392919063ffffffff16565b610ffc338361318a565b601254600a61100b9190614e6b565b6207a1206110199190614f89565b816006546110279190614d56565b11156110355742600c819055505b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161415611134576000601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555060029050611190565b601254600a6111439190614e6b565b62030d406111519190614f89565b6006541015611163576002905061118f565b601254600a6111729190614e6b565b6207a1206111809190614f89565b600654101561118e57600190505b5b5b81600c016040518060a00160405280600081526020018581526020014264ffffffffff168152602001428152602001838152509080600181540180825580915050600190039060005260206000209060050201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548164ffffffffff021916908364ffffffffff160217905550606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167fa24a5eebc50be1f0c92dbb186114b7392d43ecb101113f1972839255e166ebd78442604051611287929190614bd1565b60405180910390a2600061129c8460646134d3565b9050611319600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002836112d19190614de7565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b611394600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660028361134c9190614de7565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b838360060160008282546113a89190614d56565b9250508190555083600660008282546113c19190614d56565b9250508190555080600860008282546113da9190614d56565b925050819055506113eb33856134e9565b5050505050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147b906149a8565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506001600460149054906101000a900460ff1660ff16141561155d57600554620151806114f39190614f89565b81600b0160009054906101000a900464ffffffffff1664ffffffffff1661151a9190614d56565b42101561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390614b08565b60405180910390fd5b5b61156633613761565b601254600a6115759190614e6b565b60326115819190614f89565b816005015410156115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90614a68565b60405180910390fd5b60008160050154905060008260050181905550808260070160008282546115ee9190614d56565b925050819055506116423382600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fdb7dac28243f4ebd92a2cc9b5f632941d79587e5a648c8b52f797db8336ac200826040516116889190614b48565b60405180910390a2600061169d8260646134d3565b905061171a600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002836116d29190614de7565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b611795600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660028361174d9190614de7565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b80826117a19190614d56565b600860008282546117b29190614d56565b92505081905550505050565b600084600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000019080519060200190611816929190613f46565b5083600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101908051906020019061186d929190613f46565b5082600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020190805190602001906118c4929190613f46565b5081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301908051906020019061191b929190613f46565b5060019050949350505050565b60115481565b6000611938613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bc90614a48565b60405180910390fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000611a19613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d90614a48565b60405180910390fd5b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555060019050919050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611b6591906147e4565b60206040518083038186803b158015611b7d57600080fd5b505afa158015611b91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb59190614463565b905090565b611bc2613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4690614a48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b5481565b600c5481565b600460149054906101000a900460ff1681565b600080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600d01600081548110611daf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001905060018560ff161415611e105781600d018481548110611e03577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200190505b8060000160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611e70613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef490614a48565b60405180910390fd5b81600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001905092915050565b6000611f926120a7565b905090565b600a5481565b6000611fa7613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612034576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202b90614a48565b60405180910390fd5b60005b825181101561209d5761208983828151811061207c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516138b8565b50808061209590615158565b915050612037565b5060019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f6020528060005260406000206000915090508060000154908060010154905082565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561217d5760009050612216565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600c0180549050111561221057600554620151806121e19190614f89565b81600b0160009054906101000a900464ffffffffff1664ffffffffff166122089190614d56565b915050612216565b60009150505b919050565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16146122cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c4906149a8565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061231933613761565b601254600a6123289190614e6b565b60326123349190614f89565b8160050154101561237a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237190614a88565b60405180910390fd5b60008160050154905060008260050181905550808260070160008282546123a19190614d56565b9250508190555080600860008282546123ba9190614d56565b9250508190555081600c016040518060a00160405280600081526020018381526020014264ffffffffff1681526020016000815260200160008152509080600181540180825580915050600190039060005260206000209060050201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548164ffffffffff021916908364ffffffffff160217905550606082015181600301556080820151816004015550503373ffffffffffffffffffffffffffffffffffffffff167fbb96fd8fd566700a198e69659abc731daf3cbdeb5f946192c09d3034673f2d0382426040516124ba929190614bd1565b60405180910390a2808260060160008282546124d69190614d56565b92505081905550808260090160008282546124f19190614d56565b92505081905550806006600082825461250a9190614d56565b9250508190555080600760008282546125239190614d56565b925050819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061255e613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e290614a48565b60405180910390fd5b81600460146101000a81548160ff021916908360ff16021790555060019050919050565b60095481565b6000806000806000600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600c01878154811061269c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190506000600f60008360000154815260200190815260200160002090508160020160009054906101000a900464ffffffffff16826001015482600001548360010154965096509650965050505092959194509250565b60085481565b60065481565b6000612716613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279a90614a48565b60405180910390fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b600d602052806000526040600020600091509050806000018054612810906150f5565b80601f016020809104026020016040519081016040528092919081815260200182805461283c906150f5565b80156128895780601f1061285e57610100808354040283529160200191612889565b820191906000526020600020905b81548152906001019060200180831161286c57829003601f168201915b50505050509080600101805461289e906150f5565b80601f01602080910402602001604051908101604052809291908181526020018280546128ca906150f5565b80156129175780601f106128ec57610100808354040283529160200191612917565b820191906000526020600020905b8154815290600101906020018083116128fa57829003601f168201915b50505050509080600201805461292c906150f5565b80601f0160208091040260200160405190810160405280929190818152602001828054612958906150f5565b80156129a55780601f1061297a576101008083540402835291602001916129a5565b820191906000526020600020905b81548152906001019060200180831161298857829003601f168201915b5050505050908060030180546129ba906150f5565b80601f01602080910402602001604051908101604052809291908181526020018280546129e6906150f5565b8015612a335780601f10612a0857610100808354040283529160200191612a33565b820191906000526020600020905b815481529060010190602001808311612a1657829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600501549080600601549080600701549080600801549080600901549080600a01549080600b0160009054906101000a900464ffffffffff1690508c565b6000612aa8613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2c90614a48565b60405180910390fd5b8160058190555060019050919050565b612b4d613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd190614a48565b60405180910390fd5b60005b82829050811015612ca157600160106000858585818110612c27577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190612c3c91906141af565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055508080612c9990615158565b915050612bdd565b505050565b612cae613073565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3290614a48565b60405180910390fd5b612d4481613b8a565b50565b60006001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161415612daa576000905061304e565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060005b81600c018054905081101561304b57600082600c018281548110612e3d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906005020190506000600f60008360000154815260200190815260200160002090506000620151808260000154612e7d9190614f89565b8360020160009054906101000a900464ffffffffff1664ffffffffff16612ea49190614d56565b905060008360020160009054906101000a900464ffffffffff1664ffffffffff1686600b0160009054906101000a900464ffffffffff1664ffffffffff1611612f02578360020160009054906101000a900464ffffffffff16612f19565b85600b0160009054906101000a900464ffffffffff165b90506000824211612f2a5742612f2c565b825b9050600062278d008660020160009054906101000a900464ffffffffff16612f549190614dac565b64ffffffffff168364ffffffffff161015612f7157856004015490505b818364ffffffffff161015613032576283d600856000015486600101548564ffffffffff1685612fa19190614fe3565b8960010154612fb09190614f89565b612fba9190614f89565b612fc49190614de7565b612fce9190614de7565b620151806103e861ffff16838664ffffffffff1686612fed9190614fe3565b8a60010154612ffc9190614f89565b6130069190614f89565b6130109190614de7565b61301a9190614de7565b8a6130259190614d56565b61302f9190614d56565b98505b505050505050808061304390615158565b915050612df0565b50505b919050565b60106020528060005260406000206000915054906101000a900460ff1681565b600033905090565b6130fc8363a9059cbb60e01b848460405160240161309a929190614851565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613cb7565b505050565b613184846323b872dd60e01b8585856040516024016131229392919061481a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050613cb7565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff16600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614801561325b575061322b6120a7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156134cf576000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154116132b5576132b26120a7565b90505b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600e016000600181106133b1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160008154809291906133c390615158565b91905055506000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905080600d016040518060400160405280600160ff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505b5050565b600081836134e19190614de7565b905092915050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561358b575061375d565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561375b5760006032905062278d00600b546135fa9190614d56565b42111561360657601490505b60006103e861ffff16828561361b9190614f89565b6136259190614de7565b90506136748382600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060080160008282546136c69190614d56565b9250508190555080600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701600082825461371f9190614d56565b9250508190555080600960008282546137389190614d56565b9250508190555080600860008282546137519190614d56565b9250508190555050505b505b5050565b60003073ffffffffffffffffffffffffffffffffffffffff1663f40f0f52836040518263ffffffff1660e01b815260040161379c91906147e4565b60206040518083038186803b1580156137b457600080fd5b505afa1580156137c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137ec9190614463565b905060008111156138b45742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600b0160006101000a81548164ffffffffff021916908364ffffffffff16021790555080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008282546138ac9190614d56565b925050819055505b5050565b60006001600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff16141561391b5760009050613b85565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600601541415613975576000915050613b85565b6000805b82600c0180549050811015613a2857600083600c0182815481106139c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600502019050600081600301541180156139fc57506213c68081600301546139f89190614d56565b4210155b15613a1457806001015483613a119190614d56565b92505b508080613a2090615158565b915050613979565b506000811415613a3d57600092505050613b85565b8082600a016000828254613a519190614d56565b925050819055508060086000828254613a6a9190614d56565b9250508190555080600a6000828254613a839190614d56565b92505081905550613ad78482600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661307b9092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff167f5a8b23b6708800de8ffd6d2398cde024a6031d67c18648c347636e31d0fec45982604051613b1d9190614b48565b60405180910390a26001600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055506001925050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bf1906149e8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000613d19826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613d7e9092919063ffffffff16565b9050600081511115613d795780806020019051810190613d39919061434e565b613d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d6f90614b28565b60405180910390fd5b5b505050565b6060613d8d8484600085613d96565b90509392505050565b606082471015613ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dd290614a08565b60405180910390fd5b613de485613eaa565b613e23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e1a90614ae8565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051613e4c91906147cd565b60006040518083038185875af1925050503d8060008114613e89576040519150601f19603f3d011682016040523d82523d6000602084013e613e8e565b606091505b5091509150613e9e828286613ebd565b92505050949350505050565b600080823b905060008111915050919050565b60608315613ecd57829050613f1d565b600083511115613ee05782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f1491906148b0565b60405180910390fd5b9392505050565b6040518060200160405280600190602082028036833780820191505090505090565b828054613f52906150f5565b90600052602060002090601f016020900481019282613f745760008555613fbb565b82601f10613f8d57805160ff1916838001178555613fbb565b82800160010185558215613fbb579182015b82811115613fba578251825591602001919060010190613f9f565b5b509050613fc89190613fcc565b5090565b5b80821115613fe5576000816000905550600101613fcd565b5090565b6000613ffc613ff784614c9a565b614c75565b9050808382526020820190508285602086028201111561401b57600080fd5b60005b8581101561404b57816140318882614093565b84526020840193506020830192505060018101905061401e565b5050509392505050565b600061406861406384614cc6565b614c75565b90508281526020810184848401111561408057600080fd5b61408b8482856150b3565b509392505050565b6000813590506140a28161552c565b92915050565b6000813590506140b781615543565b92915050565b60008083601f8401126140cf57600080fd5b8235905067ffffffffffffffff8111156140e857600080fd5b60208301915083602082028301111561410057600080fd5b9250929050565b600082601f83011261411857600080fd5b8135614128848260208601613fe9565b91505092915050565b6000815190506141408161555a565b92915050565b600082601f83011261415757600080fd5b8135614167848260208601614055565b91505092915050565b60008135905061417f81615571565b92915050565b60008151905061419481615571565b92915050565b6000813590506141a981615588565b92915050565b6000602082840312156141c157600080fd5b60006141cf84828501614093565b91505092915050565b6000602082840312156141ea57600080fd5b60006141f8848285016140a8565b91505092915050565b6000806040838503121561421457600080fd5b600061422285828601614093565b925050602061423385828601614093565b9150509250929050565b6000806040838503121561425057600080fd5b600061425e85828601614093565b925050602061426f85828601614170565b9150509250929050565b60008060006060848603121561428e57600080fd5b600061429c86828701614093565b93505060206142ad8682870161419a565b92505060406142be86828701614170565b9150509250925092565b600080602083850312156142db57600080fd5b600083013567ffffffffffffffff8111156142f557600080fd5b614301858286016140bd565b92509250509250929050565b60006020828403121561431f57600080fd5b600082013567ffffffffffffffff81111561433957600080fd5b61434584828501614107565b91505092915050565b60006020828403121561436057600080fd5b600061436e84828501614131565b91505092915050565b6000806000806080858703121561438d57600080fd5b600085013567ffffffffffffffff8111156143a757600080fd5b6143b387828801614146565b945050602085013567ffffffffffffffff8111156143d057600080fd5b6143dc87828801614146565b935050604085013567ffffffffffffffff8111156143f957600080fd5b61440587828801614146565b925050606085013567ffffffffffffffff81111561442257600080fd5b61442e87828801614146565b91505092959194509250565b60006020828403121561444c57600080fd5b600061445a84828501614170565b91505092915050565b60006020828403121561447557600080fd5b600061448384828501614185565b91505092915050565b60006020828403121561449e57600080fd5b60006144ac8482850161419a565b91505092915050565b60006144c18383614791565b60208301905092915050565b6144d681615029565b82525050565b6144e581615017565b82525050565b6144f481614d01565b6144fe8184614d2f565b925061450982614cf7565b8060005b8381101561453a57815161452187826144b5565b965061452c83614d22565b92505060018101905061450d565b505050505050565b61454b8161503b565b82525050565b600061455c82614d0c565b6145668185614d3a565b93506145768185602086016150c2565b80840191505092915050565b61458b8161508f565b82525050565b600061459c82614d17565b6145a68185614d45565b93506145b68185602086016150c2565b6145bf81615287565b840191505092915050565b60006145d7600e83614d45565b91506145e2826152a5565b602082019050919050565b60006145fa600c83614d45565b9150614605826152ce565b602082019050919050565b600061461d602683614d45565b9150614628826152f7565b604082019050919050565b6000614640602683614d45565b915061464b82615346565b604082019050919050565b6000614663601c83614d45565b915061466e82615395565b602082019050919050565b6000614686602083614d45565b9150614691826153be565b602082019050919050565b60006146a9601a83614d45565b91506146b4826153e7565b602082019050919050565b60006146cc601c83614d45565b91506146d782615410565b602082019050919050565b60006146ef600e83614d45565b91506146fa82615439565b602082019050919050565b6000614712601383614d45565b915061471d82615462565b602082019050919050565b6000614735601d83614d45565b91506147408261548b565b602082019050919050565b6000614758601c83614d45565b9150614763826154b4565b602082019050919050565b600061477b602a83614d45565b9150614786826154dd565b604082019050919050565b61479a81615067565b82525050565b6147a981615067565b82525050565b6147b881615071565b82525050565b6147c781615082565b82525050565b60006147d98284614551565b915081905092915050565b60006020820190506147f960008301846144dc565b92915050565b600060208201905061481460008301846144cd565b92915050565b600060608201905061482f60008301866144dc565b61483c60208301856144dc565b61484960408301846147a0565b949350505050565b600060408201905061486660008301856144dc565b61487360208301846147a0565b9392505050565b600060208201905061488f6000830184614542565b92915050565b60006020820190506148aa6000830184614582565b92915050565b600060208201905081810360008301526148ca8184614591565b905092915050565b60006101808201905081810360008301526148ed818f614591565b90508181036020830152614901818e614591565b90508181036040830152614915818d614591565b90508181036060830152614929818c614591565b9050614938608083018b6144dc565b61494560a083018a6147a0565b61495260c08301896147a0565b61495f60e08301886147a0565b61496d6101008301876147a0565b61497b6101208301866147a0565b6149896101408301856147a0565b6149976101608301846147af565b9d9c50505050505050505050505050565b600060208201905081810360008301526149c1816145ca565b9050919050565b600060208201905081810360008301526149e1816145ed565b9050919050565b60006020820190508181036000830152614a0181614610565b9050919050565b60006020820190508181036000830152614a2181614633565b9050919050565b60006020820190508181036000830152614a4181614656565b9050919050565b60006020820190508181036000830152614a6181614679565b9050919050565b60006020820190508181036000830152614a818161469c565b9050919050565b60006020820190508181036000830152614aa1816146bf565b9050919050565b60006020820190508181036000830152614ac1816146e2565b9050919050565b60006020820190508181036000830152614ae181614705565b9050919050565b60006020820190508181036000830152614b0181614728565b9050919050565b60006020820190508181036000830152614b218161474b565b9050919050565b60006020820190508181036000830152614b418161476e565b9050919050565b6000602082019050614b5d60008301846147a0565b92915050565b6000604082019050614b7860008301856147a0565b614b8560208301846147a0565b9392505050565b6000608082019050614ba160008301876147a0565b614bae60208301866147a0565b614bbb60408301856147a0565b614bc860608301846144eb565b95945050505050565b6000604082019050614be660008301856147a0565b614bf360208301846147af565b9392505050565b6000602082019050614c0f60008301846147af565b92915050565b6000608082019050614c2a60008301876147af565b614c3760208301866147a0565b614c4460408301856147a0565b614c5160608301846147a0565b95945050505050565b6000602082019050614c6f60008301846147be565b92915050565b6000614c7f614c90565b9050614c8b8282615127565b919050565b6000604051905090565b600067ffffffffffffffff821115614cb557614cb4615258565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614ce157614ce0615258565b5b614cea82615287565b9050602081019050919050565b6000819050919050565b600060019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b6000614d6182615067565b9150614d6c83615067565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614da157614da06151cb565b5b828201905092915050565b6000614db782615071565b9150614dc283615071565b92508264ffffffffff03821115614ddc57614ddb6151cb565b5b828201905092915050565b6000614df282615067565b9150614dfd83615067565b925082614e0d57614e0c6151fa565b5b828204905092915050565b6000808291508390505b6001851115614e6257808604811115614e3e57614e3d6151cb565b5b6001851615614e4d5780820291505b8081029050614e5b85615298565b9450614e22565b94509492505050565b6000614e7682615067565b9150614e8183615067565b9250614eae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484614eb6565b905092915050565b600082614ec65760019050614f82565b81614ed45760009050614f82565b8160018114614eea5760028114614ef457614f23565b6001915050614f82565b60ff841115614f0657614f056151cb565b5b8360020a915084821115614f1d57614f1c6151cb565b5b50614f82565b5060208310610133831016604e8410600b8410161715614f585782820a905083811115614f5357614f526151cb565b5b614f82565b614f658484846001614e18565b92509050818404811115614f7c57614f7b6151cb565b5b81810290505b9392505050565b6000614f9482615067565b9150614f9f83615067565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614fd857614fd76151cb565b5b828202905092915050565b6000614fee82615067565b9150614ff983615067565b92508282101561500c5761500b6151cb565b5b828203905092915050565b600061502282615047565b9050919050565b600061503482615047565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600064ffffffffff82169050919050565b600060ff82169050919050565b600061509a826150a1565b9050919050565b60006150ac82615047565b9050919050565b82818337600083830152505050565b60005b838110156150e05780820151818401526020810190506150c5565b838111156150ef576000848401525b50505050565b6000600282049050600182168061510d57607f821691505b6020821081141561512157615120615229565b5b50919050565b61513082615287565b810181811067ffffffffffffffff8211171561514f5761514e615258565b5b80604052505050565b600061516382615067565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415615196576151956151cb565b5b600182019050919050565b60006151ac82615082565b915060ff8214156151c0576151bf6151cb565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f42616e6e65642057616c6c657421000000000000000000000000000000000000600082015250565b7f6e6f742073746172746564210000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f4d696e696d756d204465706f7369742069732031303020555344542100000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4d696e696d756d207061796f757420697320353020555344542e000000000000600082015250565b7f4d696e696d756d207265696e7665737420697320353020555344542e00000000600082015250565b7f696e76616c696420737461746521000000000000000000000000000000000000600082015250565b7f46756e6473207265616368207461726765742100000000000000000000000000600082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f4e6f74206475652079657420666f72206e657874207061796f75742100000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61553581615017565b811461554057600080fd5b50565b61554c81615029565b811461555757600080fd5b50565b6155638161503b565b811461556e57600080fd5b50565b61557a81615067565b811461558557600080fd5b50565b61559181615082565b811461559c57600080fd5b5056fea2646970667358221220e1ccec6e6c1664329bf6af0570fb2ed7035da780c80b407fdfe32e008911713a64736f6c63430008040033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
-----Decoded View---------------
Arg [0] : _token (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Deployed ByteCode Sourcemap
10774:13382:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13106:136;;;:::i;:::-;;20361:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23960:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22547:681;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;10884:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20953:134;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11481:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12732:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18996:171;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13253:1518;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15663:850;;;:::i;:::-;;19813:364;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12701:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19505:150;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21093:136;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19667:138;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7641:136;;;:::i;:::-;;11603:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11632:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11284:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23241:329;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11209:27;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20185:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24066:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11572:22;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21237:223;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7429:77;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12570:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;11243:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19176:321;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12524:39;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14779:875;;;:::i;:::-;;10908:34;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20658:137;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11544:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23578:374;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;11513:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11451:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20509:133;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12476:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;20809:131;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22342:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7785:107;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16524:976;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12643:49;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13106:136;7566:12;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13176:1:::1;13162:10;;:15;13154:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;13219:15;13206:10;:28;;;;13106:136::o:0;20361:135::-;20428:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20460:6:::1;20453:4;;:13;;;;;;;;;;;;;;;;;;20484:4;20477:11;;20361:135:::0;;;:::o;23960:98::-;24002:7;24029:21;24022:28;;23960:98;:::o;22547:681::-;22602:20;22686:19;22774:18;22815:27;;:::i;:::-;22855:21;22879:7;:14;22887:5;22879:14;;;;;;;;;;;;;;;22855:38;;22906:14;22923:4;:18;;;22942:5;22923:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22906:42;;22965:7;22961:89;22981:1;22978;:4;;;22961:89;;;23019:6;:16;;23036:1;23019:19;;;;;;;;;;;;;;;;;;;23004:9;23014:1;23004:12;;;;;;;;;;;;;;;;;;;;:34;;;;;22984:3;;;;;:::i;:::-;;;;22961:89;;;;23093:6;:16;;;23084:6;:25;;;;:::i;:::-;23124:6;:15;;:22;;;;23161:6;:17;;:24;;;;23062:158;;;;;;;;22547:681;;;;;:::o;10884:17::-;;;;;;;;;;;;;:::o;20953:134::-;21014:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21056:1:::1;21039:6;:14;21046:6;21039:14;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;21075:4;21068:11;;20953:134:::0;;;:::o;11481:25::-;;;;:::o;12732:20::-;;;;:::o;18996:171::-;19055:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19077:36:::1;19094:10;19106:6;19077:3;;;;;;;;;;;:16;;;;:36;;;;;:::i;:::-;19131:6;19118:9;;:19;;;;;;;:::i;:::-;;;;;;;;19155:4;19148:11;;18996:171:::0;;;:::o;13253:1518::-;13344:1;13331:10;;:14;13323:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13401:8;;13397:2;:12;;;;:::i;:::-;13390:3;:20;;;;:::i;:::-;13380:6;:30;;13372:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13489:8;;13485:2;:12;;;;:::i;:::-;13473:8;:25;;;;:::i;:::-;13462:8;;:36;13454:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13533:55;13554:10;13574:4;13581:6;13533:3;;;;;;;;;;;:20;;;;:55;;;;;;:::i;:::-;13605:34;13619:10;13631:7;13605:13;:34::i;:::-;13687:8;;13683:2;:12;;;;:::i;:::-;13673:6;:23;;;;:::i;:::-;13664:6;13653:8;;:17;;;;:::i;:::-;:43;13650:97;;;13720:15;13712:5;:23;;;;13650:97;13757:21;13781:7;:19;13789:10;13781:19;;;;;;;;;;;;;;;13757:43;;13811:16;13877:1;13845:16;:28;13862:10;13845:28;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;13842:329;;;13925:1;13894:16;:28;13911:10;13894:28;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;13952:1;13941:12;;13842:329;;;14013:8;;14009:2;:12;;;;:::i;:::-;13999:6;:23;;;;:::i;:::-;13988:8;;:34;13985:175;;;14053:1;14042:12;;13985:175;;;14103:8;;14099:2;:12;;;;:::i;:::-;14089:6;:23;;;;:::i;:::-;14078:8;;:34;14075:85;;;14143:1;14132:12;;14075:85;13985:175;13842:329;14192:6;:15;;14213:189;;;;;;;;14240:1;14213:189;;;;14264:6;14213:189;;;;14298:15;14213:189;;;;;;14342:15;14213:189;;;;14382:8;14213:189;;;14192:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14430:10;14421:53;;;14442:6;14457:15;14421:53;;;;;;;:::i;:::-;;;;;;;;14483:15;14501:24;14514:6;14521:3;14501:12;:24::i;:::-;14483:42;;14531:32;14548:3;;;;;;;;;;;14561:1;14553:7;:9;;;;:::i;:::-;14531:3;;;;;;;;;;;:16;;;;:32;;;;;:::i;:::-;14568:33;14585:4;;;;;;;;;;;14599:1;14591:7;:9;;;;:::i;:::-;14568:3;;;;;;;;;;;:16;;;;:33;;;;;:::i;:::-;14639:6;14614;:21;;;:31;;;;;;;:::i;:::-;;;;;;;;14678:6;14666:8;;:18;;;;;;;:::i;:::-;;;;;;;;14708:7;14695:9;;:20;;;;;;;:::i;:::-;;;;;;;;14726:37;14744:10;14756:6;14726:17;:37::i;:::-;13253:1518;;;;;:::o;15663:850::-;15736:1;15714:6;:18;15721:10;15714:18;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;15706:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;15766:21;15790:7;:19;15798:10;15790:19;;;;;;;;;;;;;;;15766:43;;15840:1;15825:11;;;;;;;;;;;:16;;;15822:149;;;15917:7;;11350:8;15911:13;;;;:::i;:::-;15887:6;:20;;;;;;;;;;;;:38;;;;;;:::i;:::-;15867:15;:59;;15858:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;15822:149;15988:27;16004:10;15988:15;:27::i;:::-;16066:8;;16062:2;:12;;;;:::i;:::-;16056:2;:19;;;;:::i;:::-;16036:6;:16;;;:39;;16028:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;16119:14;16137:6;:16;;;16119:34;;16183:1;16164:6;:16;;:20;;;;16231:6;16205;:22;;;:32;;;;;;;:::i;:::-;;;;;;;;16252:36;16269:10;16281:6;16252:3;;;;;;;;;;;:16;;;;:36;;;;;:::i;:::-;16306:10;16298:27;;;16318:6;16298:27;;;;;;:::i;:::-;;;;;;;;16334:15;16352:24;16365:6;16372:3;16352:12;:24::i;:::-;16334:42;;16381:33;16398:4;;;;;;;;;;;16412:1;16404:7;:9;;;;:::i;:::-;16381:3;;;;;;;;;;;:16;;;;:33;;;;;:::i;:::-;16425:32;16442:3;;;;;;;;;;;16455:1;16447:7;:9;;;;:::i;:::-;16425:3;;;;;;;;;;;:16;;;;:32;;;;;:::i;:::-;16494:7;16485:6;:16;;;;:::i;:::-;16472:9;;:29;;;;;;;:::i;:::-;;;;;;;;15663:850;;;:::o;19813:364::-;19940:12;19993:6;19965:7;:19;19973:10;19965:19;;;;;;;;;;;;;;;:25;;:34;;;;;;;;;;;;:::i;:::-;;20041:6;20010:7;:19;20018:10;20010:19;;;;;;;;;;;;;;;:28;;:37;;;;;;;;;;;;:::i;:::-;;20090:6;20058:7;:19;20066:10;20058:19;;;;;;;;;;;;;;;:29;;:38;;;;;;;;;;;;:::i;:::-;;20138:9;20107:7;:19;20115:10;20107:19;;;;;;;;;;;;;;;:28;;:40;;;;;;;;;;;;:::i;:::-;;20165:4;20158:11;;19813:364;;;;;;:::o;12701:24::-;;;;:::o;19505:150::-;19572:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19619:6:::1;19597:19;;:28;;;;;;;;;;;;;;;;;;19643:4;19636:11;;19505:150:::0;;;:::o;21093:136::-;21156:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21198:1:::1;21181:6;:14;21188:6;21181:14;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;21217:4;21210:11;;21093:136:::0;;;:::o;19667:138::-;19718:7;19752:19;;;;;;;;;;;19745:37;;;19791:4;19745:52;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19738:59;;19667:138;:::o;7641:136::-;7566:12;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7738:1:::1;7701:40;;7722:6;::::0;::::1;;;;;;;;7701:40;;;;;;;;;;;;7767:1;7750:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;7641:136::o:0;11603:25::-;;;;:::o;11632:20::-;;;;:::o;11284:28::-;;;;;;;;;;;;;:::o;23241:329::-;23330:16;23364:21;23388:7;:14;23396:5;23388:14;;;;;;;;;;;;;;;23364:38;;23413:19;23435:6;:17;;23453:1;23435:20;;;;;;;;;;;;;;;;;;;;;;;23413:42;;23476:1;23469:5;:8;;;23466:69;;;23499:6;:17;;23517:5;23499:24;;;;;;;;;;;;;;;;;;;;;;;23493:30;;23466:69;23552:2;:9;;;;;;;;;;;;23545:17;;;;23241:329;;;;;:::o;11209:27::-;;;;;;;;;;;;;:::o;20185:168::-;20263:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20318:5:::1;20293:7;:15;20301:6;20293:15;;;;;;;;;;;;;;;:22;;;:30;;;;;;;;;;;;;;;;;;20341:4;20334:11;;20185:168:::0;;;;:::o;24066:85::-;24109:7;24136;:5;:7::i;:::-;24129:14;;24066:85;:::o;11572:22::-;;;;:::o;21237:223::-;21312:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21342:9:::1;21337:94;21359:7;:14;21355:1;:18;21337:94;;;21395:24;21408:7;21416:1;21408:10;;;;;;;;;;;;;;;;;;;;;;21395:12;:24::i;:::-;;21375:3;;;;;:::i;:::-;;;;21337:94;;;;21448:4;21441:11;;21237:223:::0;;;:::o;7429:77::-;7467:7;7492:6;;;;;;;;;;;7485:13;;7429:77;:::o;12570:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11243:26::-;;;;;;;;;;;;;:::o;19176:321::-;19235:16;19278:1;19261:6;:13;19268:5;19261:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;19258:36;;;19290:1;19283:8;;;;19258:36;19304:21;19328:7;:14;19336:5;19328:14;;;;;;;;;;;;;;;19304:38;;19381:1;19356:6;:15;;:22;;;;:26;19353:118;;;19450:7;;11350:8;19444:13;;;;:::i;:::-;19420:6;:20;;;;;;;;;;;;:38;;;;;;:::i;:::-;19406:53;;;;;19353:118;19488:1;19481:8;;;19176:321;;;;:::o;12524:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;14779:875::-;14847:1;14825:6;:18;14832:10;14825:18;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;14817:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;14877:21;14901:7;:19;14909:10;14901:19;;;;;;;;;;;;;;;14877:43;;14933:27;14949:10;14933:15;:27::i;:::-;15011:8;;15007:2;:12;;;;:::i;:::-;15001:2;:19;;;;:::i;:::-;14981:6;:16;;;:39;;14973:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;15066:14;15084:6;:16;;;15066:34;;15130:1;15111:6;:16;;:20;;;;15172:6;15146;:22;;;:32;;;;;;;:::i;:::-;;;;;;;;15202:6;15189:9;;:19;;;;;;;:::i;:::-;;;;;;;;15224:6;:15;;15245:168;;;;;;;;15272:1;15245:168;;;;15296:6;15245:168;;;;15330:15;15245:168;;;;;;15374:1;15245:168;;;;15400:1;15245:168;;;15224:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15445:10;15432:57;;;15457:6;15472:15;15432:57;;;;;;;:::i;:::-;;;;;;;;15527:6;15502;:21;;;:31;;;;;;;:::i;:::-;;;;;;;;15571:6;15544;:23;;;:33;;;;;;;:::i;:::-;;;;;;;;15610:6;15598:8;;:18;;;;;;;:::i;:::-;;;;;;;;15635:6;15621:10;;:20;;;;;;;:::i;:::-;;;;;;;;14779:875;;:::o;10908:34::-;;;;;;;;;;;;;:::o;20658:137::-;20720:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20759:6:::1;20745:11;;:20;;;;;;;;;;;;;;;;;;20783:4;20776:11;;20658:137:::0;;;:::o;11544:24::-;;;;:::o;23578:374::-;23653:11;23666:14;23682:16;23700:15;23733:21;23757:7;:14;23765:5;23757:14;;;;;;;;;;;;;;;23733:38;;23782:16;23801:6;:15;;23817:5;23801:22;;;;;;;;;;;;;;;;;;;;;;;;;;23782:41;;23834:19;23856:6;:17;23863:3;:9;;;23856:17;;;;;;;;;;;23834:39;;23891:3;:8;;;;;;;;;;;;23901:3;:10;;;23913:5;:15;;;23930:5;:13;;;23884:60;;;;;;;;;;;23578:374;;;;;;;:::o;11513:24::-;;;;:::o;11451:23::-;;;;:::o;20509:133::-;20575:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20606:6:::1;20600:3;;:12;;;;;;;;;;;;;;;;;;20630:4;20623:11;;20509:133:::0;;;:::o;12476:41::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20809:131::-;20865:12;7566;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20904:6:::1;20894:7;:16;;;;20928:4;20921:11;;20809:131:::0;;;:::o;22342:197::-;7566:12;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22429:9:::1;22424:108;22448:9;;:16;;22444:1;:20;22424:108;;;22519:1;22486:16;:30;22503:9;;22513:1;22503:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22486:30;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;22466:3;;;;;:::i;:::-;;;;22424:108;;;;22342:197:::0;;:::o;7785:107::-;7566:12;:10;:12::i;:::-;7556:22;;:6;;;;;;;;;;:22;;;7548:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7856:28:::1;7875:8;7856:18;:28::i;:::-;7785:107:::0;:::o;16524:976::-;16584:13;16624:1;16607:6;:13;16614:5;16607:13;;;;;;;;;;;;;;;;;;;;;;;;;:18;;;16604:35;;;16635:1;16628:8;;;;16604:35;16649:21;16673:7;:14;16681:5;16673:14;;;;;;;;;;;;;;;16649:38;;16704:9;16700:770;16723:6;:15;;:22;;;;16719:1;:26;16700:770;;;16767:16;16786:6;:15;;16802:1;16786:18;;;;;;;;;;;;;;;;;;;;;;;;;;16767:37;;16819:19;16841:6;:17;16848:3;:9;;;16841:17;;;;;;;;;;;16819:39;;16875:16;16923:5;16905;:15;;;:23;;;;:::i;:::-;16894:3;:8;;;;;;;;;;;;:34;;;;;;:::i;:::-;16875:53;;16943:11;16980:3;:8;;;;;;;;;;;;16957:31;;:6;:20;;;;;;;;;;;;:31;;;:65;;17014:3;:8;;;;;;;;;;;;16957:65;;;16991:6;:20;;;;;;;;;;;;16957:65;16943:79;;17037:10;17068:8;17050:15;:26;:55;;17090:15;17050:55;;;17079:8;17050:55;17037:68;;17122:16;17178:7;17167:3;:8;;;;;;;;;;;;:18;;;;:::i;:::-;17160:25;;:4;:25;;;17157:87;;;17216:3;:12;;;17205:23;;17157:87;17270:2;17263:4;:9;;;17260:199;;;17435:7;17417:5;:15;;;17401:5;:13;;;17393:4;17388:9;;:2;:9;;;;:::i;:::-;17374:3;:10;;;:24;;;;:::i;:::-;:40;;;;:::i;:::-;:58;;;;:::i;:::-;:68;;;;:::i;:::-;17366:5;11437:4;17309:54;;17337:8;17328:4;17323:9;;:2;:9;;;;:::i;:::-;17309:3;:10;;;:24;;;;:::i;:::-;:36;;;;:::i;:::-;:54;;;;:::i;:::-;:62;;;;:::i;:::-;17301:5;:70;;;;:::i;:::-;:141;;;;:::i;:::-;17293:149;;17260:199;16700:770;;;;;;16747:3;;;;;:::i;:::-;;;;16700:770;;;;17480:12;16524:976;;;;:::o;12643:49::-;;;;;;;;;;;;;;;;;;;;;;:::o;6733:98::-;6786:7;6813:10;6806:17;;6733:98;:::o;4617:211::-;4734:86;4754:5;4784:23;;;4809:2;4813:5;4761:58;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4734:19;:86::i;:::-;4617:211;;;:::o;4836:248::-;4980:96;5000:5;5030:27;;;5059:4;5065:2;5069:5;5007:68;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:19;:96::i;:::-;4836:248;;;;:::o;17805:559::-;17915:1;17882:35;;:7;:14;17890:5;17882:14;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:35;;;:55;;;;;17930:7;:5;:7::i;:::-;17921:16;;:5;:16;;;;17882:55;17879:478;;;18011:1;17976:7;:16;17984:7;17976:16;;;;;;;;;;;;;;;:31;;;:36;17973:93;;18043:7;:5;:7::i;:::-;18033:17;;17973:93;18118:7;18094;:14;18102:5;18094:14;;;;;;;;;;;;;;;:21;;;:31;;;;;;;;;;;;;;;;;;18140:7;:16;18148:7;18140:16;;;;;;;;;;;;;;;:26;;18167:1;18140:29;;;;;;;;;;;;;;;;;:31;;;;;;;;;:::i;:::-;;;;;;18188:17;18208:7;:16;18216:7;18208:16;;;;;;;;;;;;;;;18188:36;;18239:2;:13;;18258:84;;;;;;;;18293:1;18258:84;;;;;;18321:5;18258:84;;;;;18239:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17879:478;;17805:559;;:::o;9821:98::-;9879:7;9910:1;9906;:5;;;;:::i;:::-;9899:12;;9821:98;;;;:::o;18389:595::-;18467:10;18480:7;:14;18488:5;18480:14;;;;;;;;;;;;;;;:21;;;;;;;;;;;;18467:34;;18531:1;18517:16;;:2;:16;;;18514:28;;;18535:7;;;18514:28;18569:1;18555:6;:10;18562:2;18555:10;;;;;;;;;;;;;;;;;;;;;;;;;:15;;;18552:421;;;18593:19;18615:2;18593:24;;18666:7;18653:10;;:20;;;;:::i;:::-;18635:15;:38;18632:93;;;18707:2;18693:16;;18632:93;18732:13;11437:4;18748:39;;18758:11;18748:7;:21;;;;:::i;:::-;:39;;;;:::i;:::-;18732:55;;18801:27;18818:2;18822:5;18801:3;;;;;;;;;;;:16;;;;:27;;;;;:::i;:::-;18870:5;18839:7;:11;18847:2;18839:11;;;;;;;;;;;;;;;:27;;;:36;;;;;;;:::i;:::-;;;;;;;;18912:5;18881:7;:11;18889:2;18881:11;;;;;;;;;;;;;;;:27;;;:36;;;;;;;:::i;:::-;;;;;;;;18938:5;18925:9;;:18;;;;;;;:::i;:::-;;;;;;;;18962:5;18949:9;;:18;;;;;;;:::i;:::-;;;;;;;;18552:421;;;18389:595;;;;:::o;17511:278::-;17570:14;17587:4;:18;;;17606:5;17587:25;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17570:42;;17637:1;17628:6;:10;17625:157;;;17705:15;17667:7;:14;17675:5;17667:14;;;;;;;;;;;;;;;:28;;;:54;;;;;;;;;;;;;;;;;;17764:6;17736:7;:14;17744:5;17736:14;;;;;;;;;;;;;;;:24;;;:34;;;;;;;:::i;:::-;;;;;;;;17625:157;17511:278;;:::o;21466:834::-;21522:12;21578:1;21560:6;:14;21567:6;21560:14;;;;;;;;;;;;;;;;;;;;;;;;;:19;;;21557:40;;;21589:5;21582:12;;;;21557:40;21607:21;21631:7;:15;21639:6;21631:15;;;;;;;;;;;;;;;21607:39;;21686:1;21661:6;:21;;;:26;21658:69;;;21710:5;21703:12;;;;;21658:69;21737:14;21770:9;21766:260;21789:6;:15;;:22;;;;21785:1;:26;21766:260;;;21833:16;21852:6;:15;;21868:1;21852:18;;;;;;;;;;;;;;;;;;;;;;;;;;21833:37;;21906:1;21888:3;:15;;;:19;:71;;;;;21950:7;21931:3;:15;;;:27;;;;:::i;:::-;21912:15;:46;;21888:71;21885:130;;;21989:3;:10;;;21979:20;;;;;:::i;:::-;;;21885:130;21766:260;21813:3;;;;;:::i;:::-;;;;21766:260;;;;22049:1;22039:6;:11;22036:54;;;22073:5;22066:12;;;;;;22036:54;22119:6;22094;:21;;;:31;;;;;;;:::i;:::-;;;;;;;;22143:6;22130:9;;:19;;;;;;;:::i;:::-;;;;;;;;22165:6;22154:7;;:17;;;;;;;:::i;:::-;;;;;;;;22182:32;22199:6;22207;22182:3;;;;;;;;;;;:16;;;;:32;;;;;:::i;:::-;22232:6;22224:23;;;22240:6;22224:23;;;;;;:::i;:::-;;;;;;;;22269:1;22252:6;:14;22259:6;22252:14;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;22288:4;22281:11;;;;21466:834;;;;:::o;7900:223::-;7992:1;7972:22;;:8;:22;;;;7964:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;8080:8;8051:38;;8072:6;;;;;;;;;;8051:38;;;;;;;;;;;;8107:8;8098:6;;:17;;;;;;;;;;;;;;;;;;7900:223;:::o;6344:347::-;6425:23;6451:69;6479:4;6451:69;;;;;;;;;;;;;;;;;6459:5;6451:27;;;;:69;;;;;:::i;:::-;6425:95;;6555:1;6535:10;:17;:21;6531:153;;;6606:10;6595:30;;;;;;;;;;;;:::i;:::-;6587:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6531:153;6344:347;;;:::o;1694:229::-;1831:12;1863:52;1885:6;1893:4;1899:1;1902:12;1863:21;:52::i;:::-;1856:59;;1694:229;;;;;:::o;2207:510::-;2377:12;2435:5;2410:21;:30;;2402:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;2502:18;2513:6;2502:10;:18::i;:::-;2494:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2568:12;2582:23;2609:6;:11;;2628:5;2635:4;2609:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2567:73;;;;2658:51;2675:7;2684:10;2696:12;2658:16;:51::i;:::-;2651:58;;;;2207:510;;;;;;:::o;972:196::-;1032:4;1049:12;1116:7;1104:20;1096:28;;1159:1;1152:4;:8;1145:15;;;972:196;;;:::o;3967:584::-;4117:12;4146:7;4142:402;;;4177:10;4170:17;;;;4142:402;4258:1;4238:10;:17;:21;4234:299;;;4361:10;4355:17;4422:15;4409:10;4405:2;4401:19;4394:44;4309:148;4504:12;4497:20;;;;;;;;;;;:::i;:::-;;;;;;;;3967:584;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;24:655:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:2;;;414:1;411;404:12;350:2;450:1;435:238;460:6;457:1;454:13;435:238;;;528:3;557:37;590:3;578:10;557:37;:::i;:::-;552:3;545:50;624:4;619:3;615:14;608:21;;658:4;653:3;649:14;642:21;;495:178;482:1;479;475:9;470:14;;435:238;;;439:14;126:553;;;;;;;:::o;685:345::-;763:5;788:66;804:49;846:6;804:49;:::i;:::-;788:66;:::i;:::-;779:75;;877:6;870:5;863:21;915:4;908:5;904:16;953:3;944:6;939:3;935:16;932:25;929:2;;;970:1;967;960:12;929:2;983:41;1017:6;1012:3;1007;983:41;:::i;:::-;769:261;;;;;;:::o;1036:139::-;1082:5;1120:6;1107:20;1098:29;;1136:33;1163:5;1136:33;:::i;:::-;1088:87;;;;:::o;1181:155::-;1235:5;1273:6;1260:20;1251:29;;1289:41;1324:5;1289:41;:::i;:::-;1241:95;;;;:::o;1359:367::-;1432:8;1442:6;1492:3;1485:4;1477:6;1473:17;1469:27;1459:2;;1510:1;1507;1500:12;1459:2;1546:6;1533:20;1523:30;;1576:18;1568:6;1565:30;1562:2;;;1608:1;1605;1598:12;1562:2;1645:4;1637:6;1633:17;1621:29;;1699:3;1691:4;1683:6;1679:17;1669:8;1665:32;1662:41;1659:2;;;1716:1;1713;1706:12;1659:2;1449:277;;;;;:::o;1749:303::-;1820:5;1869:3;1862:4;1854:6;1850:17;1846:27;1836:2;;1887:1;1884;1877:12;1836:2;1927:6;1914:20;1952:94;2042:3;2034:6;2027:4;2019:6;2015:17;1952:94;:::i;:::-;1943:103;;1826:226;;;;;:::o;2058:137::-;2112:5;2143:6;2137:13;2128:22;;2159:30;2183:5;2159:30;:::i;:::-;2118:77;;;;:::o;2215:273::-;2271:5;2320:3;2313:4;2305:6;2301:17;2297:27;2287:2;;2338:1;2335;2328:12;2287:2;2378:6;2365:20;2403:79;2478:3;2470:6;2463:4;2455:6;2451:17;2403:79;:::i;:::-;2394:88;;2277:211;;;;;:::o;2494:139::-;2540:5;2578:6;2565:20;2556:29;;2594:33;2621:5;2594:33;:::i;:::-;2546:87;;;;:::o;2639:143::-;2696:5;2727:6;2721:13;2712:22;;2743:33;2770:5;2743:33;:::i;:::-;2702:80;;;;:::o;2788:135::-;2832:5;2870:6;2857:20;2848:29;;2886:31;2911:5;2886:31;:::i;:::-;2838:85;;;;:::o;2929:262::-;2988:6;3037:2;3025:9;3016:7;3012:23;3008:32;3005:2;;;3053:1;3050;3043:12;3005:2;3096:1;3121:53;3166:7;3157:6;3146:9;3142:22;3121:53;:::i;:::-;3111:63;;3067:117;2995:196;;;;:::o;3197:278::-;3264:6;3313:2;3301:9;3292:7;3288:23;3284:32;3281:2;;;3329:1;3326;3319:12;3281:2;3372:1;3397:61;3450:7;3441:6;3430:9;3426:22;3397:61;:::i;:::-;3387:71;;3343:125;3271:204;;;;:::o;3481:407::-;3549:6;3557;3606:2;3594:9;3585:7;3581:23;3577:32;3574:2;;;3622:1;3619;3612:12;3574:2;3665:1;3690:53;3735:7;3726:6;3715:9;3711:22;3690:53;:::i;:::-;3680:63;;3636:117;3792:2;3818:53;3863:7;3854:6;3843:9;3839:22;3818:53;:::i;:::-;3808:63;;3763:118;3564:324;;;;;:::o;3894:407::-;3962:6;3970;4019:2;4007:9;3998:7;3994:23;3990:32;3987:2;;;4035:1;4032;4025:12;3987:2;4078:1;4103:53;4148:7;4139:6;4128:9;4124:22;4103:53;:::i;:::-;4093:63;;4049:117;4205:2;4231:53;4276:7;4267:6;4256:9;4252:22;4231:53;:::i;:::-;4221:63;;4176:118;3977:324;;;;;:::o;4307:548::-;4382:6;4390;4398;4447:2;4435:9;4426:7;4422:23;4418:32;4415:2;;;4463:1;4460;4453:12;4415:2;4506:1;4531:53;4576:7;4567:6;4556:9;4552:22;4531:53;:::i;:::-;4521:63;;4477:117;4633:2;4659:51;4702:7;4693:6;4682:9;4678:22;4659:51;:::i;:::-;4649:61;;4604:116;4759:2;4785:53;4830:7;4821:6;4810:9;4806:22;4785:53;:::i;:::-;4775:63;;4730:118;4405:450;;;;;:::o;4861:425::-;4947:6;4955;5004:2;4992:9;4983:7;4979:23;4975:32;4972:2;;;5020:1;5017;5010:12;4972:2;5091:1;5080:9;5076:17;5063:31;5121:18;5113:6;5110:30;5107:2;;;5153:1;5150;5143:12;5107:2;5189:80;5261:7;5252:6;5241:9;5237:22;5189:80;:::i;:::-;5171:98;;;;5034:245;4962:324;;;;;:::o;5292:405::-;5376:6;5425:2;5413:9;5404:7;5400:23;5396:32;5393:2;;;5441:1;5438;5431:12;5393:2;5512:1;5501:9;5497:17;5484:31;5542:18;5534:6;5531:30;5528:2;;;5574:1;5571;5564:12;5528:2;5602:78;5672:7;5663:6;5652:9;5648:22;5602:78;:::i;:::-;5592:88;;5455:235;5383:314;;;;:::o;5703:278::-;5770:6;5819:2;5807:9;5798:7;5794:23;5790:32;5787:2;;;5835:1;5832;5825:12;5787:2;5878:1;5903:61;5956:7;5947:6;5936:9;5932:22;5903:61;:::i;:::-;5893:71;;5849:125;5777:204;;;;:::o;5987:1150::-;6113:6;6121;6129;6137;6186:3;6174:9;6165:7;6161:23;6157:33;6154:2;;;6203:1;6200;6193:12;6154:2;6274:1;6263:9;6259:17;6246:31;6304:18;6296:6;6293:30;6290:2;;;6336:1;6333;6326:12;6290:2;6364:63;6419:7;6410:6;6399:9;6395:22;6364:63;:::i;:::-;6354:73;;6217:220;6504:2;6493:9;6489:18;6476:32;6535:18;6527:6;6524:30;6521:2;;;6567:1;6564;6557:12;6521:2;6595:63;6650:7;6641:6;6630:9;6626:22;6595:63;:::i;:::-;6585:73;;6447:221;6735:2;6724:9;6720:18;6707:32;6766:18;6758:6;6755:30;6752:2;;;6798:1;6795;6788:12;6752:2;6826:63;6881:7;6872:6;6861:9;6857:22;6826:63;:::i;:::-;6816:73;;6678:221;6966:2;6955:9;6951:18;6938:32;6997:18;6989:6;6986:30;6983:2;;;7029:1;7026;7019:12;6983:2;7057:63;7112:7;7103:6;7092:9;7088:22;7057:63;:::i;:::-;7047:73;;6909:221;6144:993;;;;;;;:::o;7143:262::-;7202:6;7251:2;7239:9;7230:7;7226:23;7222:32;7219:2;;;7267:1;7264;7257:12;7219:2;7310:1;7335:53;7380:7;7371:6;7360:9;7356:22;7335:53;:::i;:::-;7325:63;;7281:117;7209:196;;;;:::o;7411:284::-;7481:6;7530:2;7518:9;7509:7;7505:23;7501:32;7498:2;;;7546:1;7543;7536:12;7498:2;7589:1;7614:64;7670:7;7661:6;7650:9;7646:22;7614:64;:::i;:::-;7604:74;;7560:128;7488:207;;;;:::o;7701:258::-;7758:6;7807:2;7795:9;7786:7;7782:23;7778:32;7775:2;;;7823:1;7820;7813:12;7775:2;7866:1;7891:51;7934:7;7925:6;7914:9;7910:22;7891:51;:::i;:::-;7881:61;;7837:115;7765:194;;;;:::o;7965:179::-;8034:10;8055:46;8097:3;8089:6;8055:46;:::i;:::-;8133:4;8128:3;8124:14;8110:28;;8045:99;;;;:::o;8150:142::-;8253:32;8279:5;8253:32;:::i;:::-;8248:3;8241:45;8231:61;;:::o;8298:118::-;8385:24;8403:5;8385:24;:::i;:::-;8380:3;8373:37;8363:53;;:::o;8454:694::-;8590:52;8636:5;8590:52;:::i;:::-;8658:84;8735:6;8730:3;8658:84;:::i;:::-;8651:91;;8766:54;8814:5;8766:54;:::i;:::-;8843:7;8874:1;8859:282;8884:6;8881:1;8878:13;8859:282;;;8960:6;8954:13;8987:63;9046:3;9031:13;8987:63;:::i;:::-;8980:70;;9073:58;9124:6;9073:58;:::i;:::-;9063:68;;8919:222;8906:1;8903;8899:9;8894:14;;8859:282;;;8863:14;8566:582;;;;;:::o;9154:109::-;9235:21;9250:5;9235:21;:::i;:::-;9230:3;9223:34;9213:50;;:::o;9269:373::-;9373:3;9401:38;9433:5;9401:38;:::i;:::-;9455:88;9536:6;9531:3;9455:88;:::i;:::-;9448:95;;9552:52;9597:6;9592:3;9585:4;9578:5;9574:16;9552:52;:::i;:::-;9629:6;9624:3;9620:16;9613:23;;9377:265;;;;;:::o;9648:157::-;9748:50;9792:5;9748:50;:::i;:::-;9743:3;9736:63;9726:79;;:::o;9811:364::-;9899:3;9927:39;9960:5;9927:39;:::i;:::-;9982:71;10046:6;10041:3;9982:71;:::i;:::-;9975:78;;10062:52;10107:6;10102:3;10095:4;10088:5;10084:16;10062:52;:::i;:::-;10139:29;10161:6;10139:29;:::i;:::-;10134:3;10130:39;10123:46;;9903:272;;;;;:::o;10181:366::-;10323:3;10344:67;10408:2;10403:3;10344:67;:::i;:::-;10337:74;;10420:93;10509:3;10420:93;:::i;:::-;10538:2;10533:3;10529:12;10522:19;;10327:220;;;:::o;10553:366::-;10695:3;10716:67;10780:2;10775:3;10716:67;:::i;:::-;10709:74;;10792:93;10881:3;10792:93;:::i;:::-;10910:2;10905:3;10901:12;10894:19;;10699:220;;;:::o;10925:366::-;11067:3;11088:67;11152:2;11147:3;11088:67;:::i;:::-;11081:74;;11164:93;11253:3;11164:93;:::i;:::-;11282:2;11277:3;11273:12;11266:19;;11071:220;;;:::o;11297:366::-;11439:3;11460:67;11524:2;11519:3;11460:67;:::i;:::-;11453:74;;11536:93;11625:3;11536:93;:::i;:::-;11654:2;11649:3;11645:12;11638:19;;11443:220;;;:::o;11669:366::-;11811:3;11832:67;11896:2;11891:3;11832:67;:::i;:::-;11825:74;;11908:93;11997:3;11908:93;:::i;:::-;12026:2;12021:3;12017:12;12010:19;;11815:220;;;:::o;12041:366::-;12183:3;12204:67;12268:2;12263:3;12204:67;:::i;:::-;12197:74;;12280:93;12369:3;12280:93;:::i;:::-;12398:2;12393:3;12389:12;12382:19;;12187:220;;;:::o;12413:366::-;12555:3;12576:67;12640:2;12635:3;12576:67;:::i;:::-;12569:74;;12652:93;12741:3;12652:93;:::i;:::-;12770:2;12765:3;12761:12;12754:19;;12559:220;;;:::o;12785:366::-;12927:3;12948:67;13012:2;13007:3;12948:67;:::i;:::-;12941:74;;13024:93;13113:3;13024:93;:::i;:::-;13142:2;13137:3;13133:12;13126:19;;12931:220;;;:::o;13157:366::-;13299:3;13320:67;13384:2;13379:3;13320:67;:::i;:::-;13313:74;;13396:93;13485:3;13396:93;:::i;:::-;13514:2;13509:3;13505:12;13498:19;;13303:220;;;:::o;13529:366::-;13671:3;13692:67;13756:2;13751:3;13692:67;:::i;:::-;13685:74;;13768:93;13857:3;13768:93;:::i;:::-;13886:2;13881:3;13877:12;13870:19;;13675:220;;;:::o;13901:366::-;14043:3;14064:67;14128:2;14123:3;14064:67;:::i;:::-;14057:74;;14140:93;14229:3;14140:93;:::i;:::-;14258:2;14253:3;14249:12;14242:19;;14047:220;;;:::o;14273:366::-;14415:3;14436:67;14500:2;14495:3;14436:67;:::i;:::-;14429:74;;14512:93;14601:3;14512:93;:::i;:::-;14630:2;14625:3;14621:12;14614:19;;14419:220;;;:::o;14645:366::-;14787:3;14808:67;14872:2;14867:3;14808:67;:::i;:::-;14801:74;;14884:93;14973:3;14884:93;:::i;:::-;15002:2;14997:3;14993:12;14986:19;;14791:220;;;:::o;15017:108::-;15094:24;15112:5;15094:24;:::i;:::-;15089:3;15082:37;15072:53;;:::o;15131:118::-;15218:24;15236:5;15218:24;:::i;:::-;15213:3;15206:37;15196:53;;:::o;15255:115::-;15340:23;15357:5;15340:23;:::i;:::-;15335:3;15328:36;15318:52;;:::o;15376:112::-;15459:22;15475:5;15459:22;:::i;:::-;15454:3;15447:35;15437:51;;:::o;15494:271::-;15624:3;15646:93;15735:3;15726:6;15646:93;:::i;:::-;15639:100;;15756:3;15749:10;;15628:137;;;;:::o;15771:222::-;15864:4;15902:2;15891:9;15887:18;15879:26;;15915:71;15983:1;15972:9;15968:17;15959:6;15915:71;:::i;:::-;15869:124;;;;:::o;15999:254::-;16108:4;16146:2;16135:9;16131:18;16123:26;;16159:87;16243:1;16232:9;16228:17;16219:6;16159:87;:::i;:::-;16113:140;;;;:::o;16259:442::-;16408:4;16446:2;16435:9;16431:18;16423:26;;16459:71;16527:1;16516:9;16512:17;16503:6;16459:71;:::i;:::-;16540:72;16608:2;16597:9;16593:18;16584:6;16540:72;:::i;:::-;16622;16690:2;16679:9;16675:18;16666:6;16622:72;:::i;:::-;16413:288;;;;;;:::o;16707:332::-;16828:4;16866:2;16855:9;16851:18;16843:26;;16879:71;16947:1;16936:9;16932:17;16923:6;16879:71;:::i;:::-;16960:72;17028:2;17017:9;17013:18;17004:6;16960:72;:::i;:::-;16833:206;;;;;:::o;17045:210::-;17132:4;17170:2;17159:9;17155:18;17147:26;;17183:65;17245:1;17234:9;17230:17;17221:6;17183:65;:::i;:::-;17137:118;;;;:::o;17261:248::-;17367:4;17405:2;17394:9;17390:18;17382:26;;17418:84;17499:1;17488:9;17484:17;17475:6;17418:84;:::i;:::-;17372:137;;;;:::o;17515:313::-;17628:4;17666:2;17655:9;17651:18;17643:26;;17715:9;17709:4;17705:20;17701:1;17690:9;17686:17;17679:47;17743:78;17816:4;17807:6;17743:78;:::i;:::-;17735:86;;17633:195;;;;:::o;17834:1805::-;18315:4;18353:3;18342:9;18338:19;18330:27;;18403:9;18397:4;18393:20;18389:1;18378:9;18374:17;18367:47;18431:78;18504:4;18495:6;18431:78;:::i;:::-;18423:86;;18556:9;18550:4;18546:20;18541:2;18530:9;18526:18;18519:48;18584:78;18657:4;18648:6;18584:78;:::i;:::-;18576:86;;18709:9;18703:4;18699:20;18694:2;18683:9;18679:18;18672:48;18737:78;18810:4;18801:6;18737:78;:::i;:::-;18729:86;;18862:9;18856:4;18852:20;18847:2;18836:9;18832:18;18825:48;18890:78;18963:4;18954:6;18890:78;:::i;:::-;18882:86;;18978:73;19046:3;19035:9;19031:19;19022:6;18978:73;:::i;:::-;19061;19129:3;19118:9;19114:19;19105:6;19061:73;:::i;:::-;19144;19212:3;19201:9;19197:19;19188:6;19144:73;:::i;:::-;19227;19295:3;19284:9;19280:19;19271:6;19227:73;:::i;:::-;19310;19378:3;19367:9;19363:19;19354:6;19310:73;:::i;:::-;19393;19461:3;19450:9;19446:19;19437:6;19393:73;:::i;:::-;19476:74;19545:3;19534:9;19530:19;19520:7;19476:74;:::i;:::-;19560:72;19627:3;19616:9;19612:19;19602:7;19560:72;:::i;:::-;18320:1319;;;;;;;;;;;;;;;:::o;19645:419::-;19811:4;19849:2;19838:9;19834:18;19826:26;;19898:9;19892:4;19888:20;19884:1;19873:9;19869:17;19862:47;19926:131;20052:4;19926:131;:::i;:::-;19918:139;;19816:248;;;:::o;20070:419::-;20236:4;20274:2;20263:9;20259:18;20251:26;;20323:9;20317:4;20313:20;20309:1;20298:9;20294:17;20287:47;20351:131;20477:4;20351:131;:::i;:::-;20343:139;;20241:248;;;:::o;20495:419::-;20661:4;20699:2;20688:9;20684:18;20676:26;;20748:9;20742:4;20738:20;20734:1;20723:9;20719:17;20712:47;20776:131;20902:4;20776:131;:::i;:::-;20768:139;;20666:248;;;:::o;20920:419::-;21086:4;21124:2;21113:9;21109:18;21101:26;;21173:9;21167:4;21163:20;21159:1;21148:9;21144:17;21137:47;21201:131;21327:4;21201:131;:::i;:::-;21193:139;;21091:248;;;:::o;21345:419::-;21511:4;21549:2;21538:9;21534:18;21526:26;;21598:9;21592:4;21588:20;21584:1;21573:9;21569:17;21562:47;21626:131;21752:4;21626:131;:::i;:::-;21618:139;;21516:248;;;:::o;21770:419::-;21936:4;21974:2;21963:9;21959:18;21951:26;;22023:9;22017:4;22013:20;22009:1;21998:9;21994:17;21987:47;22051:131;22177:4;22051:131;:::i;:::-;22043:139;;21941:248;;;:::o;22195:419::-;22361:4;22399:2;22388:9;22384:18;22376:26;;22448:9;22442:4;22438:20;22434:1;22423:9;22419:17;22412:47;22476:131;22602:4;22476:131;:::i;:::-;22468:139;;22366:248;;;:::o;22620:419::-;22786:4;22824:2;22813:9;22809:18;22801:26;;22873:9;22867:4;22863:20;22859:1;22848:9;22844:17;22837:47;22901:131;23027:4;22901:131;:::i;:::-;22893:139;;22791:248;;;:::o;23045:419::-;23211:4;23249:2;23238:9;23234:18;23226:26;;23298:9;23292:4;23288:20;23284:1;23273:9;23269:17;23262:47;23326:131;23452:4;23326:131;:::i;:::-;23318:139;;23216:248;;;:::o;23470:419::-;23636:4;23674:2;23663:9;23659:18;23651:26;;23723:9;23717:4;23713:20;23709:1;23698:9;23694:17;23687:47;23751:131;23877:4;23751:131;:::i;:::-;23743:139;;23641:248;;;:::o;23895:419::-;24061:4;24099:2;24088:9;24084:18;24076:26;;24148:9;24142:4;24138:20;24134:1;24123:9;24119:17;24112:47;24176:131;24302:4;24176:131;:::i;:::-;24168:139;;24066:248;;;:::o;24320:419::-;24486:4;24524:2;24513:9;24509:18;24501:26;;24573:9;24567:4;24563:20;24559:1;24548:9;24544:17;24537:47;24601:131;24727:4;24601:131;:::i;:::-;24593:139;;24491:248;;;:::o;24745:419::-;24911:4;24949:2;24938:9;24934:18;24926:26;;24998:9;24992:4;24988:20;24984:1;24973:9;24969:17;24962:47;25026:131;25152:4;25026:131;:::i;:::-;25018:139;;24916:248;;;:::o;25170:222::-;25263:4;25301:2;25290:9;25286:18;25278:26;;25314:71;25382:1;25371:9;25367:17;25358:6;25314:71;:::i;:::-;25268:124;;;;:::o;25398:332::-;25519:4;25557:2;25546:9;25542:18;25534:26;;25570:71;25638:1;25627:9;25623:17;25614:6;25570:71;:::i;:::-;25651:72;25719:2;25708:9;25704:18;25695:6;25651:72;:::i;:::-;25524:206;;;;;:::o;25736:645::-;25959:4;25997:3;25986:9;25982:19;25974:27;;26011:71;26079:1;26068:9;26064:17;26055:6;26011:71;:::i;:::-;26092:72;26160:2;26149:9;26145:18;26136:6;26092:72;:::i;:::-;26174;26242:2;26231:9;26227:18;26218:6;26174:72;:::i;:::-;26256:118;26370:2;26359:9;26355:18;26346:6;26256:118;:::i;:::-;25964:417;;;;;;;:::o;26387:328::-;26506:4;26544:2;26533:9;26529:18;26521:26;;26557:71;26625:1;26614:9;26610:17;26601:6;26557:71;:::i;:::-;26638:70;26704:2;26693:9;26689:18;26680:6;26638:70;:::i;:::-;26511:204;;;;;:::o;26721:218::-;26812:4;26850:2;26839:9;26835:18;26827:26;;26863:69;26929:1;26918:9;26914:17;26905:6;26863:69;:::i;:::-;26817:122;;;;:::o;26945:549::-;27120:4;27158:3;27147:9;27143:19;27135:27;;27172:69;27238:1;27227:9;27223:17;27214:6;27172:69;:::i;:::-;27251:72;27319:2;27308:9;27304:18;27295:6;27251:72;:::i;:::-;27333;27401:2;27390:9;27386:18;27377:6;27333:72;:::i;:::-;27415;27483:2;27472:9;27468:18;27459:6;27415:72;:::i;:::-;27125:369;;;;;;;:::o;27500:214::-;27589:4;27627:2;27616:9;27612:18;27604:26;;27640:67;27704:1;27693:9;27689:17;27680:6;27640:67;:::i;:::-;27594:120;;;;:::o;27720:129::-;27754:6;27781:20;;:::i;:::-;27771:30;;27810:33;27838:4;27830:6;27810:33;:::i;:::-;27761:88;;;:::o;27855:75::-;27888:6;27921:2;27915:9;27905:19;;27895:35;:::o;27936:311::-;28013:4;28103:18;28095:6;28092:30;28089:2;;;28125:18;;:::i;:::-;28089:2;28175:4;28167:6;28163:17;28155:25;;28235:4;28229;28225:15;28217:23;;28018:229;;;:::o;28253:308::-;28315:4;28405:18;28397:6;28394:30;28391:2;;;28427:18;;:::i;:::-;28391:2;28465:29;28487:6;28465:29;:::i;:::-;28457:37;;28549:4;28543;28539:15;28531:23;;28320:241;;;:::o;28567:98::-;28632:4;28655:3;28647:11;;28637:28;;;:::o;28671:104::-;28736:6;28764:4;28754:14;;28743:32;;;:::o;28781:98::-;28832:6;28866:5;28860:12;28850:22;;28839:40;;;:::o;28885:99::-;28937:6;28971:5;28965:12;28955:22;;28944:40;;;:::o;28990:111::-;29058:4;29090;29085:3;29081:14;29073:22;;29063:38;;;:::o;29107:143::-;29204:11;29241:3;29226:18;;29216:34;;;;:::o;29256:147::-;29357:11;29394:3;29379:18;;29369:34;;;;:::o;29409:169::-;29493:11;29527:6;29522:3;29515:19;29567:4;29562:3;29558:14;29543:29;;29505:73;;;;:::o;29584:305::-;29624:3;29643:20;29661:1;29643:20;:::i;:::-;29638:25;;29677:20;29695:1;29677:20;:::i;:::-;29672:25;;29831:1;29763:66;29759:74;29756:1;29753:81;29750:2;;;29837:18;;:::i;:::-;29750:2;29881:1;29878;29874:9;29867:16;;29628:261;;;;:::o;29895:248::-;29934:3;29953:19;29970:1;29953:19;:::i;:::-;29948:24;;29986:19;30003:1;29986:19;:::i;:::-;29981:24;;30085:1;30071:12;30067:20;30064:1;30061:27;30058:2;;;30091:18;;:::i;:::-;30058:2;30135:1;30132;30128:9;30121:16;;29938:205;;;;:::o;30149:185::-;30189:1;30206:20;30224:1;30206:20;:::i;:::-;30201:25;;30240:20;30258:1;30240:20;:::i;:::-;30235:25;;30279:1;30269:2;;30284:18;;:::i;:::-;30269:2;30326:1;30323;30319:9;30314:14;;30191:143;;;;:::o;30340:848::-;30401:5;30408:4;30432:6;30423:15;;30456:5;30447:14;;30470:712;30491:1;30481:8;30478:15;30470:712;;;30586:4;30581:3;30577:14;30571:4;30568:24;30565:2;;;30595:18;;:::i;:::-;30565:2;30645:1;30635:8;30631:16;30628:2;;;31060:4;31053:5;31049:16;31040:25;;30628:2;31110:4;31104;31100:15;31092:23;;31140:32;31163:8;31140:32;:::i;:::-;31128:44;;30470:712;;;30413:775;;;;;;;:::o;31194:285::-;31254:5;31278:23;31296:4;31278:23;:::i;:::-;31270:31;;31322:27;31340:8;31322:27;:::i;:::-;31310:39;;31368:104;31405:66;31395:8;31389:4;31368:104;:::i;:::-;31359:113;;31260:219;;;;:::o;31485:1073::-;31539:5;31730:8;31720:2;;31751:1;31742:10;;31753:5;;31720:2;31779:4;31769:2;;31796:1;31787:10;;31798:5;;31769:2;31865:4;31913:1;31908:27;;;;31949:1;31944:191;;;;31858:277;;31908:27;31926:1;31917:10;;31928:5;;;31944:191;31989:3;31979:8;31976:17;31973:2;;;31996:18;;:::i;:::-;31973:2;32045:8;32042:1;32038:16;32029:25;;32080:3;32073:5;32070:14;32067:2;;;32087:18;;:::i;:::-;32067:2;32120:5;;;31858:277;;32244:2;32234:8;32231:16;32225:3;32219:4;32216:13;32212:36;32194:2;32184:8;32181:16;32176:2;32170:4;32167:12;32163:35;32147:111;32144:2;;;32300:8;32294:4;32290:19;32281:28;;32335:3;32328:5;32325:14;32322:2;;;32342:18;;:::i;:::-;32322:2;32375:5;;32144:2;32415:42;32453:3;32443:8;32437:4;32434:1;32415:42;:::i;:::-;32400:57;;;;32489:4;32484:3;32480:14;32473:5;32470:25;32467:2;;;32498:18;;:::i;:::-;32467:2;32547:4;32540:5;32536:16;32527:25;;31545:1013;;;;;;:::o;32564:348::-;32604:7;32627:20;32645:1;32627:20;:::i;:::-;32622:25;;32661:20;32679:1;32661:20;:::i;:::-;32656:25;;32849:1;32781:66;32777:74;32774:1;32771:81;32766:1;32759:9;32752:17;32748:105;32745:2;;;32856:18;;:::i;:::-;32745:2;32904:1;32901;32897:9;32886:20;;32612:300;;;;:::o;32918:191::-;32958:4;32978:20;32996:1;32978:20;:::i;:::-;32973:25;;33012:20;33030:1;33012:20;:::i;:::-;33007:25;;33051:1;33048;33045:8;33042:2;;;33056:18;;:::i;:::-;33042:2;33101:1;33098;33094:9;33086:17;;32963:146;;;;:::o;33115:96::-;33152:7;33181:24;33199:5;33181:24;:::i;:::-;33170:35;;33160:51;;;:::o;33217:104::-;33262:7;33291:24;33309:5;33291:24;:::i;:::-;33280:35;;33270:51;;;:::o;33327:90::-;33361:7;33404:5;33397:13;33390:21;33379:32;;33369:48;;;:::o;33423:126::-;33460:7;33500:42;33493:5;33489:54;33478:65;;33468:81;;;:::o;33555:77::-;33592:7;33621:5;33610:16;;33600:32;;;:::o;33638:95::-;33674:7;33714:12;33707:5;33703:24;33692:35;;33682:51;;;:::o;33739:86::-;33774:7;33814:4;33807:5;33803:16;33792:27;;33782:43;;;:::o;33831:152::-;33894:9;33927:50;33971:5;33927:50;:::i;:::-;33914:63;;33904:79;;;:::o;33989:126::-;34052:9;34085:24;34103:5;34085:24;:::i;:::-;34072:37;;34062:53;;;:::o;34121:154::-;34205:6;34200:3;34195;34182:30;34267:1;34258:6;34253:3;34249:16;34242:27;34172:103;;;:::o;34281:307::-;34349:1;34359:113;34373:6;34370:1;34367:13;34359:113;;;34458:1;34453:3;34449:11;34443:18;34439:1;34434:3;34430:11;34423:39;34395:2;34392:1;34388:10;34383:15;;34359:113;;;34490:6;34487:1;34484:13;34481:2;;;34570:1;34561:6;34556:3;34552:16;34545:27;34481:2;34330:258;;;;:::o;34594:320::-;34638:6;34675:1;34669:4;34665:12;34655:22;;34722:1;34716:4;34712:12;34743:18;34733:2;;34799:4;34791:6;34787:17;34777:27;;34733:2;34861;34853:6;34850:14;34830:18;34827:38;34824:2;;;34880:18;;:::i;:::-;34824:2;34645:269;;;;:::o;34920:281::-;35003:27;35025:4;35003:27;:::i;:::-;34995:6;34991:40;35133:6;35121:10;35118:22;35097:18;35085:10;35082:34;35079:62;35076:2;;;35144:18;;:::i;:::-;35076:2;35184:10;35180:2;35173:22;34963:238;;;:::o;35207:233::-;35246:3;35269:24;35287:5;35269:24;:::i;:::-;35260:33;;35315:66;35308:5;35305:77;35302:2;;;35385:18;;:::i;:::-;35302:2;35432:1;35425:5;35421:13;35414:20;;35250:190;;;:::o;35446:167::-;35483:3;35506:22;35522:5;35506:22;:::i;:::-;35497:31;;35550:4;35543:5;35540:15;35537:2;;;35558:18;;:::i;:::-;35537:2;35605:1;35598:5;35594:13;35587:20;;35487:126;;;:::o;35619:180::-;35667:77;35664:1;35657:88;35764:4;35761:1;35754:15;35788:4;35785:1;35778:15;35805:180;35853:77;35850:1;35843:88;35950:4;35947:1;35940:15;35974:4;35971:1;35964:15;35991:180;36039:77;36036:1;36029:88;36136:4;36133:1;36126:15;36160:4;36157:1;36150:15;36177:180;36225:77;36222:1;36215:88;36322:4;36319:1;36312:15;36346:4;36343:1;36336:15;36363:102;36404:6;36455:2;36451:7;36446:2;36439:5;36435:14;36431:28;36421:38;;36411:54;;;:::o;36471:102::-;36513:8;36560:5;36557:1;36553:13;36532:34;;36522:51;;;:::o;36579:164::-;36719:16;36715:1;36707:6;36703:14;36696:40;36685:58;:::o;36749:162::-;36889:14;36885:1;36877:6;36873:14;36866:38;36855:56;:::o;36917:225::-;37057:34;37053:1;37045:6;37041:14;37034:58;37126:8;37121:2;37113:6;37109:15;37102:33;37023:119;:::o;37148:225::-;37288:34;37284:1;37276:6;37272:14;37265:58;37357:8;37352:2;37344:6;37340:15;37333:33;37254:119;:::o;37379:178::-;37519:30;37515:1;37507:6;37503:14;37496:54;37485:72;:::o;37563:182::-;37703:34;37699:1;37691:6;37687:14;37680:58;37669:76;:::o;37751:176::-;37891:28;37887:1;37879:6;37875:14;37868:52;37857:70;:::o;37933:178::-;38073:30;38069:1;38061:6;38057:14;38050:54;38039:72;:::o;38117:164::-;38257:16;38253:1;38245:6;38241:14;38234:40;38223:58;:::o;38287:169::-;38427:21;38423:1;38415:6;38411:14;38404:45;38393:63;:::o;38462:179::-;38602:31;38598:1;38590:6;38586:14;38579:55;38568:73;:::o;38647:178::-;38787:30;38783:1;38775:6;38771:14;38764:54;38753:72;:::o;38831:229::-;38971:34;38967:1;38959:6;38955:14;38948:58;39040:12;39035:2;39027:6;39023:15;39016:37;38937:123;:::o;39066:122::-;39139:24;39157:5;39139:24;:::i;:::-;39132:5;39129:35;39119:2;;39178:1;39175;39168:12;39119:2;39109:79;:::o;39194:138::-;39275:32;39301:5;39275:32;:::i;:::-;39268:5;39265:43;39255:2;;39322:1;39319;39312:12;39255:2;39245:87;:::o;39338:116::-;39408:21;39423:5;39408:21;:::i;:::-;39401:5;39398:32;39388:2;;39444:1;39441;39434:12;39388:2;39378:76;:::o;39460:122::-;39533:24;39551:5;39533:24;:::i;:::-;39526:5;39523:35;39513:2;;39572:1;39569;39562:12;39513:2;39503:79;:::o;39588:118::-;39659:22;39675:5;39659:22;:::i;:::-;39652:5;39649:33;39639:2;;39696:1;39693;39686:12;39639:2;39629:77;:::o
Swarm Source
ipfs://e1ccec6e6c1664329bf6af0570fb2ed7035da780c80b407fdfe32e008911713a
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.
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.