Overview
Max Total Supply
111,000,000 PNZR
Holders
27 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
46.794363824622719352 PNZRValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Panzerprotocol
Compiler Version
v0.7.4+commit.3f05b770
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-02-15 */ // SPDX-License-Identifier: MIT pragma solidity 0.7.4; contract Context { function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); 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 SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b > a) return (false, 0); return (true, a - b); } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { 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) { if (b == 0) return (false, 0); return (true, a / b); } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { if (b == 0) return (false, 0); return (true, a % b); } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a, "SafeMath: subtraction overflow"); return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) return 0; uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: division by zero"); return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0, "SafeMath: modulo by zero"); return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); return a - b; } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a / b; } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (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) private pure returns(bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract Panzerprotocol is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; string private constant NAME = "Panzerprotocol.io"; string private constant SYMBOL = "PNZR"; uint8 private constant DECIMALS = 18; mapping(address => uint256) private rewards; mapping(address => uint256) private actual; mapping(address => mapping(address => uint256)) private allowances; mapping(address => bool) private excludedFromFees; mapping(address => bool) private excludedFromRewards; address[] private rewardExcluded; uint256 private constant MAX = ~uint256(0); uint256 private constant ACTUAL_TOTAL = 111_000_000 * 1e18; uint256 private rewardsTotal = (MAX - (MAX % ACTUAL_TOTAL)); uint256 private holderFeeTotal; uint256 private marketingFeeTotal; uint256 private lpFeeTotal; uint256 public taxPercentage = 3; uint256 public holderTaxAlloc = 10; uint256 public marketingTaxAlloc = 10; uint256 public lpTaxAlloc = 10; uint256 public totalTaxAlloc = marketingTaxAlloc.add(holderTaxAlloc).add(lpTaxAlloc); address public marketingAddress; address public lpStakingAddress; constructor(address _marketingAddress) { rewards[_marketingAddress] = rewardsTotal; emit Transfer(address(0), _marketingAddress, ACTUAL_TOTAL); marketingAddress = _marketingAddress; excludeFromRewards(_msgSender()); excludeFromFees(_marketingAddress); if (_marketingAddress != _msgSender()) { excludeFromRewards(_marketingAddress); excludeFromFees(_msgSender()); } excludeFromFees(address(0x000000000000000000000000000000000000dEaD)); } function name() external pure returns (string memory) { return NAME; } function symbol() external pure returns (string memory) { return SYMBOL; } function decimals() external pure returns (uint8) { return DECIMALS; } function totalSupply() external pure override returns (uint256) { return ACTUAL_TOTAL; } function balanceOf(address _account) public view override returns (uint256) { if (excludedFromRewards[_account]) { return actual[_account]; } return tokenWithRewards(rewards[_account]); } function transfer(address _recipient, uint256 _amount) public override returns (bool) { _transfer(_msgSender(), _recipient, _amount); return true; } function allowance(address _owner, address _spender) public view override returns (uint256) { return allowances[_owner][_spender]; } function approve(address _spender, uint256 _amount) public override returns (bool) { _approve(_msgSender(), _spender, _amount); return true; } function transferFrom( address _sender, address _recipient, uint256 _amount ) public override returns (bool) { _transfer(_sender, _recipient, _amount); _approve( _sender, _msgSender(), allowances[_sender][_msgSender()].sub(_amount, "ERC20: transfer amount exceeds allowance") ); return true; } function increaseAllowance(address _spender, uint256 _addedValue) public virtual returns (bool) { _approve(_msgSender(), _spender, allowances[_msgSender()][_spender].add(_addedValue)); return true; } function decreaseAllowance(address _spender, uint256 _subtractedValue) public virtual returns (bool) { _approve( _msgSender(), _spender, allowances[_msgSender()][_spender].sub(_subtractedValue, "ERC20: decreased allowance below zero") ); return true; } function isExcludedFromRewards(address _account) external view returns (bool) { return excludedFromRewards[_account]; } function isExcludedFromFees(address _account) external view returns (bool) { return excludedFromFees[_account]; } function totalFees() external view returns (uint256) { return holderFeeTotal.add(marketingFeeTotal).add(lpFeeTotal); } function totalHolderFees() external view returns (uint256) { return holderFeeTotal; } function totalMarketingFees() external view returns (uint256) { return marketingFeeTotal; } function totalLpFees() external view returns (uint256) { return lpFeeTotal; } function distribute(uint256 _actualAmount) public { address sender = _msgSender(); require(!excludedFromRewards[sender], "Excluded addresses cannot call this function"); (uint256 rewardAmount, , , , ) = _getValues(_actualAmount); rewards[sender] = rewards[sender].sub(rewardAmount); rewardsTotal = rewardsTotal.sub(rewardAmount); holderFeeTotal = holderFeeTotal.add(_actualAmount); } function excludeFromFees(address _account) public onlyOwner() { require(!excludedFromFees[_account], "Account is already excluded from fee"); excludedFromFees[_account] = true; } function includeInFees(address _account) public onlyOwner() { require(excludedFromFees[_account], "Account is already included in fee"); excludedFromFees[_account] = false; } function excludeFromRewards(address _account) public onlyOwner() { require(!excludedFromRewards[_account], "Account is already excluded from reward"); if (rewards[_account] > 0) { actual[_account] = tokenWithRewards(rewards[_account]); } excludedFromRewards[_account] = true; rewardExcluded.push(_account); } function includeInRewards(address _account) public onlyOwner() { require(excludedFromRewards[_account], "Account is already included in rewards"); for (uint256 i = 0; i < rewardExcluded.length; i++) { if (rewardExcluded[i] == _account) { rewardExcluded[i] = rewardExcluded[rewardExcluded.length - 1]; actual[_account] = 0; excludedFromRewards[_account] = false; rewardExcluded.pop(); break; } } } function _approve( address _owner, address _spender, uint256 _amount ) private { require(_owner != address(0), "ERC20: approve from the zero address"); require(_spender != address(0), "ERC20: approve to the zero address"); allowances[_owner][_spender] = _amount; emit Approval(_owner, _spender, _amount); } function _transfer( address _sender, address _recipient, uint256 _amount ) private { require(_sender != address(0), "ERC20: transfer from the zero address"); require(_recipient != address(0), "ERC20: transfer to the zero address"); require(_amount > 0, "Transfer amount must be greater than zero"); uint256 currentTaxPercentage = taxPercentage; if (excludedFromFees[_sender] || excludedFromFees[_recipient]) { taxPercentage = 0; } else { uint256 fee = _getFee(_amount); uint256 marketingFee = _getMarketingFee(fee); uint256 lpFee = _getLpFee(fee); _updateMarketingFee(marketingFee); _updateLpFee(lpFee); } if (excludedFromRewards[_sender] && !excludedFromRewards[_recipient]) { _transferWithoutSenderRewards(_sender, _recipient, _amount); } else if (!excludedFromRewards[_sender] && excludedFromRewards[_recipient]) { _transferWithRecipientRewards(_sender, _recipient, _amount); } else if (!excludedFromRewards[_sender] && !excludedFromRewards[_recipient]) { _transferWithRewards(_sender, _recipient, _amount); } else if (excludedFromRewards[_sender] && excludedFromRewards[_recipient]) { _transferWithoutRewards(_sender, _recipient, _amount); } else { _transferWithRewards(_sender, _recipient, _amount); } if (currentTaxPercentage != taxPercentage) { taxPercentage = currentTaxPercentage; } } function _transferWithRewards( address _sender, address _recipient, uint256 _actualAmount ) private { ( uint256 rewardAmount, uint256 rewardTransferAmount, uint256 rewardFee, uint256 actualTransferAmount, uint256 actualFee ) = _getValues(_actualAmount); rewards[_sender] = rewards[_sender].sub(rewardAmount); rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount); _updateHolderFee(rewardFee, actualFee); emit Transfer(_sender, _recipient, actualTransferAmount); } function _transferWithRecipientRewards( address _sender, address _recipient, uint256 _actualAmount ) private { ( uint256 rewardAmount, uint256 rewardTransferAmount, uint256 rewardFee, uint256 actualTransferAmount, uint256 actualFee ) = _getValues(_actualAmount); rewards[_sender] = rewards[_sender].sub(rewardAmount); actual[_recipient] = actual[_recipient].add(actualTransferAmount); rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount); _updateHolderFee(rewardFee, actualFee); emit Transfer(_sender, _recipient, actualTransferAmount); } function _transferWithoutSenderRewards( address _sender, address _recipient, uint256 _actualAmount ) private { ( uint256 rewardAmount, uint256 rewardTransferAmount, uint256 rewardFee, uint256 actualTransferAmount, uint256 actualFee ) = _getValues(_actualAmount); actual[_sender] = actual[_sender].sub(_actualAmount); rewards[_sender] = rewards[_sender].sub(rewardAmount); rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount); _updateHolderFee(rewardFee, actualFee); emit Transfer(_sender, _recipient, actualTransferAmount); } function _transferWithoutRewards( address _sender, address _recipient, uint256 _actualAmount ) private { ( uint256 rewardAmount, uint256 rewardTransferAmount, uint256 rewardFee, uint256 actualTransferAmount, uint256 actualFee ) = _getValues(_actualAmount); actual[_sender] = actual[_sender].sub(_actualAmount); rewards[_sender] = rewards[_sender].sub(rewardAmount); actual[_recipient] = actual[_recipient].add(actualTransferAmount); rewards[_recipient] = rewards[_recipient].add(rewardTransferAmount); _updateHolderFee(rewardFee, actualFee); emit Transfer(_sender, _recipient, actualTransferAmount); } function _updateHolderFee(uint256 _rewardFee, uint256 _actualFee) private { rewardsTotal = rewardsTotal.sub(_rewardFee); holderFeeTotal = holderFeeTotal.add(_actualFee); } function _updateMarketingFee(uint256 _marketingFee) private { if (marketingAddress == address(0)) { return; } uint256 rewardsRate = _getRewardsRate(); uint256 rewardMarketingFee = _marketingFee.mul(rewardsRate); marketingFeeTotal = marketingFeeTotal.add(_marketingFee); rewards[marketingAddress] = rewards[marketingAddress].add(rewardMarketingFee); if (excludedFromRewards[marketingAddress]) { actual[marketingAddress] = actual[marketingAddress].add(_marketingFee); } } function _updateLpFee(uint256 _lpFee) private { if (lpStakingAddress == address(0)) { return; } uint256 rewardsRate = _getRewardsRate(); uint256 rewardLpFee = _lpFee.mul(rewardsRate); lpFeeTotal = lpFeeTotal.add(_lpFee); rewards[lpStakingAddress] = rewards[lpStakingAddress].add(rewardLpFee); if (excludedFromRewards[lpStakingAddress]) { actual[lpStakingAddress] = actual[lpStakingAddress].add(_lpFee); } } function rewardsFromToken(uint256 _actualAmount, bool _deductTransferFee) public view returns (uint256) { require(_actualAmount <= ACTUAL_TOTAL, "Amount must be less than supply"); if (!_deductTransferFee) { (uint256 rewardAmount, , , , ) = _getValues(_actualAmount); return rewardAmount; } else { (, uint256 rewardTransferAmount, , , ) = _getValues(_actualAmount); return rewardTransferAmount; } } function tokenWithRewards(uint256 _rewardAmount) public view returns (uint256) { require(_rewardAmount <= rewardsTotal, "Amount must be less than total rewards"); uint256 rewardsRate = _getRewardsRate(); return _rewardAmount.div(rewardsRate); } function _getValues(uint256 _actualAmount) private view returns ( uint256, uint256, uint256, uint256, uint256 ) { (uint256 actualTransferAmount, uint256 actualFee) = _getActualValues(_actualAmount); uint256 rewardsRate = _getRewardsRate(); ( uint256 rewardAmount, uint256 rewardTransferAmount, uint256 rewardFee ) = _getRewardValues(_actualAmount, actualFee, rewardsRate); return (rewardAmount, rewardTransferAmount, rewardFee, actualTransferAmount, actualFee); } function _getActualValues(uint256 _actualAmount) private view returns (uint256, uint256) { uint256 actualFee = _getFee(_actualAmount); uint256 actualHolderFee = _getHolderFee(actualFee); uint256 actualTransferAmount = _actualAmount.sub(actualFee); return (actualTransferAmount, actualHolderFee); } function _getRewardValues( uint256 _actualAmount, uint256 _actualHolderFee, uint256 _rewardsRate ) private view returns ( uint256, uint256, uint256 ) { uint256 actualFee = _getFee(_actualAmount).mul(_rewardsRate); uint256 rewardAmount = _actualAmount.mul(_rewardsRate); uint256 rewardTransferAmount = rewardAmount.sub(actualFee); uint256 rewardFee = _actualHolderFee.mul(_rewardsRate); return (rewardAmount, rewardTransferAmount, rewardFee); } function _getRewardsRate() private view returns (uint256) { (uint256 rewardsSupply, uint256 actualSupply) = _getCurrentSupply(); return rewardsSupply.div(actualSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rewardsSupply = rewardsTotal; uint256 actualSupply = ACTUAL_TOTAL; for (uint256 i = 0; i < rewardExcluded.length; i++) { if (rewards[rewardExcluded[i]] > rewardsSupply || actual[rewardExcluded[i]] > actualSupply) { return (rewardsTotal, ACTUAL_TOTAL); } rewardsSupply = rewardsSupply.sub(rewards[rewardExcluded[i]]); actualSupply = actualSupply.sub(actual[rewardExcluded[i]]); } if (rewardsSupply < rewardsTotal.div(ACTUAL_TOTAL)) { return (rewardsTotal, ACTUAL_TOTAL); } return (rewardsSupply, actualSupply); } function _getFee(uint256 _amount) private view returns (uint256) { return _amount.mul(taxPercentage).div(100); } function _getHolderFee(uint256 _tax) private view returns (uint256) { return _tax.mul(holderTaxAlloc).div(totalTaxAlloc); } function _getMarketingFee(uint256 _tax) private view returns (uint256) { return _tax.mul(marketingTaxAlloc).div(totalTaxAlloc); } function _getLpFee(uint256 _tax) private view returns (uint256) { return _tax.mul(lpTaxAlloc).div(totalTaxAlloc); } function setTaxPercentage(uint256 _taxPercentage) external onlyOwner { require(_taxPercentage >= 1 && _taxPercentage <= 10, "Value is outside of range 1-10"); taxPercentage = _taxPercentage; } function setTaxAllocations( uint256 _holderTaxAlloc, uint256 _marketingTaxAlloc, uint256 _lpTaxAlloc ) external onlyOwner { totalTaxAlloc = _holderTaxAlloc.add(_marketingTaxAlloc).add(_lpTaxAlloc); require(_holderTaxAlloc >= 5 && _holderTaxAlloc <= 10, "_holderTaxAlloc is outside of range 5-10"); require(_lpTaxAlloc >= 5 && _lpTaxAlloc <= 10, "_lpTaxAlloc is outside of range 5-10"); holderTaxAlloc = _holderTaxAlloc; marketingTaxAlloc = _marketingTaxAlloc; lpTaxAlloc = _lpTaxAlloc; } function setMarketingAddress(address _marketingAddress) external onlyOwner { marketingAddress = _marketingAddress; } function setLpStakingAddress(address _lpStakingAddress) external onlyOwner { lpStakingAddress = _lpStakingAddress; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_actualAmount","type":"uint256"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"excludeFromRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"holderTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"includeInFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"includeInRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isExcludedFromRewards","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpStakingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_actualAmount","type":"uint256"},{"internalType":"bool","name":"_deductTransferFee","type":"bool"}],"name":"rewardsFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_lpStakingAddress","type":"address"}],"name":"setLpStakingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingAddress","type":"address"}],"name":"setMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_holderTaxAlloc","type":"uint256"},{"internalType":"uint256","name":"_marketingTaxAlloc","type":"uint256"},{"internalType":"uint256","name":"_lpTaxAlloc","type":"uint256"}],"name":"setTaxAllocations","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_taxPercentage","type":"uint256"}],"name":"setTaxPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxPercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_rewardAmount","type":"uint256"}],"name":"tokenWithRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalHolderFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalLpFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalMarketingFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalTaxAlloc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526a472b90577347c921ffffff196007556003600b55600a600c819055600d819055600e8190556200005b90620000478180620001db602090811b6200153517901c565b620001db60201b620015351790919060201c565b600f553480156200006b57600080fd5b5060405162002d9938038062002d99833981810160405260208110156200009157600080fd5b505160006200009f6200023d565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007546001600160a01b03821660008181526001602090815260408083209490945583516a5bd12a0eaadb08cf00000081529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3601080546001600160a01b0319166001600160a01b0383161790556200017a620001746200023d565b62000241565b6200018581620003c6565b6200018f6200023d565b6001600160a01b0316816001600160a01b031614620001c757620001b38162000241565b620001c7620001c16200023d565b620003c6565b620001d461dead620003c6565b50620007df565b60008282018381101562000236576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6200024b6200023d565b6001600160a01b03166200025e620004ac565b6001600160a01b031614620002a9576040805162461bcd60e51b8152602060048201819052602482015260008051602062002d2f833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff1615620003035760405162461bcd60e51b815260040180806020018281038252602781526020018062002d086027913960400191505060405180910390fd5b6001600160a01b0381166000908152600160205260409020541562000360576001600160a01b0381166000908152600160205260409020546200034690620004bb565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b620003d06200023d565b6001600160a01b0316620003e3620004ac565b6001600160a01b0316146200042e576040805162461bcd60e51b8152602060048201819052602482015260008051602062002d2f833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615620004885760405162461bcd60e51b815260040180806020018281038252602481526020018062002d756024913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031690565b6000600754821115620005005760405162461bcd60e51b815260040180806020018281038252602681526020018062002d4f6026913960400191505060405180910390fd5b60006200050c62000528565b90506200023681846200055b60201b6200158f1790919060201c565b6000808062000536620005c4565b915091506200055481836200055b60201b6200158f1790919060201c565b9250505090565b6000808211620005b2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381620005bc57fe5b049392505050565b60075460009081906a5bd12a0eaadb08cf000000825b6006548110156200072c57826001600060068481548110620005f857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806200065f57508160026000600684815481106200063857fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1562000681576007546a5bd12a0eaadb08cf000000945094505050506200077d565b620006d060016000600684815481106200069757fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548591620015f662000781821b17901c565b9250620007216002600060068481548110620006e857fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548491620015f662000781821b17901c565b9150600101620005da565b50620007546a5bd12a0eaadb08cf0000006007546200055b60201b6200158f1790919060201c565b82101562000777576007546a5bd12a0eaadb08cf0000009350935050506200077d565b90925090505b9091565b600082821115620007d9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b61251980620007ef6000396000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c8063715018a61161013057806395d89b41116100b8578063b609995e1161007c578063b609995e1461061a578063d84bf7a814610640578063dd62ed3e14610648578063e57f14e114610676578063f2fde38b1461069c57610231565b806395d89b41146105aa578063a457c2d7146105b2578063a5ece941146105de578063a9059cbb146105e6578063ae7b6d161461061257610231565b80638baa3fd4116100ff5780638baa3fd41461051c5780638da05f8f146105395780638da5cb5b1461055f578063906e9dd01461056757806391c05b0b1461058d57610231565b8063715018a6146104fc57806374e47a1e1461050457806375edd5f21461050c5780637c31efb11461051457610231565b806323b872dd116101be5780634fbee193116101825780634fbee19314610483578063595f052e146104a95780636740b9c6146104b1578063699abb3c146104b957806370a08231146104d657610231565b806323b872dd146103d6578063313ce5671461040c5780633557ee771461042a578063395093511461044f57806340e7bdf41461047b57610231565b8063111e037611610205578063111e03761461033d57806313114a9d1461036557806313647dc81461037f57806316a2f82a146103a857806318160ddd146103ce57610231565b8062897ad31461023657806306fdde031461025a578063095ea7b3146102d75780630e83227314610317575b600080fd5b61023e6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102626106d1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029c578181015183820152602001610284565b50505050905090810190601f1680156102c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610303600480360360408110156102ed57600080fd5b506001600160a01b0381351690602001356106fc565b604080519115158252519081900360200190f35b6103036004803603602081101561032d57600080fd5b50356001600160a01b031661071a565b6103636004803603602081101561035357600080fd5b50356001600160a01b031661073c565b005b61036d6108b6565b60408051918252519081900360200190f35b6103636004803603606081101561039557600080fd5b50803590602081013590604001356108e0565b610363600480360360208110156103be57600080fd5b50356001600160a01b03166109fb565b61036d610ad5565b610303600480360360608110156103ec57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae4565b610414610b6b565b6040805160ff9092168252519081900360200190f35b61036d6004803603604081101561044057600080fd5b50803590602001351515610b70565b6103036004803603604081101561046557600080fd5b506001600160a01b038135169060200135610c09565b61036d610c57565b6103036004803603602081101561049957600080fd5b50356001600160a01b0316610c5d565b61036d610c7b565b61036d610c81565b610363600480360360208110156104cf57600080fd5b5035610c87565b61036d600480360360208110156104ec57600080fd5b50356001600160a01b0316610d51565b610363610db3565b61036d610e5f565b61036d610e65565b61036d610e6b565b61036d6004803603602081101561053257600080fd5b5035610e71565b6103636004803603602081101561054f57600080fd5b50356001600160a01b0316610ed1565b61023e610f55565b6103636004803603602081101561057d57600080fd5b50356001600160a01b0316610f64565b610363600480360360208110156105a357600080fd5b5035610fe8565b6102626110c0565b610303600480360360408110156105c857600080fd5b506001600160a01b0381351690602001356110de565b61023e611146565b610303600480360360408110156105fc57600080fd5b506001600160a01b038135169060200135611155565b61036d611169565b6103636004803603602081101561063057600080fd5b50356001600160a01b031661116f565b61036d611324565b61036d6004803603604081101561065e57600080fd5b506001600160a01b038135811691602001351661132a565b6103636004803603602081101561068c57600080fd5b50356001600160a01b0316611355565b610363600480360360208110156106b257600080fd5b50356001600160a01b0316611433565b6011546001600160a01b031681565b60408051808201909152601181527050616e7a657270726f746f636f6c2e696f60781b602082015290565b6000610710610709611653565b8484611657565b5060015b92915050565b6001600160a01b03811660009081526005602052604090205460ff165b919050565b610744611653565b6001600160a01b0316610755610f55565b6001600160a01b03161461079e576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff16156107f65760405162461bcd60e51b81526004018080602001828103825260278152602001806122936027913960400191505060405180910390fd5b6001600160a01b03811660009081526001602052604090205415610850576001600160a01b03811660009081526001602052604090205461083690610e71565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b60006108db600a546108d560095460085461153590919063ffffffff16565b90611535565b905090565b6108e8611653565b6001600160a01b03166108f9610f55565b6001600160a01b031614610942576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b610950816108d58585611535565b600f55600583108015906109655750600a8311155b6109a05760405162461bcd60e51b815260040180806020018281038252602881526020018061226b6028913960400191505060405180910390fd5b600581101580156109b25750600a8111155b6109ed5760405162461bcd60e51b815260040180806020018281038252602481526020018061234a6024913960400191505060405180910390fd5b600c92909255600d55600e55565b610a03611653565b6001600160a01b0316610a14610f55565b6001600160a01b031614610a5d576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610ab45760405162461bcd60e51b81526004018080602001828103825260228152602001806122e06022913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6a5bd12a0eaadb08cf00000090565b6000610af1848484611743565b610b6184610afd611653565b610b5c8560405180606001604052806028815260200161238f602891396001600160a01b038a16600090815260036020526040812090610b3b611653565b6001600160a01b031681526020810191909152604001600020549190611a03565b611657565b5060019392505050565b601290565b60006a5bd12a0eaadb08cf000000831115610bd2576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610bf0576000610be284611a9a565b509294506107149350505050565b6000610bfb84611a9a565b509194506107149350505050565b6000610710610c16611653565b84610b5c8560036000610c27611653565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611535565b600f5481565b6001600160a01b031660009081526004602052604090205460ff1690565b600e5481565b600a5490565b610c8f611653565b6001600160a01b0316610ca0610f55565b6001600160a01b031614610ce9576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b60018110158015610cfb5750600a8111155b610d4c576040805162461bcd60e51b815260206004820152601e60248201527f56616c7565206973206f757473696465206f662072616e676520312d31300000604482015290519081900360640190fd5b600b55565b6001600160a01b03811660009081526005602052604081205460ff1615610d9157506001600160a01b038116600090815260026020526040902054610737565b6001600160a01b03821660009081526001602052604090205461071490610e71565b610dbb611653565b6001600160a01b0316610dcc610f55565b6001600160a01b031614610e15576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600c5481565b600d5481565b60085490565b6000600754821115610eb45760405162461bcd60e51b81526004018080602001828103825260268152602001806124496026913960400191505060405180910390fd5b6000610ebe611ae6565b9050610eca838261158f565b9392505050565b610ed9611653565b6001600160a01b0316610eea610f55565b6001600160a01b031614610f33576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b610f6c611653565b6001600160a01b0316610f7d610f55565b6001600160a01b031614610fc6576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ff2611653565b6001600160a01b03811660009081526005602052604090205490915060ff161561104d5760405162461bcd60e51b815260040180806020018281038252602c815260200180612493602c913960400191505060405180910390fd5b600061105883611a9a565b505050506001600160a01b03831660009081526001602052604090205490915061108290826115f6565b6001600160a01b0383166000908152600160205260409020556007546110a890826115f6565b6007556008546110b89084611535565b600855505050565b60408051808201909152600481526328272d2960e11b602082015290565b60006107106110eb611653565b84610b5c856040518060600160405280602581526020016124bf6025913960036000611115611653565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a03565b6010546001600160a01b031681565b6000610710611162611653565b8484611743565b600b5481565b611177611653565b6001600160a01b0316611188610f55565b6001600160a01b0316146111d1576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff166112285760405162461bcd60e51b81526004018080602001828103825260268152602001806122ba6026913960400191505060405180910390fd5b60005b60065481101561132057816001600160a01b03166006828154811061124c57fe5b6000918252602090912001546001600160a01b031614156113185760068054600019810190811061127957fe5b600091825260209091200154600680546001600160a01b03909216918390811061129f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff1916905560068054806112f157fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611320565b60010161122b565b5050565b60095490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61135d611653565b6001600160a01b031661136e610f55565b6001600160a01b0316146113b7576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff161561140f5760405162461bcd60e51b815260040180806020018281038252602481526020018061246f6024913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b61143b611653565b6001600160a01b031661144c610f55565b6001600160a01b031614611495576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b0381166114da5760405162461bcd60e51b81526004018080602001828103825260268152602001806123026026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610eca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008082116115e5576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115ee57fe5b049392505050565b60008282111561164d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b6001600160a01b03831661169c5760405162461bcd60e51b81526004018080602001828103825260248152602001806124256024913960400191505060405180910390fd5b6001600160a01b0382166116e15760405162461bcd60e51b81526004018080602001828103825260228152602001806123286022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166117885760405162461bcd60e51b81526004018080602001828103825260258152602001806124006025913960400191505060405180910390fd5b6001600160a01b0382166117cd5760405162461bcd60e51b81526004018080602001828103825260238152602001806122486023913960400191505060405180910390fd5b6000811161180c5760405162461bcd60e51b81526004018080602001828103825260298152602001806123d76029913960400191505060405180910390fd5b600b546001600160a01b03841660009081526004602052604090205460ff168061184e57506001600160a01b03831660009081526004602052604090205460ff165b1561185d576000600b5561189a565b600061186883611b09565b9050600061187582611b2b565b9050600061188283611b48565b905061188d82611b65565b61189681611c4b565b5050505b6001600160a01b03841660009081526005602052604090205460ff1680156118db57506001600160a01b03831660009081526005602052604090205460ff16155b156118f0576118eb848484611d2f565b6119ee565b6001600160a01b03841660009081526005602052604090205460ff1615801561193157506001600160a01b03831660009081526005602052604090205460ff165b15611941576118eb848484611e46565b6001600160a01b03841660009081526005602052604090205460ff1615801561198357506001600160a01b03831660009081526005602052604090205460ff16155b15611993576118eb848484611eec565b6001600160a01b03841660009081526005602052604090205460ff1680156119d357506001600160a01b03831660009081526005602052604090205460ff165b156119e3576118eb848484611f2d565b6119ee848484611eec565b600b5481146119fd57600b8190555b50505050565b60008184841115611a925760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a57578181015183820152602001611a3f565b50505050905090810190601f168015611a845780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000806000806000806000611aae88611f9d565b915091506000611abc611ae6565b90506000806000611ace8c8686611fd2565b919e909d50909b509599509397509395505050505050565b6000806000611af3612026565b9092509050611b02828261158f565b9250505090565b60006107146064611b25600b54856121ad90919063ffffffff16565b9061158f565b6000610714600f54611b25600d54856121ad90919063ffffffff16565b6000610714600f54611b25600e54856121ad90919063ffffffff16565b6010546001600160a01b0316611b7a57611c48565b6000611b84611ae6565b90506000611b9283836121ad565b600954909150611ba29084611535565b6009556010546001600160a01b0316600090815260016020526040902054611bca9082611535565b601080546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576010546001600160a01b0316600090815260026020526040902054611c299084611535565b6010546001600160a01b03166000908152600260205260409020555b50505b50565b6011546001600160a01b0316611c6057611c48565b6000611c6a611ae6565b90506000611c7883836121ad565b600a54909150611c889084611535565b600a556011546001600160a01b0316600090815260016020526040902054611cb09082611535565b601180546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576011546001600160a01b0316600090815260026020526040902054611d0f9084611535565b6011546001600160a01b0316600090815260026020526040902055505050565b6000806000806000611d4086611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611d7090876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611d9f90866115f6565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611dce9085611535565b6001600160a01b038816600090815260016020526040902055611df18382612206565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000611e5786611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611e8790866115f6565b6001600160a01b03808a16600090815260016020908152604080832094909455918a16815260029091522054611ebd9083611535565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611dce9085611535565b6000806000806000611efd86611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611d9f90866115f6565b6000806000806000611f3e86611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611f6e90876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611e8790866115f6565b6000806000611fab84611b09565b90506000611fb88261222a565b90506000611fc686846115f6565b94509092505050915091565b600080600080611feb85611fe589611b09565b906121ad565b90506000611ff988876121ad565b9050600061200782846115f6565b9050600061201589896121ad565b929a91995091975095505050505050565b60075460009081906a5bd12a0eaadb08cf000000825b6006548110156121695782600160006006848154811061205857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120bd575081600260006006848154811061209657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120dd576007546a5bd12a0eaadb08cf000000945094505050506121a9565b61211d60016000600684815481106120f157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906115f6565b925061215f600260006006848154811061213357fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906115f6565b915060010161203c565b50600754612182906a5bd12a0eaadb08cf00000061158f565b8210156121a3576007546a5bd12a0eaadb08cf0000009350935050506121a9565b90925090505b9091565b6000826121bc57506000610714565b828202828482816121c957fe5b0414610eca5760405162461bcd60e51b815260040180806020018281038252602181526020018061236e6021913960400191505060405180910390fd5b60075461221390836115f6565b6007556008546122239082611535565b6008555050565b6000610714600f54611b25600c54856121ad90919063ffffffff1656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f686f6c646572546178416c6c6f63206973206f757473696465206f662072616e676520352d31304163636f756e7420697320616c7265616479206578636c756465642066726f6d207265776172644163636f756e7420697320616c726561647920696e636c7564656420696e20726577617264734163636f756e7420697320616c726561647920696e636c7564656420696e206665654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735f6c70546178416c6c6f63206973206f757473696465206f662072616e676520352d3130536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20726577617264734163636f756e7420697320616c7265616479206578636c756465642066726f6d206665654578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220570c4252a59e23995950ead8b639aa6a16bec506caa031f3c5fcbe274581fb7964736f6c634300070400334163636f756e7420697320616c7265616479206578636c756465642066726f6d207265776172644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572416d6f756e74206d757374206265206c657373207468616e20746f74616c20726577617264734163636f756e7420697320616c7265616479206578636c756465642066726f6d206665650000000000000000000000008650501ba870b8df5353c21a6a62953a8ff5ea91
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106102315760003560e01c8063715018a61161013057806395d89b41116100b8578063b609995e1161007c578063b609995e1461061a578063d84bf7a814610640578063dd62ed3e14610648578063e57f14e114610676578063f2fde38b1461069c57610231565b806395d89b41146105aa578063a457c2d7146105b2578063a5ece941146105de578063a9059cbb146105e6578063ae7b6d161461061257610231565b80638baa3fd4116100ff5780638baa3fd41461051c5780638da05f8f146105395780638da5cb5b1461055f578063906e9dd01461056757806391c05b0b1461058d57610231565b8063715018a6146104fc57806374e47a1e1461050457806375edd5f21461050c5780637c31efb11461051457610231565b806323b872dd116101be5780634fbee193116101825780634fbee19314610483578063595f052e146104a95780636740b9c6146104b1578063699abb3c146104b957806370a08231146104d657610231565b806323b872dd146103d6578063313ce5671461040c5780633557ee771461042a578063395093511461044f57806340e7bdf41461047b57610231565b8063111e037611610205578063111e03761461033d57806313114a9d1461036557806313647dc81461037f57806316a2f82a146103a857806318160ddd146103ce57610231565b8062897ad31461023657806306fdde031461025a578063095ea7b3146102d75780630e83227314610317575b600080fd5b61023e6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102626106d1565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029c578181015183820152602001610284565b50505050905090810190601f1680156102c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610303600480360360408110156102ed57600080fd5b506001600160a01b0381351690602001356106fc565b604080519115158252519081900360200190f35b6103036004803603602081101561032d57600080fd5b50356001600160a01b031661071a565b6103636004803603602081101561035357600080fd5b50356001600160a01b031661073c565b005b61036d6108b6565b60408051918252519081900360200190f35b6103636004803603606081101561039557600080fd5b50803590602081013590604001356108e0565b610363600480360360208110156103be57600080fd5b50356001600160a01b03166109fb565b61036d610ad5565b610303600480360360608110156103ec57600080fd5b506001600160a01b03813581169160208101359091169060400135610ae4565b610414610b6b565b6040805160ff9092168252519081900360200190f35b61036d6004803603604081101561044057600080fd5b50803590602001351515610b70565b6103036004803603604081101561046557600080fd5b506001600160a01b038135169060200135610c09565b61036d610c57565b6103036004803603602081101561049957600080fd5b50356001600160a01b0316610c5d565b61036d610c7b565b61036d610c81565b610363600480360360208110156104cf57600080fd5b5035610c87565b61036d600480360360208110156104ec57600080fd5b50356001600160a01b0316610d51565b610363610db3565b61036d610e5f565b61036d610e65565b61036d610e6b565b61036d6004803603602081101561053257600080fd5b5035610e71565b6103636004803603602081101561054f57600080fd5b50356001600160a01b0316610ed1565b61023e610f55565b6103636004803603602081101561057d57600080fd5b50356001600160a01b0316610f64565b610363600480360360208110156105a357600080fd5b5035610fe8565b6102626110c0565b610303600480360360408110156105c857600080fd5b506001600160a01b0381351690602001356110de565b61023e611146565b610303600480360360408110156105fc57600080fd5b506001600160a01b038135169060200135611155565b61036d611169565b6103636004803603602081101561063057600080fd5b50356001600160a01b031661116f565b61036d611324565b61036d6004803603604081101561065e57600080fd5b506001600160a01b038135811691602001351661132a565b6103636004803603602081101561068c57600080fd5b50356001600160a01b0316611355565b610363600480360360208110156106b257600080fd5b50356001600160a01b0316611433565b6011546001600160a01b031681565b60408051808201909152601181527050616e7a657270726f746f636f6c2e696f60781b602082015290565b6000610710610709611653565b8484611657565b5060015b92915050565b6001600160a01b03811660009081526005602052604090205460ff165b919050565b610744611653565b6001600160a01b0316610755610f55565b6001600160a01b03161461079e576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff16156107f65760405162461bcd60e51b81526004018080602001828103825260278152602001806122936027913960400191505060405180910390fd5b6001600160a01b03811660009081526001602052604090205415610850576001600160a01b03811660009081526001602052604090205461083690610e71565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600560205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b0319169091179055565b60006108db600a546108d560095460085461153590919063ffffffff16565b90611535565b905090565b6108e8611653565b6001600160a01b03166108f9610f55565b6001600160a01b031614610942576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b610950816108d58585611535565b600f55600583108015906109655750600a8311155b6109a05760405162461bcd60e51b815260040180806020018281038252602881526020018061226b6028913960400191505060405180910390fd5b600581101580156109b25750600a8111155b6109ed5760405162461bcd60e51b815260040180806020018281038252602481526020018061234a6024913960400191505060405180910390fd5b600c92909255600d55600e55565b610a03611653565b6001600160a01b0316610a14610f55565b6001600160a01b031614610a5d576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff16610ab45760405162461bcd60e51b81526004018080602001828103825260228152602001806122e06022913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6a5bd12a0eaadb08cf00000090565b6000610af1848484611743565b610b6184610afd611653565b610b5c8560405180606001604052806028815260200161238f602891396001600160a01b038a16600090815260036020526040812090610b3b611653565b6001600160a01b031681526020810191909152604001600020549190611a03565b611657565b5060019392505050565b601290565b60006a5bd12a0eaadb08cf000000831115610bd2576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b81610bf0576000610be284611a9a565b509294506107149350505050565b6000610bfb84611a9a565b509194506107149350505050565b6000610710610c16611653565b84610b5c8560036000610c27611653565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611535565b600f5481565b6001600160a01b031660009081526004602052604090205460ff1690565b600e5481565b600a5490565b610c8f611653565b6001600160a01b0316610ca0610f55565b6001600160a01b031614610ce9576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b60018110158015610cfb5750600a8111155b610d4c576040805162461bcd60e51b815260206004820152601e60248201527f56616c7565206973206f757473696465206f662072616e676520312d31300000604482015290519081900360640190fd5b600b55565b6001600160a01b03811660009081526005602052604081205460ff1615610d9157506001600160a01b038116600090815260026020526040902054610737565b6001600160a01b03821660009081526001602052604090205461071490610e71565b610dbb611653565b6001600160a01b0316610dcc610f55565b6001600160a01b031614610e15576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600c5481565b600d5481565b60085490565b6000600754821115610eb45760405162461bcd60e51b81526004018080602001828103825260268152602001806124496026913960400191505060405180910390fd5b6000610ebe611ae6565b9050610eca838261158f565b9392505050565b610ed9611653565b6001600160a01b0316610eea610f55565b6001600160a01b031614610f33576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031690565b610f6c611653565b6001600160a01b0316610f7d610f55565b6001600160a01b031614610fc6576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ff2611653565b6001600160a01b03811660009081526005602052604090205490915060ff161561104d5760405162461bcd60e51b815260040180806020018281038252602c815260200180612493602c913960400191505060405180910390fd5b600061105883611a9a565b505050506001600160a01b03831660009081526001602052604090205490915061108290826115f6565b6001600160a01b0383166000908152600160205260409020556007546110a890826115f6565b6007556008546110b89084611535565b600855505050565b60408051808201909152600481526328272d2960e11b602082015290565b60006107106110eb611653565b84610b5c856040518060600160405280602581526020016124bf6025913960036000611115611653565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611a03565b6010546001600160a01b031681565b6000610710611162611653565b8484611743565b600b5481565b611177611653565b6001600160a01b0316611188610f55565b6001600160a01b0316146111d1576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526005602052604090205460ff166112285760405162461bcd60e51b81526004018080602001828103825260268152602001806122ba6026913960400191505060405180910390fd5b60005b60065481101561132057816001600160a01b03166006828154811061124c57fe5b6000918252602090912001546001600160a01b031614156113185760068054600019810190811061127957fe5b600091825260209091200154600680546001600160a01b03909216918390811061129f57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600590925220805460ff1916905560068054806112f157fe5b600082815260209020810160001990810180546001600160a01b0319169055019055611320565b60010161122b565b5050565b60095490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61135d611653565b6001600160a01b031661136e610f55565b6001600160a01b0316146113b7576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff161561140f5760405162461bcd60e51b815260040180806020018281038252602481526020018061246f6024913960400191505060405180910390fd5b6001600160a01b03166000908152600460205260409020805460ff19166001179055565b61143b611653565b6001600160a01b031661144c610f55565b6001600160a01b031614611495576040805162461bcd60e51b815260206004820181905260248201526000805160206123b7833981519152604482015290519081900360640190fd5b6001600160a01b0381166114da5760405162461bcd60e51b81526004018080602001828103825260268152602001806123026026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610eca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008082116115e5576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816115ee57fe5b049392505050565b60008282111561164d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b6001600160a01b03831661169c5760405162461bcd60e51b81526004018080602001828103825260248152602001806124256024913960400191505060405180910390fd5b6001600160a01b0382166116e15760405162461bcd60e51b81526004018080602001828103825260228152602001806123286022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166117885760405162461bcd60e51b81526004018080602001828103825260258152602001806124006025913960400191505060405180910390fd5b6001600160a01b0382166117cd5760405162461bcd60e51b81526004018080602001828103825260238152602001806122486023913960400191505060405180910390fd5b6000811161180c5760405162461bcd60e51b81526004018080602001828103825260298152602001806123d76029913960400191505060405180910390fd5b600b546001600160a01b03841660009081526004602052604090205460ff168061184e57506001600160a01b03831660009081526004602052604090205460ff165b1561185d576000600b5561189a565b600061186883611b09565b9050600061187582611b2b565b9050600061188283611b48565b905061188d82611b65565b61189681611c4b565b5050505b6001600160a01b03841660009081526005602052604090205460ff1680156118db57506001600160a01b03831660009081526005602052604090205460ff16155b156118f0576118eb848484611d2f565b6119ee565b6001600160a01b03841660009081526005602052604090205460ff1615801561193157506001600160a01b03831660009081526005602052604090205460ff165b15611941576118eb848484611e46565b6001600160a01b03841660009081526005602052604090205460ff1615801561198357506001600160a01b03831660009081526005602052604090205460ff16155b15611993576118eb848484611eec565b6001600160a01b03841660009081526005602052604090205460ff1680156119d357506001600160a01b03831660009081526005602052604090205460ff165b156119e3576118eb848484611f2d565b6119ee848484611eec565b600b5481146119fd57600b8190555b50505050565b60008184841115611a925760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a57578181015183820152602001611a3f565b50505050905090810190601f168015611a845780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000806000806000806000611aae88611f9d565b915091506000611abc611ae6565b90506000806000611ace8c8686611fd2565b919e909d50909b509599509397509395505050505050565b6000806000611af3612026565b9092509050611b02828261158f565b9250505090565b60006107146064611b25600b54856121ad90919063ffffffff16565b9061158f565b6000610714600f54611b25600d54856121ad90919063ffffffff16565b6000610714600f54611b25600e54856121ad90919063ffffffff16565b6010546001600160a01b0316611b7a57611c48565b6000611b84611ae6565b90506000611b9283836121ad565b600954909150611ba29084611535565b6009556010546001600160a01b0316600090815260016020526040902054611bca9082611535565b601080546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576010546001600160a01b0316600090815260026020526040902054611c299084611535565b6010546001600160a01b03166000908152600260205260409020555b50505b50565b6011546001600160a01b0316611c6057611c48565b6000611c6a611ae6565b90506000611c7883836121ad565b600a54909150611c889084611535565b600a556011546001600160a01b0316600090815260016020526040902054611cb09082611535565b601180546001600160a01b03908116600090815260016020908152604080832095909555925490911681526005909152205460ff1615611c45576011546001600160a01b0316600090815260026020526040902054611d0f9084611535565b6011546001600160a01b0316600090815260026020526040902055505050565b6000806000806000611d4086611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611d7090876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611d9f90866115f6565b6001600160a01b03808a166000908152600160205260408082209390935590891681522054611dce9085611535565b6001600160a01b038816600090815260016020526040902055611df18382612206565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000611e5786611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611e8790866115f6565b6001600160a01b03808a16600090815260016020908152604080832094909455918a16815260029091522054611ebd9083611535565b6001600160a01b038816600090815260026020908152604080832093909355600190522054611dce9085611535565b6000806000806000611efd86611a9a565b6001600160a01b038d1660009081526001602052604090205494995092975090955093509150611d9f90866115f6565b6000806000806000611f3e86611a9a565b6001600160a01b038d1660009081526002602052604090205494995092975090955093509150611f6e90876115f6565b6001600160a01b038916600090815260026020908152604080832093909355600190522054611e8790866115f6565b6000806000611fab84611b09565b90506000611fb88261222a565b90506000611fc686846115f6565b94509092505050915091565b600080600080611feb85611fe589611b09565b906121ad565b90506000611ff988876121ad565b9050600061200782846115f6565b9050600061201589896121ad565b929a91995091975095505050505050565b60075460009081906a5bd12a0eaadb08cf000000825b6006548110156121695782600160006006848154811061205857fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806120bd575081600260006006848154811061209657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156120dd576007546a5bd12a0eaadb08cf000000945094505050506121a9565b61211d60016000600684815481106120f157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906115f6565b925061215f600260006006848154811061213357fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906115f6565b915060010161203c565b50600754612182906a5bd12a0eaadb08cf00000061158f565b8210156121a3576007546a5bd12a0eaadb08cf0000009350935050506121a9565b90925090505b9091565b6000826121bc57506000610714565b828202828482816121c957fe5b0414610eca5760405162461bcd60e51b815260040180806020018281038252602181526020018061236e6021913960400191505060405180910390fd5b60075461221390836115f6565b6007556008546122239082611535565b6008555050565b6000610714600f54611b25600c54856121ad90919063ffffffff1656fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f686f6c646572546178416c6c6f63206973206f757473696465206f662072616e676520352d31304163636f756e7420697320616c7265616479206578636c756465642066726f6d207265776172644163636f756e7420697320616c726561647920696e636c7564656420696e20726577617264734163636f756e7420697320616c726561647920696e636c7564656420696e206665654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735f6c70546178416c6c6f63206973206f757473696465206f662072616e676520352d3130536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20726577617264734163636f756e7420697320616c7265616479206578636c756465642066726f6d206665654578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220570c4252a59e23995950ead8b639aa6a16bec506caa031f3c5fcbe274581fb7964736f6c63430007040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000008650501ba870b8df5353c21a6a62953a8ff5ea91
-----Decoded View---------------
Arg [0] : _marketingAddress (address): 0x8650501BA870B8df5353c21a6a62953a8Ff5ea91
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008650501ba870b8df5353c21a6a62953a8ff5ea91
Deployed Bytecode Sourcemap
8213:17728:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9407:31;;;:::i;:::-;;;;-1:-1:-1;;;;;9407:31:0;;;;;;;;;;;;;;10012:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10975:165;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10975:165:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;12122:133;;;;;;;;;;;;;;;;-1:-1:-1;12122:133:0;-1:-1:-1;;;;;12122:133:0;;:::i;13730:375::-;;;;;;;;;;;;;;;;-1:-1:-1;13730:375:0;-1:-1:-1;;;;;13730:375:0;;:::i;:::-;;12398:132;;;:::i;:::-;;;;;;;;;;;;;;;;25043:611;;;;;;;;;;;;;;;;-1:-1:-1;25043:611:0;;;;;;;;;;;;:::i;13525:197::-;;;;;;;;;;;;;;;;-1:-1:-1;13525:197:0;-1:-1:-1;;;;;13525:197:0;;:::i;10292:102::-;;;:::i;11148:405::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11148:405:0;;;;;;;;;;;;;;;;;:::i;10200:84::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20884:491;;;;;;;;;;;;;;;;-1:-1:-1;20884:491:0;;;;;;;;;:::i;11561:222::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11561:222:0;;;;;;;;:::i;9276:84::-;;;:::i;12263:127::-;;;;;;;;;;;;;;;;-1:-1:-1;12263:127:0;-1:-1:-1;;;;;12263:127:0;;:::i;9239:30::-;;;:::i;12758:91::-;;;:::i;24820:215::-;;;;;;;;;;;;;;;;-1:-1:-1;24820:215:0;;:::i;10402:232::-;;;;;;;;;;;;;;;;-1:-1:-1;10402:232:0;-1:-1:-1;;;;;10402:232:0;;:::i;7796:148::-;;;:::i;9154:34::-;;;:::i;9195:37::-;;;:::i;12538:99::-;;;:::i;21383:276::-;;;;;;;;;;;;;;;;-1:-1:-1;21383:276:0;;:::i;25800:130::-;;;;;;;;;;;;;;;;-1:-1:-1;25800:130:0;-1:-1:-1;;;;;25800:130:0;;:::i;7561:87::-;;;:::i;25662:130::-;;;;;;;;;;;;;;;;-1:-1:-1;25662:130:0;-1:-1:-1;;;;;25662:130:0;;:::i;12864:444::-;;;;;;;;;;;;;;;;-1:-1:-1;12864:444:0;;:::i;10104:88::-;;;:::i;11791:323::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11791:323:0;;;;;;;;:::i;9369:31::-;;;:::i;10642:171::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10642:171:0;;;;;;;;:::i;9115:32::-;;;:::i;14113:541::-;;;;;;;;;;;;;;;;-1:-1:-1;14113:541:0;-1:-1:-1;;;;;14113:541:0;;:::i;12645:105::-;;;:::i;10821:146::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10821:146:0;;;;;;;;;;:::i;13316:201::-;;;;;;;;;;;;;;;;-1:-1:-1;13316:201:0;-1:-1:-1;;;;;13316:201:0;;:::i;7958:244::-;;;;;;;;;;;;;;;;-1:-1:-1;7958:244:0;-1:-1:-1;;;;;7958:244:0;;:::i;9407:31::-;;;-1:-1:-1;;;;;9407:31:0;;:::o;10012:84::-;10084:4;;;;;;;;;;;;-1:-1:-1;;;10084:4:0;;;;10012:84;:::o;10975:165::-;11052:4;11069:41;11078:12;:10;:12::i;:::-;11092:8;11102:7;11069:8;:41::i;:::-;-1:-1:-1;11128:4:0;10975:165;;;;;:::o;12122:133::-;-1:-1:-1;;;;;12218:29:0;;12194:4;12218:29;;;:19;:29;;;;;;;;12122:133;;;;:::o;13730:375::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13815:29:0;::::1;;::::0;;;:19:::1;:29;::::0;;;;;::::1;;13814:30;13806:82;;;;-1:-1:-1::0;;;13806:82:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13905:17:0;::::1;13925:1;13905:17:::0;;;:7:::1;:17;::::0;;;;;:21;13901:108:::1;;-1:-1:-1::0;;;;;13979:17:0;::::1;;::::0;;;:7:::1;:17;::::0;;;;;13962:35:::1;::::0;:16:::1;:35::i;:::-;-1:-1:-1::0;;;;;13943:16:0;::::1;;::::0;;;:6:::1;:16;::::0;;;;:54;13901:108:::1;-1:-1:-1::0;;;;;14021:29:0::1;;::::0;;;:19:::1;:29;::::0;;;;:36;;-1:-1:-1;;14021:36:0::1;14053:4;14021:36:::0;;::::1;::::0;;;14068:14:::1;:29:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;14068:29:0::1;::::0;;::::1;::::0;;13730:375::o;12398:132::-;12442:7;12469:53;12511:10;;12469:37;12488:17;;12469:14;;:18;;:37;;;;:::i;:::-;:41;;:53::i;:::-;12462:60;;12398:132;:::o;25043:611::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;25234:56:::1;25278:11:::0;25234:39:::1;:15:::0;25254:18;25234:19:::1;:39::i;:56::-;25218:13;:72:::0;25330:1:::1;25311:20:::0;::::1;::::0;::::1;::::0;:45:::1;;;25354:2;25335:15;:21;;25311:45;25303:98;;;;-1:-1:-1::0;;;25303:98:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25435:1;25420:11;:16;;:37;;;;;25455:2;25440:11;:17;;25420:37;25412:86;;;;-1:-1:-1::0;;;25412:86:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25520:14;:32:::0;;;;25563:17:::1;:38:::0;25612:10:::1;:24:::0;25043:611::o;13525:197::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13604:26:0;::::1;;::::0;;;:16:::1;:26;::::0;;;;;::::1;;13596:73;;;;-1:-1:-1::0;;;13596:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13680:26:0::1;13709:5;13680:26:::0;;;:16:::1;:26;::::0;;;;:34;;-1:-1:-1;;13680:34:0::1;::::0;;13525:197::o;10292:102::-;8906:18;10292:102;:::o;11148:405::-;11283:4;11300:39;11310:7;11319:10;11331:7;11300:9;:39::i;:::-;11352:169;11371:7;11393:12;:10;:12::i;:::-;11420:90;11458:7;11420:90;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11420:19:0;;;;;;:10;:19;;;;;;11440:12;:10;:12::i;:::-;-1:-1:-1;;;;;11420:33:0;;;;;;;;;;;;-1:-1:-1;11420:33:0;;;:90;:37;:90::i;:::-;11352:8;:169::i;:::-;-1:-1:-1;11541:4:0;11148:405;;;;;:::o;10200:84::-;8476:2;10200:84;:::o;20884:491::-;20979:7;8906:18;21007:13;:29;;20999:73;;;;;-1:-1:-1;;;20999:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21088:18;21083:285;;21124:20;21156:25;21167:13;21156:10;:25::i;:::-;-1:-1:-1;21123:58:0;;-1:-1:-1;21196:19:0;;-1:-1:-1;;;;21196:19:0;21083:285;21251:28;21289:25;21300:13;21289:10;:25::i;:::-;-1:-1:-1;21248:66:0;;-1:-1:-1;21329:27:0;;-1:-1:-1;;;;21329:27:0;11561:222;11651:4;11668:85;11677:12;:10;:12::i;:::-;11691:8;11701:51;11740:11;11701:10;:24;11712:12;:10;:12::i;:::-;-1:-1:-1;;;;;11701:24:0;;;;;;;;;;;;;;;;;-1:-1:-1;11701:24:0;;;:34;;;;;;;;;;;:38;:51::i;9276:84::-;;;;:::o;12263:127::-;-1:-1:-1;;;;;12356:26:0;12332:4;12356:26;;;:16;:26;;;;;;;;;12263:127::o;9239:30::-;;;;:::o;12758:91::-;12831:10;;12758:91;:::o;24820:215::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;24926:1:::1;24908:14;:19;;:43;;;;;24949:2;24931:14;:20;;24908:43;24900:86;;;::::0;;-1:-1:-1;;;24900:86:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;24997:13;:30:::0;24820:215::o;10402:232::-;-1:-1:-1;;;;;10493:29:0;;10469:7;10493:29;;;:19;:29;;;;;;;;10489:85;;;-1:-1:-1;;;;;;10546:16:0;;;;;;:6;:16;;;;;;10539:23;;10489:85;-1:-1:-1;;;;;10608:17:0;;;;;;:7;:17;;;;;;10591:35;;:16;:35::i;7796:148::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;7903:1:::1;7887:6:::0;;7866:40:::1;::::0;-1:-1:-1;;;;;7887:6:0;;::::1;::::0;7866:40:::1;::::0;7903:1;;7866:40:::1;7934:1;7917:19:::0;;-1:-1:-1;;;;;;7917:19:0::1;::::0;;7796:148::o;9154:34::-;;;;:::o;9195:37::-;;;;:::o;12538:99::-;12615:14;;12538:99;:::o;21383:276::-;21453:7;21498:12;;21481:13;:29;;21473:80;;;;-1:-1:-1;;;21473:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21564:19;21586:17;:15;:17::i;:::-;21564:39;-1:-1:-1;21621:30:0;:13;21564:39;21621:17;:30::i;:::-;21614:37;21383:276;-1:-1:-1;;;21383:276:0:o;25800:130::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;25886:16:::1;:36:::0;;-1:-1:-1;;;;;;25886:36:0::1;-1:-1:-1::0;;;;;25886:36:0;;;::::1;::::0;;;::::1;::::0;;25800:130::o;7561:87::-;7607:7;7634:6;-1:-1:-1;;;;;7634:6:0;7561:87;:::o;25662:130::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;25748:16:::1;:36:::0;;-1:-1:-1;;;;;;25748:36:0::1;-1:-1:-1::0;;;;;25748:36:0;;;::::1;::::0;;;::::1;::::0;;25662:130::o;12864:444::-;12925:14;12942:12;:10;:12::i;:::-;-1:-1:-1;;;;;12974:27:0;;;;;;:19;:27;;;;;;12925:29;;-1:-1:-1;12974:27:0;;12973:28;12965:85;;;;-1:-1:-1;;;12965:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13064:20;13096:25;13107:13;13096:10;:25::i;:::-;-1:-1:-1;;;;;;;;;13150:15:0;;;;;;:7;:15;;;;;;13063:58;;-1:-1:-1;13150:33:0;;13063:58;13150:19;:33::i;:::-;-1:-1:-1;;;;;13132:15:0;;;;;;:7;:15;;;;;:51;13209:12;;:30;;13226:12;13209:16;:30::i;:::-;13194:12;:45;13267:14;;:33;;13286:13;13267:18;:33::i;:::-;13250:14;:50;-1:-1:-1;;;12864:444:0:o;10104:88::-;10178:6;;;;;;;;;;;;-1:-1:-1;;;10178:6:0;;;;10104:88;:::o;11791:323::-;11886:4;11903:181;11926:12;:10;:12::i;:::-;11953:8;11976:97;12015:16;11976:97;;;;;;;;;;;;;;;;;:10;:24;11987:12;:10;:12::i;:::-;-1:-1:-1;;;;;11976:24:0;;;;;;;;;;;;;;;;;-1:-1:-1;11976:24:0;;;:34;;;;;;;;;;;:97;:38;:97::i;9369:31::-;;;-1:-1:-1;;;;;9369:31:0;;:::o;10642:171::-;10722:4;10739:44;10749:12;:10;:12::i;:::-;10763:10;10775:7;10739:9;:44::i;9115:32::-;;;;:::o;14113:541::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14195:29:0;::::1;;::::0;;;:19:::1;:29;::::0;;;;;::::1;;14187:80;;;;-1:-1:-1::0;;;14187:80:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14285:9;14280:367;14304:14;:21:::0;14300:25;::::1;14280:367;;;14372:8;-1:-1:-1::0;;;;;14351:29:0::1;:14;14366:1;14351:17;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14351:17:0::1;:29;14347:289;;;14421:14;14436:21:::0;;-1:-1:-1;;14436:25:0;;;14421:41;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;14401:14:::1;:17:::0;;-1:-1:-1;;;;;14421:41:0;;::::1;::::0;14416:1;;14401:17;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:61:::0;;-1:-1:-1;;;;;;14401:61:0::1;-1:-1:-1::0;;;;;14401:61:0;;::::1;;::::0;;14481:16;;::::1;::::0;;:6:::1;:16:::0;;;;;;:20;;;14520:19:::1;:29:::0;;;;:37;;-1:-1:-1;;14520:37:0::1;::::0;;14576:14:::1;:20:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;14576:20:0;;;;;-1:-1:-1;;;;;;14576:20:0::1;::::0;;;;;14615:5:::1;;14347:289;14327:3;;14280:367;;;;14113:541:::0;:::o;12645:105::-;12725:17;;12645:105;:::o;10821:146::-;-1:-1:-1;;;;;10931:18:0;;;10904:7;10931:18;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;10821:146::o;13316:201::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13398:26:0;::::1;;::::0;;;:16:::1;:26;::::0;;;;;::::1;;13397:27;13389:76;;;;-1:-1:-1::0;;;13389:76:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;13476:26:0::1;;::::0;;;:16:::1;:26;::::0;;;;:33;;-1:-1:-1;;13476:33:0::1;13505:4;13476:33;::::0;;13316:201::o;7958:244::-;7713:12;:10;:12::i;:::-;-1:-1:-1;;;;;7702:23:0;:7;:5;:7::i;:::-;-1:-1:-1;;;;;7702:23:0;;7694:68;;;;;-1:-1:-1;;;7694:68:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7694:68:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;8047:22:0;::::1;8039:73;;;;-1:-1:-1::0;;;8039:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8149:6;::::0;;8128:38:::1;::::0;-1:-1:-1;;;;;8128:38:0;;::::1;::::0;8149:6;::::1;::::0;8128:38:::1;::::0;::::1;8177:6;:17:::0;;-1:-1:-1;;;;;;8177:17:0::1;-1:-1:-1::0;;;;;8177:17:0;;;::::1;::::0;;;::::1;::::0;;7958:244::o;1994:179::-;2052:7;2084:5;;;2108:6;;;;2100:46;;;;;-1:-1:-1;;;2100:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:153;2648:7;2680:1;2676;:5;2668:44;;;;;-1:-1:-1;;;2668:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2734:1;2730;:5;;;;;;;2590:153;-1:-1:-1;;;2590:153:0:o;2185:158::-;2243:7;2276:1;2271;:6;;2263:49;;;;;-1:-1:-1;;;2263:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2330:5:0;;;2185:158::o;87:98::-;167:10;87:98;:::o;14662:381::-;-1:-1:-1;;;;;14792:20:0;;14784:69;;;;-1:-1:-1;;;14784:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14872:22:0;;14864:69;;;;-1:-1:-1;;;14864:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14946:18:0;;;;;;;:10;:18;;;;;;;;:28;;;;;;;;;;;;;:38;;;15000:35;;;;;;;;;;;;;;;;;14662:381;;;:::o;15051:1643::-;-1:-1:-1;;;;;15185:21:0;;15177:71;;;;-1:-1:-1;;;15177:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15267:24:0;;15259:72;;;;-1:-1:-1;;;15259:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15360:1;15350:7;:11;15342:65;;;;-1:-1:-1;;;15342:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15451:13;;-1:-1:-1;;;;;15479:25:0;;15420:28;15479:25;;;:16;:25;;;;;;;;;:57;;-1:-1:-1;;;;;;15508:28:0;;;;;;:16;:28;;;;;;;;15479:57;15475:372;;;15569:1;15553:13;:17;15475:372;;;15603:11;15617:16;15625:7;15617;:16::i;:::-;15603:30;;15648:20;15671:21;15688:3;15671:16;:21::i;:::-;15648:44;;15707:13;15723:14;15733:3;15723:9;:14::i;:::-;15707:30;;15754:33;15774:12;15754:19;:33::i;:::-;15802:19;15815:5;15802:12;:19::i;:::-;15475:372;;;;-1:-1:-1;;;;;15863:28:0;;;;;;:19;:28;;;;;;;;:64;;;;-1:-1:-1;;;;;;15896:31:0;;;;;;:19;:31;;;;;;;;15895:32;15863:64;15859:710;;;15944:59;15974:7;15983:10;15995:7;15944:29;:59::i;:::-;15859:710;;;-1:-1:-1;;;;;16026:28:0;;;;;;:19;:28;;;;;;;;16025:29;:64;;;;-1:-1:-1;;;;;;16058:31:0;;;;;;:19;:31;;;;;;;;16025:64;16021:548;;;16106:59;16136:7;16145:10;16157:7;16106:29;:59::i;16021:548::-;-1:-1:-1;;;;;16188:28:0;;;;;;:19;:28;;;;;;;;16187:29;:65;;;;-1:-1:-1;;;;;;16221:31:0;;;;;;:19;:31;;;;;;;;16220:32;16187:65;16183:386;;;16269:50;16290:7;16299:10;16311:7;16269:20;:50::i;16183:386::-;-1:-1:-1;;;;;16341:28:0;;;;;;:19;:28;;;;;;;;:63;;;;-1:-1:-1;;;;;;16373:31:0;;;;;;:19;:31;;;;;;;;16341:63;16337:232;;;16421:53;16445:7;16454:10;16466:7;16421:23;:53::i;16337:232::-;16507:50;16528:7;16537:10;16549:7;16507:20;:50::i;:::-;16609:13;;16585:20;:37;16581:106;;16639:13;:36;;;16581:106;15051:1643;;;;:::o;2922:166::-;3008:7;3044:12;3036:6;;;;3028:29;;;;-1:-1:-1;;;3028:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3075:5:0;;;2922:166::o;21667:660::-;21773:7;21795;21817;21839;21861;21897:28;21927:17;21948:31;21965:13;21948:16;:31::i;:::-;21896:83;;;;21990:19;22012:17;:15;:17::i;:::-;21990:39;;22055:20;22090:28;22133:17;22164:55;22181:13;22196:9;22207:11;22164:16;:55::i;:::-;22040:179;;;;-1:-1:-1;22040:179:0;;-1:-1:-1;22287:20:0;;-1:-1:-1;22309:9:0;;-1:-1:-1;21667:660:0;;-1:-1:-1;;;;;;21667:660:0:o;23294:193::-;23343:7;23364:21;23387:20;23411:19;:17;:19::i;:::-;23363:67;;-1:-1:-1;23363:67:0;-1:-1:-1;23448:31:0;23363:67;;23448:17;:31::i;:::-;23441:38;;;;23294:193;:::o;24251:126::-;24307:7;24334:35;24365:3;24334:26;24346:13;;24334:7;:11;;:26;;;;:::i;:::-;:30;;:35::i;24530:143::-;24592:7;24619:46;24651:13;;24619:27;24628:17;;24619:4;:8;;:27;;;;:::i;24681:129::-;24736:7;24763:39;24788:13;;24763:20;24772:10;;24763:4;:8;;:20;;;;:::i;19775:576::-;19850:16;;-1:-1:-1;;;;;19850:16:0;19846:69;;19897:7;;19846:69;19927:19;19949:17;:15;:17::i;:::-;19927:39;-1:-1:-1;19977:26:0;20006:30;:13;19927:39;20006:17;:30::i;:::-;20067:17;;19977:59;;-1:-1:-1;20067:36:0;;20089:13;20067:21;:36::i;:::-;20047:17;:56;20152:16;;-1:-1:-1;;;;;20152:16:0;20144:25;;;;:7;:25;;;;;;:49;;20174:18;20144:29;:49::i;:::-;20124:16;;;-1:-1:-1;;;;;20124:16:0;;;20116:25;;;;:7;:25;;;;;;;;:77;;;;20228:16;;;;;20208:37;;:19;:37;;;;;;;20204:140;;;20296:16;;-1:-1:-1;;;;;20296:16:0;20289:24;;;;:6;:24;;;;;;:43;;20318:13;20289:28;:43::i;:::-;20269:16;;-1:-1:-1;;;;;20269:16:0;20262:24;;;;:6;:24;;;;;:70;20204:140;19775:576;;;;:::o;20359:513::-;20420:16;;-1:-1:-1;;;;;20420:16:0;20416:69;;20467:7;;20416:69;20497:19;20519:17;:15;:17::i;:::-;20497:39;-1:-1:-1;20547:19:0;20569:23;:6;20497:39;20569:10;:23::i;:::-;20616:10;;20547:45;;-1:-1:-1;20616:22:0;;20631:6;20616:14;:22::i;:::-;20603:10;:35;20687:16;;-1:-1:-1;;;;;20687:16:0;20679:25;;;;:7;:25;;;;;;:42;;20709:11;20679:29;:42::i;:::-;20659:16;;;-1:-1:-1;;;;;20659:16:0;;;20651:25;;;;:7;:25;;;;;;;;:70;;;;20756:16;;;;;20736:37;;:19;:37;;;;;;;20732:133;;;20824:16;;-1:-1:-1;;;;;20824:16:0;20817:24;;;;:6;:24;;;;;;:36;;20846:6;20817:28;:36::i;:::-;20797:16;;-1:-1:-1;;;;;20797:16:0;20790:24;;;;:6;:24;;;;;:63;20359:513;;;:::o;18073:707::-;18240:20;18275:28;18318:17;18350:28;18393:17;18424:25;18435:13;18424:10;:25::i;:::-;-1:-1:-1;;;;;18480:15:0;;;;;;:6;:15;;;;;;18225:224;;-1:-1:-1;18225:224:0;;-1:-1:-1;18225:224:0;;-1:-1:-1;18225:224:0;-1:-1:-1;18225:224:0;-1:-1:-1;18480:34:0;;18500:13;18480:19;:34::i;:::-;-1:-1:-1;;;;;18462:15:0;;;;;;:6;:15;;;;;;;;:52;;;;18544:7;:16;;;;:34;;18565:12;18544:20;:34::i;:::-;-1:-1:-1;;;;;18525:16:0;;;;;;;:7;:16;;;;;;:53;;;;18611:19;;;;;;;:45;;18635:20;18611:23;:45::i;:::-;-1:-1:-1;;;;;18589:19:0;;;;;;:7;:19;;;;;:67;18667:38;18684:9;18695;18667:16;:38::i;:::-;18739:10;-1:-1:-1;;;;;18721:51:0;18730:7;-1:-1:-1;;;;;18721:51:0;;18751:20;18721:51;;;;;;;;;;;;;;;;;;18073:707;;;;;;;;:::o;17345:720::-;17512:20;17547:28;17590:17;17622:28;17665:17;17696:25;17707:13;17696:10;:25::i;:::-;-1:-1:-1;;;;;17753:16:0;;;;;;:7;:16;;;;;;17497:224;;-1:-1:-1;17497:224:0;;-1:-1:-1;17497:224:0;;-1:-1:-1;17497:224:0;-1:-1:-1;17497:224:0;-1:-1:-1;17753:34:0;;17497:224;17753:20;:34::i;:::-;-1:-1:-1;;;;;17734:16:0;;;;;;;:7;:16;;;;;;;;:53;;;;17819:18;;;;;:6;:18;;;;;:44;;17842:20;17819:22;:44::i;:::-;-1:-1:-1;;;;;17798:18:0;;;;;;:6;:18;;;;;;;;:65;;;;17896:7;:19;;;;:45;;17920:20;17896:23;:45::i;16702:635::-;16860:20;16895:28;16938:17;16970:28;17013:17;17044:25;17055:13;17044:10;:25::i;:::-;-1:-1:-1;;;;;17101:16:0;;;;;;:7;:16;;;;;;16845:224;;-1:-1:-1;16845:224:0;;-1:-1:-1;16845:224:0;;-1:-1:-1;16845:224:0;-1:-1:-1;16845:224:0;-1:-1:-1;17101:34:0;;16845:224;17101:20;:34::i;18788:777::-;18949:20;18984:28;19027:17;19059:28;19102:17;19133:25;19144:13;19133:10;:25::i;:::-;-1:-1:-1;;;;;19189:15:0;;;;;;:6;:15;;;;;;18934:224;;-1:-1:-1;18934:224:0;;-1:-1:-1;18934:224:0;;-1:-1:-1;18934:224:0;-1:-1:-1;18934:224:0;-1:-1:-1;19189:34:0;;19209:13;19189:19;:34::i;:::-;-1:-1:-1;;;;;19171:15:0;;;;;;:6;:15;;;;;;;;:52;;;;19253:7;:16;;;;:34;;19274:12;19253:20;:34::i;22335:338::-;22406:7;22415;22435:17;22455:22;22463:13;22455:7;:22::i;:::-;22435:42;;22488:23;22514:24;22528:9;22514:13;:24::i;:::-;22488:50;-1:-1:-1;22549:28:0;22580;:13;22598:9;22580:17;:28::i;:::-;22549:59;-1:-1:-1;22649:15:0;;-1:-1:-1;;;22335:338:0;;;:::o;22681:605::-;22875:7;22897;22919;22954:17;22974:40;23001:12;22974:22;22982:13;22974:7;:22::i;:::-;:26;;:40::i;:::-;22954:60;-1:-1:-1;23025:20:0;23048:31;:13;23066:12;23048:17;:31::i;:::-;23025:54;-1:-1:-1;23090:28:0;23121:27;23025:54;23138:9;23121:16;:27::i;:::-;23090:58;-1:-1:-1;23159:17:0;23179:34;:16;23200:12;23179:20;:34::i;:::-;23232:12;;23246:20;;-1:-1:-1;23232:12:0;;-1:-1:-1;22681:605:0;-1:-1:-1;;;;;;22681:605:0:o;23495:748::-;23599:12;;23546:7;;;;8906:18;23546:7;23670:391;23694:14;:21;23690:25;;23670:391;;;23770:13;23741:7;:26;23749:14;23764:1;23749:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23749:17:0;23741:26;;;;;;;;;;;;;:42;;:86;;;23815:12;23787:6;:25;23794:14;23809:1;23794:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23794:17:0;23787:25;;;;;;;;;;;;;:40;23741:86;23737:162;;;23856:12;;8906:18;23848:35;;;;;;;;;23737:162;23931:45;23949:7;:26;23957:14;23972:1;23957:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;23957:17:0;23949:26;;;;;;;;;;;;;23931:13;;:17;:45::i;:::-;23915:61;;24006:43;24023:6;:25;24030:14;24045:1;24030:17;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24030:17:0;24023:25;;;;;;;;;;;;;24006:12;;:16;:43::i;:::-;23991:58;-1:-1:-1;23717:3:0;;23670:391;;;-1:-1:-1;24093:12:0;;:30;;8906:18;24093:16;:30::i;:::-;24077:13;:46;24073:114;;;24148:12;;8906:18;24140:35;;;;;;;;24073:114;24207:13;;-1:-1:-1;24222:12:0;-1:-1:-1;23495:748:0;;;:::o;2356:220::-;2414:7;2438:6;2434:20;;-1:-1:-1;2453:1:0;2446:8;;2434:20;2477:5;;;2481:1;2477;:5;:1;2501:5;;;;;:10;2493:56;;;;-1:-1:-1;;;2493:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19573:194;19673:12;;:28;;19690:10;19673:16;:28::i;:::-;19658:12;:43;19729:14;;:30;;19748:10;19729:18;:30::i;:::-;19712:14;:47;-1:-1:-1;;19573:194:0:o;24385:137::-;24444:7;24471:43;24500:13;;24471:24;24480:14;;24471:4;:8;;:24;;;;:::i
Swarm Source
ipfs://570c4252a59e23995950ead8b639aa6a16bec506caa031f3c5fcbe274581fb79
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.