Overview
S Balance
0 S
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
Harvester
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-01-10 */ // SPDX-License-Identifier: MIT // File: @openzeppelin/contracts/security/ReentrancyGuard.sol // OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be _NOT_ENTERED require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == _ENTERED; } } // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * By default, the owner account will be the one that deploys the contract. This * can later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract 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() { _transferOwnership(_msgSender()); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 amount) external returns (bool); } // File: contracts/Harvester.sol /** * @title Incentivizer Contract */ pragma solidity ^0.8.17; contract Harvester is Ownable, ReentrancyGuard { IERC20 public GAMEToken; IERC20 public payToken; uint256 public totalRewards = 1; uint256 public allRewardsOwed; uint256 public eralength = 86400; uint256 public totalClaimedRewards; uint256 public immutable startTime; uint256 public rewardPerStamp; uint256 public numberOfParticipants = 0; uint256 public Duration = 604800; uint256 public timeLock = 604800; // 7200 uint256 public TotalGAMESent = 1; uint256 public tax = 0; uint256 public TaxTotal = 0; uint256 public replenishTax = 0; uint256 public currentReplenish; uint256 public totalReplenish; uint256 public ERA = 0; uint256 public eraClock; uint256 public liveDays; uint256 private divisor = 100 ether; address private guard; address public battledogs; bool public paused = false; bool public replenisher = false; mapping(address => uint256) public balances; mapping(address => Claim) public claimRewards; mapping(address => uint256) public entryMap; mapping(address => uint256) public UserClaims; mapping(address => bool) public blacklist; mapping(address => uint256) public Claimants; mapping(uint256 => uint256) public eraRewards; address[] public participants; struct Claim { uint256 eraAtBlock; uint256 GAMESent; uint256 rewardsOwed; } event RewardsUpdated(uint256 totalRewards); event RewardAddedByDev(uint256 amount); event RewardClaimedByUser(address indexed user, uint256 amount); event AddGAME(address indexed user, uint256 amount); event WithdrawGAME(address indexed user, uint256 amount); constructor( address _GAMEToken, address _payToken, address _battledogs, address _newGuard ) { GAMEToken = IERC20(_GAMEToken); payToken = IERC20(_payToken); battledogs = _battledogs; guard = _newGuard; startTime = block.timestamp; eraClock = startTime; } modifier onlyGuard() { require(msg.sender == guard, "Not authorized."); _; } modifier onlyAfterTimelock() { require(entryMap[msg.sender] + timeLock < block.timestamp, "Timelocked."); _; } modifier onlyClaimant() { require(UserClaims[msg.sender] + timeLock < block.timestamp, "Timelocked."); _; } function setEra() internal { uint256 timeElapsed = block.timestamp - startTime; // time elapsed in secs uint256 totalDaysElapsed = timeElapsed / eralength; // total Days since deploy uint256 daysElapsed = totalDaysElapsed - liveDays; // ensure uniformity by deducting days already recorded if (daysElapsed > 0) { liveDays += daysElapsed; for (uint256 i = 0; i < daysElapsed; i++) { // set rewards for each new ERA eraRewards[ERA] = rewardPerStamp; // cumulative rate over a net 7 day period //increment Era ERA++; } // Update the eraClock of current timestamp eraClock = block.timestamp; } } function addGAME(uint256 _amount) public nonReentrant { require(!paused, "Contract is paused."); require(_amount > 0, "Amount must be greater than zero."); require(!blacklist[msg.sender], "Address is blacklisted."); require(GAMEToken.transferFrom(msg.sender, address(this), _amount), "Transfer failed."); setEra(); Claim storage claimData = claimRewards[msg.sender]; uint256 toll = (_amount * tax)/100; uint256 amount = _amount - toll; TaxTotal += toll; uint256 currentBalance = balances[msg.sender]; uint256 newBalance = currentBalance + amount; balances[msg.sender] = newBalance; entryMap[msg.sender] = block.timestamp; // record the user's entry timestamp if (currentBalance == 0) { participants.push(msg.sender); numberOfParticipants += 1; // set the era period for the user claimData.eraAtBlock = ERA; } getClaim(); claimData.GAMESent += amount; TotalGAMESent += amount; setRewards(); emit AddGAME(msg.sender, _amount); } /** * @dev Allows the user to withdraw their GAME tokens */ function withdrawGAME() public nonReentrant onlyAfterTimelock { require(!paused, "Contract already paused."); require(balances[msg.sender] > 0, "No GAME tokens to withdraw."); Claim storage claimData = claimRewards[msg.sender]; uint256 GAMEAmount = balances[msg.sender]; require(GAMEToken.transfer(msg.sender, GAMEAmount), "Failed Transfer"); balances[msg.sender] = 0; claimData.GAMESent = 0; TotalGAMESent -= GAMEAmount; setRewards(); setEra(); if (numberOfParticipants > 0) { numberOfParticipants -= 1; entryMap[msg.sender] = 0; // reset the user's entry timestamp } emit WithdrawGAME(msg.sender, GAMEAmount); } /** * @dev Adds new rewards to the contract * @param _amount The amount of rewards to add */ function addRewards(uint256 _amount) external onlyOwner { payToken.transferFrom(msg.sender, address(this), _amount); setRewards(); emit RewardAddedByDev(_amount); } function setRewards() internal { uint256 contract_balance = payToken.balanceOf(address(this)); // ensure rewards are equally disbursed if (contract_balance > allRewardsOwed) { totalRewards = contract_balance - allRewardsOwed; } else { totalRewards = 0; } updateRewardPerStamp(); eraRewards[ERA] = rewardPerStamp; emit RewardsUpdated(totalRewards); } function resetRewards() external onlyOwner { setRewards(); } function getClaim() internal { Claim storage claimData = claimRewards[msg.sender];// call the details for participant uint256 startPeriod = claimData.eraAtBlock; uint256 endPeriod = ERA; if (blacklist[msg.sender]) { claimData.rewardsOwed = 0; } else { //Find a way to calculate rewards for each ERA uint256 rewardsAccrued; for (uint256 i = startPeriod; i < endPeriod; i++) { rewardsAccrued = (eraRewards[i] * claimData.GAMESent); claimData.rewardsOwed += rewardsAccrued; } } claimData.eraAtBlock = ERA; uint256 rewardsDue = claimData.rewardsOwed / divisor; allRewardsOwed += rewardsDue; } function updateRewardPerStamp() internal { rewardPerStamp = (totalRewards * divisor) / (TotalGAMESent * Duration); } function claim() public nonReentrant onlyClaimant { require(!paused, "Contract already paused."); require(!blacklist[msg.sender], "Address is blacklisted."); Claim storage claimData = claimRewards[msg.sender]; if (claimData.eraAtBlock == ERA) { require(claimRewards[msg.sender].rewardsOwed > 0, "No rewards."); } else { getClaim(); } uint256 userRewards = claimData.rewardsOwed; uint256 replenished = (userRewards / 100) * replenishTax; uint256 estimatedRewards = userRewards - replenished; uint256 rewards = estimatedRewards / divisor; uint256 replenish = replenished / divisor; require(payToken.transfer(msg.sender, rewards), "Transfer failed."); require(payToken.transfer(battledogs, replenish), "Transfer failed."); //reset rewardsOwed claimData.rewardsOwed = 0; //deduct rewards owed to avoid double-spend uint256 spentRewards = rewards + replenish; allRewardsOwed -= spentRewards; // Update the total rewards claimed by the user Claimants[msg.sender] += rewards; totalClaimedRewards += rewards; currentReplenish += replenish; totalReplenish += replenish; setRewards(); setEra(); UserClaims[msg.sender] = block.timestamp; // record the user's claim timestamp emit RewardClaimedByUser(msg.sender, rewards); } function withdraw(uint256 _binary, uint256 amount) external onlyOwner { require(amount > 0, "Amount must be greater than zero."); if (_binary > 1) { require(payToken.balanceOf(address(this)) >= amount, "Not Enough Reserves."); require(payToken.transfer(msg.sender, amount), "Transfer failed."); } else { require(amount <= TaxTotal, "Max Exceeded."); require(GAMEToken.balanceOf(address(this)) >= TaxTotal, "Not enough Reserves."); require(GAMEToken.transfer(msg.sender, amount), "Transfer failed."); TaxTotal -= amount; } } function setDuration(uint256 _seconds) external onlyOwner { getClaim(); Duration = _seconds; updateRewardPerStamp(); } function setTimeLock(uint256 _seconds) external onlyOwner { timeLock = _seconds; } function setEraLength(uint256 _seconds) external onlyOwner { eralength = _seconds; } function setTaxes (uint256 _stakeTax, uint256 _replenishTax ) external onlyOwner { tax = _stakeTax; replenishTax = _replenishTax; } function setGAMEToken(address _GAMEToken) external onlyOwner { GAMEToken = IERC20(_GAMEToken); } function setPayToken(address _payToken) external onlyOwner { payToken = IERC20(_payToken); } function setBattledogs (address _battledogs) external onlyOwner { battledogs = _battledogs; } function addToBlacklist(address[] calldata _addresses) external onlyOwner { for (uint256 i = 0; i < _addresses.length; i++) { blacklist[_addresses[i]] = true; } } function removeFromBlacklist(address[] calldata _addresses) external onlyOwner { for (uint256 i = 0; i < _addresses.length; i++) { blacklist[_addresses[i]] = false; } } event Pause(); function pause() public onlyGuard { require(!paused, "Contract already paused."); paused = true; emit Pause(); } event Unpause(); function unpause() public onlyGuard { require(paused, "Contract not paused."); paused = false; emit Unpause(); } function setGuard (address _newGuard) external onlyGuard { guard = _newGuard; } event ReplenishOn(); function replenishOn(uint256 _replenishTax) external onlyOwner{ require(!replenisher, "Replish already turned off."); replenisher = true; replenishTax = _replenishTax; emit ReplenishOn(); } event ReplenishOff(); function replenishOff() external onlyOwner { require(replenisher, "Replenish is in progress."); replenishTax = 0; currentReplenish = 0; replenisher = false; emit ReplenishOff(); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_GAMEToken","type":"address"},{"internalType":"address","name":"_payToken","type":"address"},{"internalType":"address","name":"_battledogs","type":"address"},{"internalType":"address","name":"_newGuard","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"AddGAME","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":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"ReplenishOff","type":"event"},{"anonymous":false,"inputs":[],"name":"ReplenishOn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardAddedByDev","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RewardClaimedByUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"totalRewards","type":"uint256"}],"name":"RewardsUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawGAME","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"Claimants","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ERA","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAMEToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TaxTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalGAMESent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UserClaims","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addGAME","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"addToBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allRewardsOwed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"battledogs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimRewards","outputs":[{"internalType":"uint256","name":"eraAtBlock","type":"uint256"},{"internalType":"uint256","name":"GAMESent","type":"uint256"},{"internalType":"uint256","name":"rewardsOwed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentReplenish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"entryMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eraClock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"eraRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"eralength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liveDays","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numberOfParticipants","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"participants","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"payToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"}],"name":"removeFromBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"replenishOff","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_replenishTax","type":"uint256"}],"name":"replenishOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"replenishTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"replenisher","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resetRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardPerStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_battledogs","type":"address"}],"name":"setBattledogs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setEraLength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_GAMEToken","type":"address"}],"name":"setGAMEToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newGuard","type":"address"}],"name":"setGuard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_payToken","type":"address"}],"name":"setPayToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_stakeTax","type":"uint256"},{"internalType":"uint256","name":"_replenishTax","type":"uint256"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_seconds","type":"uint256"}],"name":"setTimeLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"timeLock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalClaimedRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReplenish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_binary","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawGAME","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a060405260016004819055620151806006556000600981905562093a80600a819055600b55600c91909155600d819055600e819055600f81905560125568056bc75e2d631000006015556017805461ffff60a01b191690553480156200006557600080fd5b50604051620021ef380380620021ef833981016040819052620000889162000161565b6200009333620000f4565b60018055600280546001600160a01b039586166001600160a01b0319918216179091556003805494861694821694909417909355601780549285169284169290921790915560168054919093169116179055426080819052601355620001be565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200015c57600080fd5b919050565b600080600080608085870312156200017857600080fd5b620001838562000144565b9350620001936020860162000144565b9250620001a36040860162000144565b9150620001b36060860162000144565b905092959194509250565b60805161200e620001e1600039600081816105010152611c0e015261200e6000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c806396336b30116101b8578063ccb3094111610104578063ef33fbf5116100a2578063f2fde38b1161007c578063f2fde38b146106d9578063f6be71d1146106ec578063f9f92be4146106ff578063fb2d48da1461072257600080fd5b8063ef33fbf514610666578063ef5cfb8c14610686578063f19a773e146106d057600080fd5b8063d25e2a5a116100de578063d25e2a5a14610639578063d578ceab14610642578063e0e215021461064b578063e19a9dd91461065357600080fd5b8063ccb309411461061f578063ce8e762314610628578063d085835a1461063057600080fd5b8063a8cc1bfb11610171578063b0e84d741161014b578063b0e84d74146105d0578063beceed39146105d9578063c647b20e146105ec578063c6828d00146105ff57600080fd5b8063a8cc1bfb146105a2578063ac83ae55146105b5578063ad29f5da146105c857600080fd5b806396336b301461056257806398976c2b1461057557806399c8d5561461057e5780639c83469814610587578063a2d966ea14610590578063a38636901461059957600080fd5b80634f71d4dd116102925780637417040e116102305780638456cb591161020a5780638456cb591461052357806389daf7991461052b5780638da5cb5b1461053e578063935eb35f1461054f57600080fd5b80637417040e146104ea578063780d9369146104f357806378e97925146104fc57600080fd5b80635bcb318a1161026c5780635bcb318a146104a85780635c975abb146104bb5780636f96e99c146104cf578063715018a6146104e257600080fd5b80634f71d4dd14610479578063523264591461048c57806353c0da341461049f57600080fd5b806327e235e3116102ff57806337d50339116102d957806337d50339146104435780633f4ba83a14610456578063441a3e701461045e5780634e71d92d1461047157600080fd5b806327e235e3146103e55780632f6a0b371461040557806335c1d3491461041857600080fd5b806307a61afc146103475780630ccab3891461035c5780630e15561a1461038f57806314ced225146103985780631dc00785146103a1578063269c744e146103c1575b600080fd5b61035a610355366004611d48565b61072b565b005b61037c61036a366004611d48565b601a6020526000908152604090205481565b6040519081526020015b60405180910390f35b61037c60045481565b61037c60135481565b61037c6103af366004611d78565b601e6020526000908152604090205481565b6017546103d590600160a81b900460ff1681565b6040519015158152602001610386565b61037c6103f3366004611d48565b60186020526000908152604090205481565b61035a610413366004611d48565b610755565b61042b610426366004611d78565b61077f565b6040516001600160a01b039091168152602001610386565b61035a610451366004611d78565b6107a9565b61035a610854565b61035a61046c366004611d91565b610906565b61035a610c1f565b60175461042b906001600160a01b031681565b61035a61049a366004611d78565b610ffa565b61037c60055481565b61035a6104b6366004611d78565b611007565b6017546103d590600160a01b900460ff1681565b61035a6104dd366004611d48565b611014565b61035a61103e565b61037c60095481565b61037c600f5481565b61037c7f000000000000000000000000000000000000000000000000000000000000000081565b61035a611050565b61035a610539366004611db3565b6110e2565b6000546001600160a01b031661042b565b61035a61055d366004611db3565b611161565b60035461042b906001600160a01b031681565b61037c60105481565b61037c600d5481565b61037c60115481565b61037c60125481565b61037c600e5481565b61035a6105b0366004611d78565b6111db565b60025461042b906001600160a01b031681565b61035a6114ce565b61037c60085481565b61035a6105e7366004611d78565b6114de565b61035a6105fa366004611d91565b6115a1565b61037c61060d366004611d48565b601d6020526000908152604090205481565b61037c600a5481565b61035a6115b4565b61037c600b5481565b61037c600c5481565b61037c60075481565b61035a61181f565b61035a610661366004611d48565b6118c2565b61037c610674366004611d48565b601b6020526000908152604090205481565b6106b5610694366004611d48565b60196020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610386565b61037c60065481565b61035a6106e7366004611d48565b61190e565b61035a6106fa366004611d78565b611984565b6103d561070d366004611d48565b601c6020526000908152604090205460ff1681565b61037c60145481565b6107336119a1565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b61075d6119a1565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b601f818154811061078f57600080fd5b6000918252602090912001546001600160a01b0316905081565b6107b16119a1565b601754600160a81b900460ff16156108105760405162461bcd60e51b815260206004820152601b60248201527f5265706c69736820616c7265616479207475726e6564206f66662e000000000060448201526064015b60405180910390fd5b6017805460ff60a81b1916600160a81b179055600f8190556040517f350dbdccb6cf4390cc0f296967b69390c073deecda36be26625b831ed318b1ef90600090a150565b6016546001600160a01b0316331461087e5760405162461bcd60e51b815260040161080790611e28565b601754600160a01b900460ff166108ce5760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba103737ba103830bab9b2b21760611b6044820152606401610807565b6017805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b61090e6119a1565b6000811161092e5760405162461bcd60e51b815260040161080790611e51565b6001821115610a7d576003546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa15801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a39190611e92565b10156109e85760405162461bcd60e51b81526020600482015260146024820152732737ba1022b737bab3b4102932b9b2b93b32b99760611b6044820152606401610807565b60035460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611eab565b610a795760405162461bcd60e51b815260040161080790611ecd565b5050565b600e54811115610abf5760405162461bcd60e51b815260206004820152600d60248201526c26b0bc1022bc31b2b2b232b21760991b6044820152606401610807565b600e546002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e9190611e92565b1015610b735760405162461bcd60e51b81526020600482015260146024820152732737ba1032b737bab3b4102932b9b2b93b32b99760611b6044820152606401610807565b60025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190611eab565b610c045760405162461bcd60e51b815260040161080790611ecd565b80600e6000828254610c169190611f0d565b90915550505050565b610c276119fb565b600b54336000908152601b60205260409020544291610c4591611f26565b10610c805760405162461bcd60e51b815260206004820152600b60248201526a2a34b6b2b637b1b5b2b21760a91b6044820152606401610807565b601754600160a01b900460ff1615610caa5760405162461bcd60e51b815260040161080790611f39565b336000908152601c602052604090205460ff1615610d045760405162461bcd60e51b815260206004820152601760248201527620b2323932b9b99034b990313630b1b5b634b9ba32b21760491b6044820152606401610807565b336000908152601960205260409020601254815403610d6f5733600090815260196020526040902060020154610d6a5760405162461bcd60e51b815260206004820152600b60248201526a2737903932bbb0b932399760a91b6044820152606401610807565b610d77565b610d77611a54565b6002810154600f54600090610d8d606484611f70565b610d979190611f92565b90506000610da58284611f0d565b9050600060155482610db79190611f70565b9050600060155484610dc99190611f70565b60035460405163a9059cbb60e01b8152336004820152602481018590529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611eab565b610e5b5760405162461bcd60e51b815260040161080790611ecd565b60035460175460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed49190611eab565b610ef05760405162461bcd60e51b815260040161080790611ecd565b600060028701819055610f038284611f26565b90508060056000828254610f179190611f0d565b9091555050336000908152601d602052604081208054859290610f3b908490611f26565b925050819055508260076000828254610f549190611f26565b925050819055508160106000828254610f6d9190611f26565b925050819055508160116000828254610f869190611f26565b90915550610f949050611b1f565b610f9c611c07565b336000818152601b602052604090819020429055517ff43e5baaa9a0d30a36b57c2d8abe9ca8be75335a0bd72c88208db0b29ce40b5590610fe09086815260200190565b60405180910390a250505050505050610ff860018055565b565b6110026119a1565b600655565b61100f6119a1565b600b55565b61101c6119a1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6110466119a1565b610ff86000611cc9565b6016546001600160a01b0316331461107a5760405162461bcd60e51b815260040161080790611e28565b601754600160a01b900460ff16156110a45760405162461bcd60e51b815260040161080790611f39565b6017805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6110ea6119a1565b60005b8181101561115c576000601c600085858581811061110d5761110d611fa9565b90506020020160208101906111229190611d48565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061115481611fbf565b9150506110ed565b505050565b6111696119a1565b60005b8181101561115c576001601c600085858581811061118c5761118c611fa9565b90506020020160208101906111a19190611d48565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806111d381611fbf565b91505061116c565b6111e36119fb565b601754600160a01b900460ff16156112335760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903830bab9b2b21760691b6044820152606401610807565b600081116112535760405162461bcd60e51b815260040161080790611e51565b336000908152601c602052604090205460ff16156112ad5760405162461bcd60e51b815260206004820152601760248201527620b2323932b9b99034b990313630b1b5b634b9ba32b21760491b6044820152606401610807565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190611eab565b6113445760405162461bcd60e51b815260040161080790611ecd565b61134c611c07565b336000908152601960205260408120600d5490919060649061136e9085611f92565b6113789190611f70565b905060006113868285611f0d565b905081600e600082825461139a9190611f26565b909155505033600090815260186020526040812054906113ba8383611f26565b336000908152601860209081526040808320849055601a909152812042905590915082900361144557601f80546001818101835560009283527fa03837a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d80790910180546001600160a01b03191633179055600980549192909161143a908490611f26565b909155505060125485555b61144d611a54565b828560010160008282546114619190611f26565b9250508190555082600c600082825461147a9190611f26565b909155506114889050611b1f565b60405186815233907f42dbe0904d0638a781b09000335b42063b1625be80727d4e2e7b966e5f383b479060200160405180910390a250505050506114cb60018055565b50565b6114d66119a1565b610ff8611b1f565b6114e66119a1565b6003546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561153d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115619190611eab565b5061156a611b1f565b6040518181527ff5f62fdb073bb810bcb46a73c3f68abfbd2bb9a325ff3512fc3e83dddd2b7da4906020015b60405180910390a150565b6115a96119a1565b600d91909155600f55565b6115bc6119fb565b600b54336000908152601a602052604090205442916115da91611f26565b106116155760405162461bcd60e51b815260206004820152600b60248201526a2a34b6b2b637b1b5b2b21760a91b6044820152606401610807565b601754600160a01b900460ff161561163f5760405162461bcd60e51b815260040161080790611f39565b3360009081526018602052604090205461169b5760405162461bcd60e51b815260206004820152601b60248201527f4e6f2047414d4520746f6b656e7320746f2077697468647261772e00000000006044820152606401610807565b33600081815260196020908152604080832060189092529182902054600254925163a9059cbb60e01b8152600481019490945260248401819052909290916001600160a01b03169063a9059cbb906044016020604051808303816000875af115801561170b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172f9190611eab565b61176d5760405162461bcd60e51b815260206004820152600f60248201526e2330b4b632b2102a3930b739b332b960891b6044820152606401610807565b33600090815260186020526040812081905560018301819055600c8054839290611798908490611f0d565b909155506117a69050611b1f565b6117ae611c07565b600954156117df576001600960008282546117c99190611f0d565b9091555050336000908152601a60205260408120555b60405181815233907fad4b99cddb60d90f8bbbc7c0aaa034e55dcf7b47b7aa4e92ea3cfd31edc7336a9060200160405180910390a25050610ff860018055565b6118276119a1565b601754600160a81b900460ff166118805760405162461bcd60e51b815260206004820152601960248201527f5265706c656e69736820697320696e2070726f67726573732e000000000000006044820152606401610807565b6000600f81905560108190556017805460ff60a81b191690556040517ff6b9ac4b7b1785e325f2feb38c9f1c803bc4d2f5be003830e820a9c7ccf88a669190a1565b6016546001600160a01b031633146118ec5760405162461bcd60e51b815260040161080790611e28565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6119166119a1565b6001600160a01b03811661197b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610807565b6114cb81611cc9565b61198c6119a1565b611994611a54565b600a8190556114cb611d19565b6000546001600160a01b03163314610ff85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610807565b600260015403611a4d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610807565b6002600155565b3360009081526019602090815260408083208054601254601c909452919093205490919060ff1615611a8c5760006002840155611ae7565b6000825b82811015611ae45760018501546000828152601e6020526040902054611ab69190611f92565b915081856002016000828254611acc9190611f26565b90915550819050611adc81611fbf565b915050611a90565b50505b60125483556015546002840154600091611b0091611f70565b90508060056000828254611b149190611f26565b909155505050505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8c9190611e92565b9050600554811115611bad57600554611ba59082611f0d565b600455611bb3565b60006004555b611bbb611d19565b6008546012546000908152601e60209081526040918290209290925560045490519081527fc9a5a3fd7d347387e8e94486e0a318555c954a59ef909437cba032eabbd87def9101611596565b6000611c337f000000000000000000000000000000000000000000000000000000000000000042611f0d565b9050600060065482611c459190611f70565b9050600060145482611c579190611f0d565b9050801561115c578060146000828254611c719190611f26565b90915550600090505b81811015611cbf57600854601280546000908152601e6020526040812092909255805491611ca783611fbf565b91905055508080611cb790611fbf565b915050611c7a565b5042601355505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600a54600c54611d299190611f92565b601554600454611d399190611f92565b611d439190611f70565b600855565b600060208284031215611d5a57600080fd5b81356001600160a01b0381168114611d7157600080fd5b9392505050565b600060208284031215611d8a57600080fd5b5035919050565b60008060408385031215611da457600080fd5b50508035926020909101359150565b60008060208385031215611dc657600080fd5b823567ffffffffffffffff80821115611dde57600080fd5b818501915085601f830112611df257600080fd5b813581811115611e0157600080fd5b8660208260051b8501011115611e1657600080fd5b60209290920196919550909350505050565b6020808252600f908201526e2737ba1030baba3437b934bd32b21760891b604082015260600190565b60208082526021908201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6040820152601760f91b606082015260800190565b600060208284031215611ea457600080fd5b5051919050565b600060208284031215611ebd57600080fd5b81518015158114611d7157600080fd5b60208082526010908201526f2a3930b739b332b9103330b4b632b21760811b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115611f2057611f20611ef7565b92915050565b80820180821115611f2057611f20611ef7565b60208082526018908201527f436f6e747261637420616c7265616479207061757365642e0000000000000000604082015260600190565b600082611f8d57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417611f2057611f20611ef7565b634e487b7160e01b600052603260045260246000fd5b600060018201611fd157611fd1611ef7565b506001019056fea2646970667358221220363c766132962ef4fe8e995672f1cd49647ef975d3a377ae4c7525bd2af51a1e64736f6c634300081200330000000000000000000000003a4f0882eb2e90e33134d6f0290c596563e1b28d00000000000000000000000082d170ca324a8def05c727715724f528b980a66600000000000000000000000096f2b371d800bf32bb89dad05b61b380030030a5000000000000000000000000c0ba543b1f4a340aca0157c1988f3e216c9e1774
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106103425760003560e01c806396336b30116101b8578063ccb3094111610104578063ef33fbf5116100a2578063f2fde38b1161007c578063f2fde38b146106d9578063f6be71d1146106ec578063f9f92be4146106ff578063fb2d48da1461072257600080fd5b8063ef33fbf514610666578063ef5cfb8c14610686578063f19a773e146106d057600080fd5b8063d25e2a5a116100de578063d25e2a5a14610639578063d578ceab14610642578063e0e215021461064b578063e19a9dd91461065357600080fd5b8063ccb309411461061f578063ce8e762314610628578063d085835a1461063057600080fd5b8063a8cc1bfb11610171578063b0e84d741161014b578063b0e84d74146105d0578063beceed39146105d9578063c647b20e146105ec578063c6828d00146105ff57600080fd5b8063a8cc1bfb146105a2578063ac83ae55146105b5578063ad29f5da146105c857600080fd5b806396336b301461056257806398976c2b1461057557806399c8d5561461057e5780639c83469814610587578063a2d966ea14610590578063a38636901461059957600080fd5b80634f71d4dd116102925780637417040e116102305780638456cb591161020a5780638456cb591461052357806389daf7991461052b5780638da5cb5b1461053e578063935eb35f1461054f57600080fd5b80637417040e146104ea578063780d9369146104f357806378e97925146104fc57600080fd5b80635bcb318a1161026c5780635bcb318a146104a85780635c975abb146104bb5780636f96e99c146104cf578063715018a6146104e257600080fd5b80634f71d4dd14610479578063523264591461048c57806353c0da341461049f57600080fd5b806327e235e3116102ff57806337d50339116102d957806337d50339146104435780633f4ba83a14610456578063441a3e701461045e5780634e71d92d1461047157600080fd5b806327e235e3146103e55780632f6a0b371461040557806335c1d3491461041857600080fd5b806307a61afc146103475780630ccab3891461035c5780630e15561a1461038f57806314ced225146103985780631dc00785146103a1578063269c744e146103c1575b600080fd5b61035a610355366004611d48565b61072b565b005b61037c61036a366004611d48565b601a6020526000908152604090205481565b6040519081526020015b60405180910390f35b61037c60045481565b61037c60135481565b61037c6103af366004611d78565b601e6020526000908152604090205481565b6017546103d590600160a81b900460ff1681565b6040519015158152602001610386565b61037c6103f3366004611d48565b60186020526000908152604090205481565b61035a610413366004611d48565b610755565b61042b610426366004611d78565b61077f565b6040516001600160a01b039091168152602001610386565b61035a610451366004611d78565b6107a9565b61035a610854565b61035a61046c366004611d91565b610906565b61035a610c1f565b60175461042b906001600160a01b031681565b61035a61049a366004611d78565b610ffa565b61037c60055481565b61035a6104b6366004611d78565b611007565b6017546103d590600160a01b900460ff1681565b61035a6104dd366004611d48565b611014565b61035a61103e565b61037c60095481565b61037c600f5481565b61037c7f000000000000000000000000000000000000000000000000000000006781933c81565b61035a611050565b61035a610539366004611db3565b6110e2565b6000546001600160a01b031661042b565b61035a61055d366004611db3565b611161565b60035461042b906001600160a01b031681565b61037c60105481565b61037c600d5481565b61037c60115481565b61037c60125481565b61037c600e5481565b61035a6105b0366004611d78565b6111db565b60025461042b906001600160a01b031681565b61035a6114ce565b61037c60085481565b61035a6105e7366004611d78565b6114de565b61035a6105fa366004611d91565b6115a1565b61037c61060d366004611d48565b601d6020526000908152604090205481565b61037c600a5481565b61035a6115b4565b61037c600b5481565b61037c600c5481565b61037c60075481565b61035a61181f565b61035a610661366004611d48565b6118c2565b61037c610674366004611d48565b601b6020526000908152604090205481565b6106b5610694366004611d48565b60196020526000908152604090208054600182015460029092015490919083565b60408051938452602084019290925290820152606001610386565b61037c60065481565b61035a6106e7366004611d48565b61190e565b61035a6106fa366004611d78565b611984565b6103d561070d366004611d48565b601c6020526000908152604090205460ff1681565b61037c60145481565b6107336119a1565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b61075d6119a1565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b601f818154811061078f57600080fd5b6000918252602090912001546001600160a01b0316905081565b6107b16119a1565b601754600160a81b900460ff16156108105760405162461bcd60e51b815260206004820152601b60248201527f5265706c69736820616c7265616479207475726e6564206f66662e000000000060448201526064015b60405180910390fd5b6017805460ff60a81b1916600160a81b179055600f8190556040517f350dbdccb6cf4390cc0f296967b69390c073deecda36be26625b831ed318b1ef90600090a150565b6016546001600160a01b0316331461087e5760405162461bcd60e51b815260040161080790611e28565b601754600160a01b900460ff166108ce5760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba103737ba103830bab9b2b21760611b6044820152606401610807565b6017805460ff60a01b191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b61090e6119a1565b6000811161092e5760405162461bcd60e51b815260040161080790611e51565b6001821115610a7d576003546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa15801561097f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a39190611e92565b10156109e85760405162461bcd60e51b81526020600482015260146024820152732737ba1022b737bab3b4102932b9b2b93b32b99760611b6044820152606401610807565b60035460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5d9190611eab565b610a795760405162461bcd60e51b815260040161080790611ecd565b5050565b600e54811115610abf5760405162461bcd60e51b815260206004820152600d60248201526c26b0bc1022bc31b2b2b232b21760991b6044820152606401610807565b600e546002546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2e9190611e92565b1015610b735760405162461bcd60e51b81526020600482015260146024820152732737ba1032b737bab3b4102932b9b2b93b32b99760611b6044820152606401610807565b60025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190611eab565b610c045760405162461bcd60e51b815260040161080790611ecd565b80600e6000828254610c169190611f0d565b90915550505050565b610c276119fb565b600b54336000908152601b60205260409020544291610c4591611f26565b10610c805760405162461bcd60e51b815260206004820152600b60248201526a2a34b6b2b637b1b5b2b21760a91b6044820152606401610807565b601754600160a01b900460ff1615610caa5760405162461bcd60e51b815260040161080790611f39565b336000908152601c602052604090205460ff1615610d045760405162461bcd60e51b815260206004820152601760248201527620b2323932b9b99034b990313630b1b5b634b9ba32b21760491b6044820152606401610807565b336000908152601960205260409020601254815403610d6f5733600090815260196020526040902060020154610d6a5760405162461bcd60e51b815260206004820152600b60248201526a2737903932bbb0b932399760a91b6044820152606401610807565b610d77565b610d77611a54565b6002810154600f54600090610d8d606484611f70565b610d979190611f92565b90506000610da58284611f0d565b9050600060155482610db79190611f70565b9050600060155484610dc99190611f70565b60035460405163a9059cbb60e01b8152336004820152602481018590529192506001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611eab565b610e5b5760405162461bcd60e51b815260040161080790611ecd565b60035460175460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015610eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed49190611eab565b610ef05760405162461bcd60e51b815260040161080790611ecd565b600060028701819055610f038284611f26565b90508060056000828254610f179190611f0d565b9091555050336000908152601d602052604081208054859290610f3b908490611f26565b925050819055508260076000828254610f549190611f26565b925050819055508160106000828254610f6d9190611f26565b925050819055508160116000828254610f869190611f26565b90915550610f949050611b1f565b610f9c611c07565b336000818152601b602052604090819020429055517ff43e5baaa9a0d30a36b57c2d8abe9ca8be75335a0bd72c88208db0b29ce40b5590610fe09086815260200190565b60405180910390a250505050505050610ff860018055565b565b6110026119a1565b600655565b61100f6119a1565b600b55565b61101c6119a1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6110466119a1565b610ff86000611cc9565b6016546001600160a01b0316331461107a5760405162461bcd60e51b815260040161080790611e28565b601754600160a01b900460ff16156110a45760405162461bcd60e51b815260040161080790611f39565b6017805460ff60a01b1916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6110ea6119a1565b60005b8181101561115c576000601c600085858581811061110d5761110d611fa9565b90506020020160208101906111229190611d48565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061115481611fbf565b9150506110ed565b505050565b6111696119a1565b60005b8181101561115c576001601c600085858581811061118c5761118c611fa9565b90506020020160208101906111a19190611d48565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806111d381611fbf565b91505061116c565b6111e36119fb565b601754600160a01b900460ff16156112335760405162461bcd60e51b815260206004820152601360248201527221b7b73a3930b1ba1034b9903830bab9b2b21760691b6044820152606401610807565b600081116112535760405162461bcd60e51b815260040161080790611e51565b336000908152601c602052604090205460ff16156112ad5760405162461bcd60e51b815260206004820152601760248201527620b2323932b9b99034b990313630b1b5b634b9ba32b21760491b6044820152606401610807565b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611304573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113289190611eab565b6113445760405162461bcd60e51b815260040161080790611ecd565b61134c611c07565b336000908152601960205260408120600d5490919060649061136e9085611f92565b6113789190611f70565b905060006113868285611f0d565b905081600e600082825461139a9190611f26565b909155505033600090815260186020526040812054906113ba8383611f26565b336000908152601860209081526040808320849055601a909152812042905590915082900361144557601f80546001818101835560009283527fa03837a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d80790910180546001600160a01b03191633179055600980549192909161143a908490611f26565b909155505060125485555b61144d611a54565b828560010160008282546114619190611f26565b9250508190555082600c600082825461147a9190611f26565b909155506114889050611b1f565b60405186815233907f42dbe0904d0638a781b09000335b42063b1625be80727d4e2e7b966e5f383b479060200160405180910390a250505050506114cb60018055565b50565b6114d66119a1565b610ff8611b1f565b6114e66119a1565b6003546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561153d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115619190611eab565b5061156a611b1f565b6040518181527ff5f62fdb073bb810bcb46a73c3f68abfbd2bb9a325ff3512fc3e83dddd2b7da4906020015b60405180910390a150565b6115a96119a1565b600d91909155600f55565b6115bc6119fb565b600b54336000908152601a602052604090205442916115da91611f26565b106116155760405162461bcd60e51b815260206004820152600b60248201526a2a34b6b2b637b1b5b2b21760a91b6044820152606401610807565b601754600160a01b900460ff161561163f5760405162461bcd60e51b815260040161080790611f39565b3360009081526018602052604090205461169b5760405162461bcd60e51b815260206004820152601b60248201527f4e6f2047414d4520746f6b656e7320746f2077697468647261772e00000000006044820152606401610807565b33600081815260196020908152604080832060189092529182902054600254925163a9059cbb60e01b8152600481019490945260248401819052909290916001600160a01b03169063a9059cbb906044016020604051808303816000875af115801561170b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172f9190611eab565b61176d5760405162461bcd60e51b815260206004820152600f60248201526e2330b4b632b2102a3930b739b332b960891b6044820152606401610807565b33600090815260186020526040812081905560018301819055600c8054839290611798908490611f0d565b909155506117a69050611b1f565b6117ae611c07565b600954156117df576001600960008282546117c99190611f0d565b9091555050336000908152601a60205260408120555b60405181815233907fad4b99cddb60d90f8bbbc7c0aaa034e55dcf7b47b7aa4e92ea3cfd31edc7336a9060200160405180910390a25050610ff860018055565b6118276119a1565b601754600160a81b900460ff166118805760405162461bcd60e51b815260206004820152601960248201527f5265706c656e69736820697320696e2070726f67726573732e000000000000006044820152606401610807565b6000600f81905560108190556017805460ff60a81b191690556040517ff6b9ac4b7b1785e325f2feb38c9f1c803bc4d2f5be003830e820a9c7ccf88a669190a1565b6016546001600160a01b031633146118ec5760405162461bcd60e51b815260040161080790611e28565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b6119166119a1565b6001600160a01b03811661197b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610807565b6114cb81611cc9565b61198c6119a1565b611994611a54565b600a8190556114cb611d19565b6000546001600160a01b03163314610ff85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610807565b600260015403611a4d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610807565b6002600155565b3360009081526019602090815260408083208054601254601c909452919093205490919060ff1615611a8c5760006002840155611ae7565b6000825b82811015611ae45760018501546000828152601e6020526040902054611ab69190611f92565b915081856002016000828254611acc9190611f26565b90915550819050611adc81611fbf565b915050611a90565b50505b60125483556015546002840154600091611b0091611f70565b90508060056000828254611b149190611f26565b909155505050505050565b6003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611b68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8c9190611e92565b9050600554811115611bad57600554611ba59082611f0d565b600455611bb3565b60006004555b611bbb611d19565b6008546012546000908152601e60209081526040918290209290925560045490519081527fc9a5a3fd7d347387e8e94486e0a318555c954a59ef909437cba032eabbd87def9101611596565b6000611c337f000000000000000000000000000000000000000000000000000000006781933c42611f0d565b9050600060065482611c459190611f70565b9050600060145482611c579190611f0d565b9050801561115c578060146000828254611c719190611f26565b90915550600090505b81811015611cbf57600854601280546000908152601e6020526040812092909255805491611ca783611fbf565b91905055508080611cb790611fbf565b915050611c7a565b5042601355505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600a54600c54611d299190611f92565b601554600454611d399190611f92565b611d439190611f70565b600855565b600060208284031215611d5a57600080fd5b81356001600160a01b0381168114611d7157600080fd5b9392505050565b600060208284031215611d8a57600080fd5b5035919050565b60008060408385031215611da457600080fd5b50508035926020909101359150565b60008060208385031215611dc657600080fd5b823567ffffffffffffffff80821115611dde57600080fd5b818501915085601f830112611df257600080fd5b813581811115611e0157600080fd5b8660208260051b8501011115611e1657600080fd5b60209290920196919550909350505050565b6020808252600f908201526e2737ba1030baba3437b934bd32b21760891b604082015260600190565b60208082526021908201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6040820152601760f91b606082015260800190565b600060208284031215611ea457600080fd5b5051919050565b600060208284031215611ebd57600080fd5b81518015158114611d7157600080fd5b60208082526010908201526f2a3930b739b332b9103330b4b632b21760811b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115611f2057611f20611ef7565b92915050565b80820180821115611f2057611f20611ef7565b60208082526018908201527f436f6e747261637420616c7265616479207061757365642e0000000000000000604082015260600190565b600082611f8d57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417611f2057611f20611ef7565b634e487b7160e01b600052603260045260246000fd5b600060018201611fd157611fd1611ef7565b506001019056fea2646970667358221220363c766132962ef4fe8e995672f1cd49647ef975d3a377ae4c7525bd2af51a1e64736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003a4f0882eb2e90e33134d6f0290c596563e1b28d00000000000000000000000082d170ca324a8def05c727715724f528b980a66600000000000000000000000096f2b371d800bf32bb89dad05b61b380030030a5000000000000000000000000c0ba543b1f4a340aca0157c1988f3e216c9e1774
-----Decoded View---------------
Arg [0] : _GAMEToken (address): 0x3a4F0882EB2e90e33134D6f0290c596563E1b28D
Arg [1] : _payToken (address): 0x82d170cA324A8deF05C727715724f528b980A666
Arg [2] : _battledogs (address): 0x96F2B371D800bf32BB89DAd05b61B380030030A5
Arg [3] : _newGuard (address): 0xc0ba543B1F4A340acA0157C1988F3E216C9e1774
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000003a4f0882eb2e90e33134d6f0290c596563e1b28d
Arg [1] : 00000000000000000000000082d170ca324a8def05c727715724f528b980a666
Arg [2] : 00000000000000000000000096f2b371d800bf32bb89dad05b61b380030030a5
Arg [3] : 000000000000000000000000c0ba543b1f4a340aca0157c1988f3e216c9e1774
Deployed Bytecode Sourcemap
9815:11730:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20042:107;;;;;;:::i;:::-;;:::i;:::-;;10878:43;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;451:25:1;;;439:2;424:18;10878:43:0;;;;;;;;9928:31;;;;;;10535:23;;;;;;11079:45;;;;;;:::i;:::-;;;;;;;;;;;;;;10735:31;;;;;-1:-1:-1;;;10735:31:0;;;;;;;;;837:14:1;;830:22;812:41;;800:2;785:18;10735:31:0;672:187:1;10776:43:0;;;;;;:::i;:::-;;;;;;;;;;;;;;19810:110;;;;;;:::i;:::-;;:::i;11133:29::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1028:32:1;;;1010:51;;998:2;983:18;11133:29:0;864:203:1;21048:230:0;;;;;;:::i;:::-;;:::i;20769:144::-;;;:::i;18622:642::-;;;;;;:::i;:::-;;:::i;17072:1542::-;;;:::i;10667:25::-;;;;;-1:-1:-1;;;;;10667:25:0;;;19542:98;;;;;;:::i;:::-;;:::i;9966:29::-;;;;;;19438:96;;;;;;:::i;:::-;;:::i;10699:26::-;;;;;-1:-1:-1;;;10699:26:0;;;;;;19928:106;;;;;;:::i;:::-;;:::i;6044:103::-;;;:::i;10159:39::-;;;;;;10394:31;;;;;;10082:34;;;;;20595:144;;;:::i;20363:204::-;;;;;;:::i;:::-;;:::i;5403:87::-;5449:7;5476:6;-1:-1:-1;;;;;5476:6:0;5403:87;;20157:198;;;;;;:::i;:::-;;:::i;9899:22::-;;;;;-1:-1:-1;;;;;9899:22:0;;;10432:31;;;;;;10331:22;;;;;;10470:29;;;;;;10506:22;;;;;;10360:27;;;;;;13133:1170;;;;;;:::i;:::-;;:::i;9869:23::-;;;;;-1:-1:-1;;;;;9869:23:0;;;15987:74;;;:::i;10123:29::-;;;;;;15294:196;;;;;;:::i;:::-;;:::i;19648:154::-;;;;;;:::i;:::-;;:::i;11028:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;10205:32;;;;;;14386:787;;;:::i;10244:32::-;;;;;;10292;;;;;;10041:34;;;;;;21313:229;;;:::i;20921:93::-;;;;;;:::i;:::-;;:::i;10928:45::-;;;;;;:::i;:::-;;;;;;;;;;;;;;10826;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2369:25:1;;;2425:2;2410:18;;2403:34;;;;2453:18;;;2446:34;2357:2;2342:18;10826:45:0;2167:319:1;10002:32:0;;;;;;6302:201;;;;;;:::i;:::-;;:::i;19272:158::-;;;;;;:::i;:::-;;:::i;10980:41::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;10565:23;;;;;;20042:107;5289:13;:11;:13::i;:::-;20117:10:::1;:24:::0;;-1:-1:-1;;;;;;20117:24:0::1;-1:-1:-1::0;;;;;20117:24:0;;;::::1;::::0;;;::::1;::::0;;20042:107::o;19810:110::-;5289:13;:11;:13::i;:::-;19882:9:::1;:30:::0;;-1:-1:-1;;;;;;19882:30:0::1;-1:-1:-1::0;;;;;19882:30:0;;;::::1;::::0;;;::::1;::::0;;19810:110::o;11133:29::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11133:29:0;;-1:-1:-1;11133:29:0;:::o;21048:230::-;5289:13;:11;:13::i;:::-;21130:11:::1;::::0;-1:-1:-1;;;21130:11:0;::::1;;;21129:12;21121:52;;;::::0;-1:-1:-1;;;21121:52:0;;2693:2:1;21121:52:0::1;::::0;::::1;2675:21:1::0;2732:2;2712:18;;;2705:30;2771:29;2751:18;;;2744:57;2818:18;;21121:52:0::1;;;;;;;;;21184:11;:18:::0;;-1:-1:-1;;;;21184:18:0::1;-1:-1:-1::0;;;21184:18:0::1;::::0;;21213:12:::1;:28:::0;;;21257:13:::1;::::0;::::1;::::0;21184:18;;21257:13:::1;21048:230:::0;:::o;20769:144::-;11997:5;;-1:-1:-1;;;;;11997:5:0;11983:10;:19;11975:47;;;;-1:-1:-1;;;11975:47:0;;;;;;;:::i;:::-;20824:6:::1;::::0;-1:-1:-1;;;20824:6:0;::::1;;;20816:39;;;::::0;-1:-1:-1;;;20816:39:0;;3393:2:1;20816:39:0::1;::::0;::::1;3375:21:1::0;3432:2;3412:18;;;3405:30;-1:-1:-1;;;3451:18:1;;;3444:50;3511:18;;20816:39:0::1;3191:344:1::0;20816:39:0::1;20866:6;:14:::0;;-1:-1:-1;;;;20866:14:0::1;::::0;;20896:9:::1;::::0;::::1;::::0;20875:5:::1;::::0;20896:9:::1;20769:144::o:0;18622:642::-;5289:13;:11;:13::i;:::-;18720:1:::1;18711:6;:10;18703:56;;;;-1:-1:-1::0;;;18703:56:0::1;;;;;;;:::i;:::-;18784:1;18774:7;:11;18770:487;;;18810:8;::::0;:33:::1;::::0;-1:-1:-1;;;18810:33:0;;18837:4:::1;18810:33;::::0;::::1;1010:51:1::0;18847:6:0;;-1:-1:-1;;;;;18810:8:0::1;::::0;:18:::1;::::0;983::1;;18810:33:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:43;;18802:76;;;::::0;-1:-1:-1;;;18802:76:0;;4333:2:1;18802:76:0::1;::::0;::::1;4315:21:1::0;4372:2;4352:18;;;4345:30;-1:-1:-1;;;4391:18:1;;;4384:50;4451:18;;18802:76:0::1;4131:344:1::0;18802:76:0::1;18901:8;::::0;:37:::1;::::0;-1:-1:-1;;;18901:37:0;;18919:10:::1;18901:37;::::0;::::1;4654:51:1::0;4721:18;;;4714:34;;;-1:-1:-1;;;;;18901:8:0;;::::1;::::0;:17:::1;::::0;4627:18:1;;18901:37:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18893:66;;;;-1:-1:-1::0;;;18893:66:0::1;;;;;;;:::i;:::-;18622:642:::0;;:::o;18770:487::-:1;19010:8;;19000:6;:18;;18992:44;;;::::0;-1:-1:-1;;;18992:44:0;;5588:2:1;18992:44:0::1;::::0;::::1;5570:21:1::0;5627:2;5607:18;;;5600:30;-1:-1:-1;;;5646:18:1;;;5639:43;5699:18;;18992:44:0::1;5386:337:1::0;18992:44:0::1;19097:8;::::0;19059:9:::1;::::0;:34:::1;::::0;-1:-1:-1;;;19059:34:0;;19087:4:::1;19059:34;::::0;::::1;1010:51:1::0;-1:-1:-1;;;;;19059:9:0;;::::1;::::0;:19:::1;::::0;983:18:1;;19059:34:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:46;;19051:79;;;::::0;-1:-1:-1;;;19051:79:0;;5930:2:1;19051:79:0::1;::::0;::::1;5912:21:1::0;5969:2;5949:18;;;5942:30;-1:-1:-1;;;5988:18:1;;;5981:50;6048:18;;19051:79:0::1;5728:344:1::0;19051:79:0::1;19153:9;::::0;:38:::1;::::0;-1:-1:-1;;;19153:38:0;;19172:10:::1;19153:38;::::0;::::1;4654:51:1::0;4721:18;;;4714:34;;;-1:-1:-1;;;;;19153:9:0;;::::1;::::0;:18:::1;::::0;4627::1;;19153:38:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19145:67;;;;-1:-1:-1::0;;;19145:67:0::1;;;;;;;:::i;:::-;19239:6;19227:8;;:18;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;18622:642:0;;:::o;17072:1542::-;2380:21;:19;:21::i;:::-;12285:8:::1;::::0;12271:10:::1;12260:22;::::0;;;:10:::1;:22;::::0;;;;;12296:15:::1;::::0;12260:33:::1;::::0;::::1;:::i;:::-;:51;12252:75;;;::::0;-1:-1:-1;;;12252:75:0;;6674:2:1;12252:75:0::1;::::0;::::1;6656:21:1::0;6713:2;6693:18;;;6686:30;-1:-1:-1;;;6732:18:1;;;6725:41;6783:18;;12252:75:0::1;6472:335:1::0;12252:75:0::1;17144:6:::2;::::0;-1:-1:-1;;;17144:6:0;::::2;;;17143:7;17135:44;;;;-1:-1:-1::0;;;17135:44:0::2;;;;;;;:::i;:::-;17218:10;17208:21;::::0;;;:9:::2;:21;::::0;;;;;::::2;;17207:22;17199:58;;;::::0;-1:-1:-1;;;17199:58:0;;7367:2:1;17199:58:0::2;::::0;::::2;7349:21:1::0;7406:2;7386:18;;;7379:30;-1:-1:-1;;;7425:18:1;;;7418:53;7488:18;;17199:58:0::2;7165:347:1::0;17199:58:0::2;17307:10;17268:23;17294:24:::0;;;:12:::2;:24;::::0;;;;17357:3:::2;::::0;17333:20;;:27;17329:172:::2;;17394:10;17420:1;17381:24:::0;;;:12:::2;:24;::::0;;;;:36:::2;;::::0;17373:64:::2;;;::::0;-1:-1:-1;;;17373:64:0;;7719:2:1;17373:64:0::2;::::0;::::2;7701:21:1::0;7758:2;7738:18;;;7731:30;-1:-1:-1;;;7777:18:1;;;7770:41;7828:18;;17373:64:0::2;7517:335:1::0;17373:64:0::2;17329:172;;;17478:10;:8;:10::i;:::-;17535:21;::::0;::::2;::::0;17613:12:::2;::::0;17513:19:::2;::::0;17592:17:::2;17606:3;17535:21:::0;17592:17:::2;:::i;:::-;17591:34;;;;:::i;:::-;17569:56:::0;-1:-1:-1;17637:24:0::2;17664:25;17569:56:::0;17664:11;:25:::2;:::i;:::-;17637:52;;17702:15;17740:7;;17721:16;:26;;;;:::i;:::-;17702:45;;17758:17;17792:7;;17778:11;:21;;;;:::i;:::-;17828:8;::::0;:38:::2;::::0;-1:-1:-1;;;17828:38:0;;17846:10:::2;17828:38;::::0;::::2;4654:51:1::0;4721:18;;;4714:34;;;17758:41:0;;-1:-1:-1;;;;;;17828:8:0::2;::::0;:17:::2;::::0;4627:18:1;;17828:38:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17820:67;;;;-1:-1:-1::0;;;17820:67:0::2;;;;;;;:::i;:::-;17907:8;::::0;17925:10:::2;::::0;17907:40:::2;::::0;-1:-1:-1;;;17907:40:0;;-1:-1:-1;;;;;17925:10:0;;::::2;17907:40;::::0;::::2;4654:51:1::0;4721:18;;;4714:34;;;17907:8:0;::::2;::::0;:17:::2;::::0;4627:18:1;;17907:40:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17899:69;;;;-1:-1:-1::0;;;17899:69:0::2;;;;;;;:::i;:::-;18041:1;18017:21;::::0;::::2;:25:::0;;;18131:19:::2;18141:9:::0;18131:7;:19:::2;:::i;:::-;18108:42;;18179:12;18161:14;;:30;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;18272:10:0::2;18262:21;::::0;;;:9:::2;:21;::::0;;;;:32;;18287:7;;18262:21;:32:::2;::::0;18287:7;;18262:32:::2;:::i;:::-;;;;;;;;18328:7;18305:19;;:30;;;;;;;:::i;:::-;;;;;;;;18366:9;18346:16;;:29;;;;;;;:::i;:::-;;;;;;;;18404:9;18386:14;;:27;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;18424:12:0::2;::::0;-1:-1:-1;18424:10:0::2;:12::i;:::-;18447:8;:6;:8::i;:::-;18477:10;18466:22;::::0;;;:10:::2;:22;::::0;;;;;;18491:15:::2;18466:40:::0;;18566;::::2;::::0;::::2;::::0;18598:7;451:25:1;;439:2;424:18;;305:177;18566:40:0::2;;;;;;;;17122:1492;;;;;;;2424:20:::0;1818:1;2944:22;;2761:213;2424:20;17072:1542::o;19542:98::-;5289:13;:11;:13::i;:::-;19612:9:::1;:20:::0;19542:98::o;19438:96::-;5289:13;:11;:13::i;:::-;19507:8:::1;:19:::0;19438:96::o;19928:106::-;5289:13;:11;:13::i;:::-;19998:8:::1;:28:::0;;-1:-1:-1;;;;;;19998:28:0::1;-1:-1:-1::0;;;;;19998:28:0;;;::::1;::::0;;;::::1;::::0;;19928:106::o;6044:103::-;5289:13;:11;:13::i;:::-;6109:30:::1;6136:1;6109:18;:30::i;20595:144::-:0;11997:5;;-1:-1:-1;;;;;11997:5:0;11983:10;:19;11975:47;;;;-1:-1:-1;;;11975:47:0;;;;;;;:::i;:::-;20649:6:::1;::::0;-1:-1:-1;;;20649:6:0;::::1;;;20648:7;20640:44;;;;-1:-1:-1::0;;;20640:44:0::1;;;;;;;:::i;:::-;20695:6;:13:::0;;-1:-1:-1;;;;20695:13:0::1;-1:-1:-1::0;;;20695:13:0::1;::::0;;20724:7:::1;::::0;::::1;::::0;20695:13;;20724:7:::1;20595:144::o:0;20363:204::-;5289:13;:11;:13::i;:::-;20458:9:::1;20453:107;20473:21:::0;;::::1;20453:107;;;20543:5;20516:9;:24;20526:10;;20537:1;20526:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20516:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20516:24:0;:32;;-1:-1:-1;;20516:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20496:3;::::1;::::0;::::1;:::i;:::-;;;;20453:107;;;;20363:204:::0;;:::o;20157:198::-;5289:13;:11;:13::i;:::-;20247:9:::1;20242:106;20262:21:::0;;::::1;20242:106;;;20332:4;20305:9;:24;20315:10;;20326:1;20315:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20305:24:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;20305:24:0;:31;;-1:-1:-1;;20305:31:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20285:3;::::1;::::0;::::1;:::i;:::-;;;;20242:106;;13133:1170:::0;2380:21;:19;:21::i;:::-;13207:6:::1;::::0;-1:-1:-1;;;13207:6:0;::::1;;;13206:7;13198:39;;;::::0;-1:-1:-1;;;13198:39:0;;8726:2:1;13198:39:0::1;::::0;::::1;8708:21:1::0;8765:2;8745:18;;;8738:30;-1:-1:-1;;;8784:18:1;;;8777:49;8843:18;;13198:39:0::1;8524:343:1::0;13198:39:0::1;13266:1;13256:7;:11;13248:57;;;;-1:-1:-1::0;;;13248:57:0::1;;;;;;;:::i;:::-;13335:10;13325:21;::::0;;;:9:::1;:21;::::0;;;;;::::1;;13324:22;13316:58;;;::::0;-1:-1:-1;;;13316:58:0;;7367:2:1;13316:58:0::1;::::0;::::1;7349:21:1::0;7406:2;7386:18;;;7379:30;-1:-1:-1;;;7425:18:1;;;7418:53;7488:18;;13316:58:0::1;7165:347:1::0;13316:58:0::1;13393:9;::::0;:58:::1;::::0;-1:-1:-1;;;13393:58:0;;13416:10:::1;13393:58;::::0;::::1;9112:34:1::0;13436:4:0::1;9162:18:1::0;;;9155:43;9214:18;;;9207:34;;;-1:-1:-1;;;;;13393:9:0;;::::1;::::0;:22:::1;::::0;9047:18:1;;13393:58:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13385:87;;;;-1:-1:-1::0;;;13385:87:0::1;;;;;;;:::i;:::-;13483:8;:6;:8::i;:::-;13541:10;13502:23;13528:24:::0;;;:12:::1;:24;::::0;;;;13589:3:::1;::::0;13528:24;;13502:23;13594:3:::1;::::0;13579:13:::1;::::0;:7;:13:::1;:::i;:::-;13578:19;;;;:::i;:::-;13563:34:::0;-1:-1:-1;13608:14:0::1;13625;13563:34:::0;13625:7;:14:::1;:::i;:::-;13608:31;;13662:4;13650:8;;:16;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;13711:10:0::1;13677:22;13702:20:::0;;;:8:::1;:20;::::0;;;;;;13754:23:::1;13771:6:::0;13702:20;13754:23:::1;:::i;:::-;13797:10;13788:20;::::0;;;:8:::1;:20;::::0;;;;;;;:33;;;13832:8:::1;:20:::0;;;;;13855:15:::1;13832:38:::0;;13733:44;;-1:-1:-1;13924:19:0;;;13920:207:::1;;13960:12;:29:::0;;::::1;::::0;;::::1;::::0;;-1:-1:-1;13960:29:0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;13960:29:0::1;13978:10;13960:29;::::0;;14004:20:::1;:25:::0;;13960:29;;14004:20;;:25:::1;::::0;13960:29;;14004:25:::1;:::i;:::-;::::0;;;-1:-1:-1;;14112:3:0::1;::::0;14089:26;;13920:207:::1;14139:10;:8;:10::i;:::-;14188:6;14166:9;:18;;;:28;;;;;;;:::i;:::-;;;;;;;;14222:6;14205:13;;:23;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;14239:12:0::1;::::0;-1:-1:-1;14239:10:0::1;:12::i;:::-;14267:28;::::0;451:25:1;;;14275:10:0::1;::::0;14267:28:::1;::::0;439:2:1;424:18;14267:28:0::1;;;;;;;13187:1116;;;;;2424:20:::0;1818:1;2944:22;;2761:213;2424:20;13133:1170;:::o;15987:74::-;5289:13;:11;:13::i;:::-;16041:12:::1;:10;:12::i;15294:196::-:0;5289:13;:11;:13::i;:::-;15361:8:::1;::::0;:57:::1;::::0;-1:-1:-1;;;15361:57:0;;15383:10:::1;15361:57;::::0;::::1;9112:34:1::0;15403:4:0::1;9162:18:1::0;;;9155:43;9214:18;;;9207:34;;;-1:-1:-1;;;;;15361:8:0;;::::1;::::0;:21:::1;::::0;9047:18:1;;15361:57:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15429:12;:10;:12::i;:::-;15457:25;::::0;451::1;;;15457::0::1;::::0;439:2:1;424:18;15457:25:0::1;;;;;;;;15294:196:::0;:::o;19648:154::-;5289:13;:11;:13::i;:::-;19740:3:::1;:15:::0;;;;19766:12:::1;:28:::0;19648:154::o;14386:787::-;2380:21;:19;:21::i;:::-;12134:8:::1;::::0;12120:10:::1;12111:20;::::0;;;:8:::1;:20;::::0;;;;;12145:15:::1;::::0;12111:31:::1;::::0;::::1;:::i;:::-;:49;12103:73;;;::::0;-1:-1:-1;;;12103:73:0;;6674:2:1;12103:73:0::1;::::0;::::1;6656:21:1::0;6713:2;6693:18;;;6686:30;-1:-1:-1;;;6732:18:1;;;6725:41;6783:18;;12103:73:0::1;6472:335:1::0;12103:73:0::1;14468:6:::2;::::0;-1:-1:-1;;;14468:6:0;::::2;;;14467:7;14459:44;;;;-1:-1:-1::0;;;14459:44:0::2;;;;;;;:::i;:::-;14531:10;14545:1;14522:20:::0;;;:8:::2;:20;::::0;;;;;14514:64:::2;;;::::0;-1:-1:-1;;;14514:64:0;;9454:2:1;14514:64:0::2;::::0;::::2;9436:21:1::0;9493:2;9473:18;;;9466:30;9532:29;9512:18;;;9505:57;9579:18;;14514:64:0::2;9252:351:1::0;14514:64:0::2;14629:10;14590:23;14616:24:::0;;;:12:::2;:24;::::0;;;;;;;14679:8:::2;:20:::0;;;;;;;;14718:9:::2;::::0;:42;;-1:-1:-1;;;14718:42:0;;::::2;::::0;::::2;4654:51:1::0;;;;4721:18;;;4714:34;;;14616:24:0;;14679:20;;-1:-1:-1;;;;;14718:9:0::2;::::0;:18:::2;::::0;4627::1;;14718:42:0::2;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14710:70;;;::::0;-1:-1:-1;;;14710:70:0;;9810:2:1;14710:70:0::2;::::0;::::2;9792:21:1::0;9849:2;9829:18;;;9822:30;-1:-1:-1;;;9868:18:1;;;9861:45;9923:18;;14710:70:0::2;9608:339:1::0;14710:70:0::2;14806:10;14820:1;14797:20:::0;;;:8:::2;:20;::::0;;;;:24;;;14832:18:::2;::::0;::::2;:22:::0;;;14865:13:::2;:27:::0;;14882:10;;14820:1;14865:27:::2;::::0;14882:10;;14865:27:::2;:::i;:::-;::::0;;;-1:-1:-1;14904:12:0::2;::::0;-1:-1:-1;14904:10:0::2;:12::i;:::-;14926:8;:6;:8::i;:::-;14951:20;::::0;:24;14947:157:::2;;15016:1;14992:20;;:25;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;15041:10:0::2;15055:1;15032:20:::0;;;:8:::2;:20;::::0;;;;:24;14947:157:::2;15129:36;::::0;451:25:1;;;15142:10:0::2;::::0;15129:36:::2;::::0;439:2:1;424:18;15129:36:0::2;;;;;;;14448:725;;2424:20:::0;1818:1;2944:22;;2761:213;21313:229;5289:13;:11;:13::i;:::-;21375:11:::1;::::0;-1:-1:-1;;;21375:11:0;::::1;;;21367:49;;;::::0;-1:-1:-1;;;21367:49:0;;10154:2:1;21367:49:0::1;::::0;::::1;10136:21:1::0;10193:2;10173:18;;;10166:30;10232:27;10212:18;;;10205:55;10277:18;;21367:49:0::1;9952:349:1::0;21367:49:0::1;21442:1;21427:12;:16:::0;;;21454::::1;:20:::0;;;21485:11:::1;:19:::0;;-1:-1:-1;;;;21485:19:0::1;::::0;;21520:14:::1;::::0;::::1;::::0;21442:1;21520:14:::1;21313:229::o:0;20921:93::-;11997:5;;-1:-1:-1;;;;;11997:5:0;11983:10;:19;11975:47;;;;-1:-1:-1;;;11975:47:0;;;;;;;:::i;:::-;20989:5:::1;:17:::0;;-1:-1:-1;;;;;;20989:17:0::1;-1:-1:-1::0;;;;;20989:17:0;;;::::1;::::0;;;::::1;::::0;;20921:93::o;6302:201::-;5289:13;:11;:13::i;:::-;-1:-1:-1;;;;;6391:22:0;::::1;6383:73;;;::::0;-1:-1:-1;;;6383:73:0;;10508:2:1;6383:73:0::1;::::0;::::1;10490:21:1::0;10547:2;10527:18;;;10520:30;10586:34;10566:18;;;10559:62;-1:-1:-1;;;10637:18:1;;;10630:36;10683:19;;6383:73:0::1;10306:402:1::0;6383:73:0::1;6467:28;6486:8;6467:18;:28::i;19272:158::-:0;5289:13;:11;:13::i;:::-;19349:10:::1;:8;:10::i;:::-;19370:8;:19:::0;;;19400:22:::1;:20;:22::i;5568:132::-:0;5449:7;5476:6;-1:-1:-1;;;;;5476:6:0;4034:10;5632:23;5624:68;;;;-1:-1:-1;;;5624:68:0;;10915:2:1;5624:68:0;;;10897:21:1;;;10934:18;;;10927:30;10993:34;10973:18;;;10966:62;11045:18;;5624:68:0;10713:356:1;2460:293:0;1862:1;2594:7;;:19;2586:63;;;;-1:-1:-1;;;2586:63:0;;11276:2:1;2586:63:0;;;11258:21:1;11315:2;11295:18;;;11288:30;11354:33;11334:18;;;11327:61;11405:18;;2586:63:0;11074:355:1;2586:63:0;1862:1;2727:7;:18;2460:293::o;16069:857::-;16152:10;16113:23;16139:24;;;:12;:24;;;;;;;;16235:20;;16290:3;;16326:9;:21;;;;;;;;16235:20;;16290:3;16326:21;;16322:446;;;16392:1;16368:21;;;:25;16322:446;;;16499:22;16557:11;16540:200;16574:9;16570:1;:13;16540:200;;;16643:18;;;;16627:13;;;;:10;:13;;;;;;:34;;16643:18;16627:34;:::i;:::-;16609:53;;16706:14;16681:9;:21;;;:39;;;;;;;:::i;:::-;;;;-1:-1:-1;16585:3:0;;-1:-1:-1;16585:3:0;;;:::i;:::-;;;;16540:200;;;;16415:353;16322:446;16805:3;;16782:26;;16868:7;;16844:21;;;;16782:20;;16844:31;;;:::i;:::-;16823:52;;16908:10;16890:14;;:28;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;16069:857:0:o;15498:481::-;15567:8;;:33;;-1:-1:-1;;;15567:33:0;;15594:4;15567:33;;;1010:51:1;15540:24:0;;-1:-1:-1;;;;;15567:8:0;;:18;;983::1;;15567:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15540:60;;15683:14;;15664:16;:33;15660:176;;;15760:14;;15741:33;;:16;:33;:::i;:::-;15726:12;:48;15660:176;;;15823:1;15808:12;:16;15660:176;15846:22;:20;:22::i;:::-;15905:14;;15898:3;;15887:15;;;;:10;:15;;;;;;;;;:32;;;;15958:12;;15943:28;;451:25:1;;;15943:28:0;;424:18:1;15943:28:0;305:177:1;12355:770:0;12393:19;12415:27;12433:9;12415:15;:27;:::i;:::-;12393:49;;12485:24;12526:9;;12512:11;:23;;;;:::i;:::-;12485:50;;12576:19;12617:8;;12598:16;:27;;;;:::i;:::-;12576:49;-1:-1:-1;12698:15:0;;12694:421;;12742:11;12730:8;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;12773:9:0;;-1:-1:-1;12768:246:0;12792:11;12788:1;:15;12768:246;;;12892:14;;12885:3;;;12874:15;;;;:10;:15;;;;;:32;;;;12993:5;;;;;;:::i;:::-;;;;;;12805:3;;;;;:::i;:::-;;;;12768:246;;;-1:-1:-1;13088:15:0;13077:8;:26;12382:743;;;12355:770::o;6663:191::-;6737:16;6756:6;;-1:-1:-1;;;;;6773:17:0;;;-1:-1:-1;;;;;;6773:17:0;;;;;;6806:40;;6756:6;;;;;;;6806:40;;6737:16;6806:40;6726:128;6663:191;:::o;16934:130::-;17047:8;;17031:13;;:24;;;;:::i;:::-;17019:7;;17004:12;;:22;;;;:::i;:::-;17003:53;;;;:::i;:::-;16986:14;:70;16934:130::o;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:70;;266:1;263;256:12;200:70;289:5;14:286;-1:-1:-1;;;14:286:1:o;487:180::-;546:6;599:2;587:9;578:7;574:23;570:32;567:52;;;615:1;612;605:12;567:52;-1:-1:-1;638:23:1;;487:180;-1:-1:-1;487:180:1:o;1072:248::-;1140:6;1148;1201:2;1189:9;1180:7;1176:23;1172:32;1169:52;;;1217:1;1214;1207:12;1169:52;-1:-1:-1;;1240:23:1;;;1310:2;1295:18;;;1282:32;;-1:-1:-1;1072:248:1:o;1325:615::-;1411:6;1419;1472:2;1460:9;1451:7;1447:23;1443:32;1440:52;;;1488:1;1485;1478:12;1440:52;1528:9;1515:23;1557:18;1598:2;1590:6;1587:14;1584:34;;;1614:1;1611;1604:12;1584:34;1652:6;1641:9;1637:22;1627:32;;1697:7;1690:4;1686:2;1682:13;1678:27;1668:55;;1719:1;1716;1709:12;1668:55;1759:2;1746:16;1785:2;1777:6;1774:14;1771:34;;;1801:1;1798;1791:12;1771:34;1854:7;1849:2;1839:6;1836:1;1832:14;1828:2;1824:23;1820:32;1817:45;1814:65;;;1875:1;1872;1865:12;1814:65;1906:2;1898:11;;;;;1928:6;;-1:-1:-1;1325:615:1;;-1:-1:-1;;;;1325:615:1:o;2847:339::-;3049:2;3031:21;;;3088:2;3068:18;;;3061:30;-1:-1:-1;;;3122:2:1;3107:18;;3100:45;3177:2;3162:18;;2847:339::o;3540:397::-;3742:2;3724:21;;;3781:2;3761:18;;;3754:30;3820:34;3815:2;3800:18;;3793:62;-1:-1:-1;;;3886:2:1;3871:18;;3864:31;3927:3;3912:19;;3540:397::o;3942:184::-;4012:6;4065:2;4053:9;4044:7;4040:23;4036:32;4033:52;;;4081:1;4078;4071:12;4033:52;-1:-1:-1;4104:16:1;;3942:184;-1:-1:-1;3942:184:1:o;4759:277::-;4826:6;4879:2;4867:9;4858:7;4854:23;4850:32;4847:52;;;4895:1;4892;4885:12;4847:52;4927:9;4921:16;4980:5;4973:13;4966:21;4959:5;4956:32;4946:60;;5002:1;4999;4992:12;5041:340;5243:2;5225:21;;;5282:2;5262:18;;;5255:30;-1:-1:-1;;;5316:2:1;5301:18;;5294:46;5372:2;5357:18;;5041:340::o;6077:127::-;6138:10;6133:3;6129:20;6126:1;6119:31;6169:4;6166:1;6159:15;6193:4;6190:1;6183:15;6209:128;6276:9;;;6297:11;;;6294:37;;;6311:18;;:::i;:::-;6209:128;;;;:::o;6342:125::-;6407:9;;;6428:10;;;6425:36;;;6441:18;;:::i;6812:348::-;7014:2;6996:21;;;7053:2;7033:18;;;7026:30;7092:26;7087:2;7072:18;;7065:54;7151:2;7136:18;;6812:348::o;7857:217::-;7897:1;7923;7913:132;;7967:10;7962:3;7958:20;7955:1;7948:31;8002:4;7999:1;7992:15;8030:4;8027:1;8020:15;7913:132;-1:-1:-1;8059:9:1;;7857:217::o;8079:168::-;8152:9;;;8183;;8200:15;;;8194:22;;8180:37;8170:71;;8221:18;;:::i;8252:127::-;8313:10;8308:3;8304:20;8301:1;8294:31;8344:4;8341:1;8334:15;8368:4;8365:1;8358:15;8384:135;8423:3;8444:17;;;8441:43;;8464:18;;:::i;:::-;-1:-1:-1;8511:1:1;8500:13;;8384:135::o
Swarm Source
ipfs://363c766132962ef4fe8e995672f1cd49647ef975d3a377ae4c7525bd2af51a1e
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.