Overview
ETH Balance
1 wei
Eth Value
Less Than $0.01 (@ $3,339.93/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 151 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 20094615 | 200 days ago | IN | 0 ETH | 0.00116491 | ||||
Approve | 19706722 | 254 days ago | IN | 0 ETH | 0.00014651 | ||||
Transfer | 16905576 | 648 days ago | IN | 0 ETH | 0.00451246 | ||||
Approve | 16738784 | 671 days ago | IN | 0 ETH | 0.00048131 | ||||
Approve | 16738783 | 671 days ago | IN | 0 ETH | 0.00048601 | ||||
Transfer | 16021093 | 771 days ago | IN | 0 ETH | 0.00224515 | ||||
Transfer | 16005265 | 774 days ago | IN | 0 ETH | 0.00328364 | ||||
Transfer | 15723776 | 813 days ago | IN | 0 ETH | 0.00501371 | ||||
Transfer | 15707808 | 815 days ago | IN | 0 ETH | 0.0055418 | ||||
Transfer | 15633730 | 826 days ago | IN | 0 ETH | 0.00468799 | ||||
Transfer | 15626991 | 826 days ago | IN | 0 ETH | 0.00313862 | ||||
Transfer | 15626469 | 827 days ago | IN | 0 ETH | 0.00478154 | ||||
Transfer | 15626277 | 827 days ago | IN | 0 ETH | 0.00451177 | ||||
Transfer | 15625238 | 827 days ago | IN | 0 ETH | 0.0040272 | ||||
Approve | 15604246 | 830 days ago | IN | 0 ETH | 0.00015273 | ||||
Transfer | 15234208 | 887 days ago | IN | 0 ETH | 0.00208625 | ||||
Transfer | 15153196 | 900 days ago | IN | 0 ETH | 0.00174533 | ||||
Transfer | 15103782 | 907 days ago | IN | 0 ETH | 0.0043646 | ||||
Transfer | 15103661 | 908 days ago | IN | 0 ETH | 0.00578323 | ||||
Approve | 14890332 | 944 days ago | IN | 0 ETH | 0.0021449 | ||||
Approve | 14856684 | 949 days ago | IN | 0 ETH | 0.00198755 | ||||
Approve | 14831686 | 953 days ago | IN | 0 ETH | 0.00065746 | ||||
Approve | 14743940 | 968 days ago | IN | 0 ETH | 0.00416042 | ||||
Approve | 14743858 | 968 days ago | IN | 0 ETH | 0.00470978 | ||||
Approve | 14688205 | 976 days ago | IN | 0 ETH | 0.00290262 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
14487552 | 1008 days ago | 0.01263671 ETH | ||||
14487552 | 1008 days ago | 0.01263671 ETH | ||||
14487552 | 1008 days ago | 0.02527343 ETH | ||||
14483989 | 1008 days ago | 0.0007466 ETH | ||||
14483989 | 1008 days ago | 0.0007466 ETH | ||||
14483989 | 1008 days ago | 0.00149321 ETH | ||||
14461439 | 1012 days ago | 0.00329516 ETH | ||||
14461439 | 1012 days ago | 0.00329516 ETH | ||||
14461439 | 1012 days ago | 0.00659033 ETH | ||||
14444813 | 1014 days ago | 0.04671729 ETH | ||||
14444813 | 1014 days ago | 0.04671729 ETH | ||||
14444813 | 1014 days ago | 0.09343458 ETH | ||||
14369362 | 1026 days ago | 0.11805724 ETH | ||||
14369362 | 1026 days ago | 0.11805724 ETH | ||||
14369362 | 1026 days ago | 0.23611449 ETH | ||||
14321077 | 1034 days ago | 0.01422858 ETH | ||||
14321077 | 1034 days ago | 0.01422858 ETH | ||||
14321077 | 1034 days ago | 0.02845716 ETH | ||||
14312648 | 1035 days ago | 0.40078634 ETH | ||||
14312648 | 1035 days ago | 0.40078634 ETH | ||||
14312648 | 1035 days ago | 0.80157269 ETH | ||||
14311818 | 1035 days ago | 0.04152586 ETH | ||||
14311818 | 1035 days ago | 0.04152586 ETH | ||||
14311818 | 1035 days ago | 0.08305173 ETH | ||||
14304450 | 1036 days ago | 0.01868135 ETH |
Loading...
Loading
Contract Name:
ScaryChainCapital
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-01-13 */ /** Scary-Chain Capital V2: $SCC Website: https://scarychain.capital Telegram: https://t.me/ScaryChainCapital Twitter: https://twitter.com/SChainCapital Medium: https://scarychaincapital.medium.com */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.6.12; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { /** * @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 `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount ) external returns (bool); /** * @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 ); } library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly { codehash := extcodehash(account) } return (codehash != accountHash && codehash != 0x0); } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ 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" ); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain`call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ 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" ); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ 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" ); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue( address target, bytes memory data, uint256 weiValue, string memory errorMessage ) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{value: weiValue}( data ); 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); } } } } contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() internal { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = 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" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } function geUnlockTime() public view returns (uint256) { return _lockTime; } //Locks the contract for owner for the amount of time provided function lock(uint256 time) public virtual onlyOwner { _previousOwner = _owner; _owner = address(0); _lockTime = now + time; emit OwnershipTransferred(_owner, address(0)); } //Unlocks the contract for owner when _lockTime is exceeds function unlock() public virtual { require( _previousOwner == msg.sender, "You don't have permission to unlock" ); require(now > _lockTime, "Contract is locked until 7 days"); emit OwnershipTransferred(_owner, _previousOwner); _owner = _previousOwner; } } interface IUniswapV2Factory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function removeLiquidity( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETH( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountToken, uint256 amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountA, uint256 amountB); function removeLiquidityETHWithPermit( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountToken, uint256 amountETH); function swapExactTokensForTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapTokensForExactTokens( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactETHForTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function swapTokensForExactETH( uint256 amountOut, uint256 amountInMax, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapExactTokensForETH( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external returns (uint256[] memory amounts); function swapETHForExactTokens( uint256 amountOut, address[] calldata path, address to, uint256 deadline ) external payable returns (uint256[] memory amounts); function quote( uint256 amountA, uint256 reserveA, uint256 reserveB ) external pure returns (uint256 amountB); function getAmountOut( uint256 amountIn, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountOut); function getAmountIn( uint256 amountOut, uint256 reserveIn, uint256 reserveOut ) external pure returns (uint256 amountIn); function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts); function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts); } interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external returns (uint256 amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint256 amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } // Contract implementation contract ScaryChainCapital is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping(address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private _tTotal = 2000000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; string private _name = "ScaryChainCapital V2"; string private _symbol = "SCC"; uint8 private _decimals = 9; uint256 private _taxFee = 5; uint256 private _teamFee = 5; uint256 private _previousTaxFee = _taxFee; uint256 private _previousTeamFee = _teamFee; address payable public _SCCWalletAddress; address payable public _marketingWalletAddress; uint256 private _SCCPercent = 50; uint256 private _marketingPercent = 50; IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; mapping (address => bool) public automatedMarketMakerPairs; bool inSwap = false; bool public swapEnabled = true; uint256 private _maxTxAmount = 100000000000000e9; // We will set a minimum amount of tokens to be swaped => 5M uint256 private _numOfTokensToExchangeForTeam = 5 * 10**3 * 10**9; event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap); event SwapEnabledUpdated(bool enabled); modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor( address payable SCCWalletAddress, address payable marketingWalletAddress ) public { _SCCWalletAddress = SCCWalletAddress; _marketingWalletAddress = marketingWalletAddress; _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); // Create a uniswap pair for this new token uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); // set the rest of the contract variables uniswapV2Router = _uniswapV2Router; _setAutomatedMarketMakerPair(uniswapV2Pair, true); // Exclude owner and this contract from fee _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function taxFee() public view returns (uint256) { return _taxFee; } function teamFee() public view returns (uint256) { return _teamFee; } function decimals() public view returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[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 setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner { require(pair != uniswapV2Pair, "The actual pair cannot be removed from automatedMarketMakerPairs"); _setAutomatedMarketMakerPair(pair, value); } function _setAutomatedMarketMakerPair(address pair, bool value) private { automatedMarketMakerPairs[pair] = value; if(value){excludeAccount(pair);} if(!value){includeAccount(pair);} } 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 isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function setExcludeFromFee(address account, bool excluded) external onlyOwner { _isExcludedFromFee[account] = excluded; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function deliver(uint256 tAmount) public { address sender = _msgSender(); require( !_isExcluded[sender], "Excluded addresses cannot call this function" ); (uint256 rAmount, , , , , ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotal = _rTotal.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns (uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount, , , , , ) = _getValues(tAmount); return rAmount; } else { (, uint256 rTransferAmount, , , , ) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) public onlyOwner { require( account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, "We can not exclude Uniswap router." ); require(!_isExcluded[account], "Account is already excluded"); if (_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) public onlyOwner { require(_isExcluded[account], "Account is already excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function removeAllFee() private { if (_taxFee == 0 && _teamFee == 0) return; _previousTaxFee = _taxFee; _previousTeamFee = _teamFee; _taxFee = 0; _teamFee = 0; } function restoreAllFee() private { _taxFee = _previousTaxFee; _teamFee = _previousTeamFee; } function isExcludedFromFee(address account) public view returns (bool) { return _isExcludedFromFee[account]; } 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"); if (sender != owner() && recipient != owner()) require( amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount." ); // is the token balance of this contract address over the min number of // tokens that we need to initiate a swap? // also, don't get caught in a circular team event. // also, don't swap if sender is uniswap pair. uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } bool overMinTokenBalance = contractTokenBalance >= _numOfTokensToExchangeForTeam; if ( !inSwap && swapEnabled && overMinTokenBalance && automatedMarketMakerPairs[recipient] ) { // We need to swap the current tokens to ETH and send to the team wallet swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToTeam(address(this).balance); } } //indicates if fee should be deducted from transfer bool takeFee = true; //if any account belongs to _isExcludedFromFee account then remove the fee if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) { takeFee = false; } if(!automatedMarketMakerPairs[sender] && !automatedMarketMakerPairs[recipient]) { takeFee = false; } //transfer amount, it will take tax and team fee _tokenTransfer(sender, recipient, amount, takeFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { // generate the uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); // make the swap uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, address(this), block.timestamp ); } function sendETHToTeam(uint256 amount) private { _SCCWalletAddress.transfer(amount.mul(_SCCPercent).div(100)); _marketingWalletAddress.transfer(amount.mul(_marketingPercent).div(100)); } // We are exposing these functions to be able to manual swap and send // in case the token is highly valued and 5M becomes too much function manualSwap() external onlyOwner { uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external onlyOwner { uint256 contractETHBalance = address(this).balance; sendETHToTeam(contractETHBalance); } function setSwapEnabled(bool enabled) external onlyOwner { swapEnabled = enabled; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else if (_isExcluded[sender] && _isExcluded[recipient]) { _transferBothExcluded(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } if (!takeFee) restoreAllFee(); } function _transferStandard( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded( address sender, address recipient, uint256 tAmount ) private { ( uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam ) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); if (_isExcluded[address(this)]) _tOwned[address(this)] = _tOwned[address(this)].add(tTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } //to recieve ETH from uniswapV2Router when swaping receive() external payable {} function _getValues(uint256 tAmount) private view returns ( uint256, uint256, uint256, uint256, uint256, uint256 ) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues( tAmount, _taxFee, _teamFee ); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues( tAmount, tFee, tTeam, currentRate ); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues( uint256 tAmount, uint256 taxFee, uint256 teamFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(teamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues( uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate ) private pure returns ( uint256, uint256, uint256 ) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; for (uint256 i = 0; i < _excluded.length; i++) { if ( _rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply ) return (_rTotal, _tTotal); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getTaxFee() private view returns (uint256) { return _taxFee; } function _getMaxTxAmount() private view returns (uint256) { return _maxTxAmount; } function _getETHBalance() public view returns (uint256 balance) { return address(this).balance; } function changeRouterVersion(address _router) external onlyOwner returns (address _pair) { IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router); _pair = IUniswapV2Factory(_uniswapV2Router.factory()).getPair( address(this), _uniswapV2Router.WETH() ); if (_pair == address(0)) { // Pair doesn't exist _pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair( address(this), _uniswapV2Router.WETH() ); } uniswapV2Pair = _pair; // Set the router of the contract variables uniswapV2Router = _uniswapV2Router; } function _setTaxFee(uint256 taxFee) external onlyOwner { require(taxFee <= 25, "taxFee should be in 0 - 25"); _taxFee = taxFee; } function _setTeamFee(uint256 teamFee) external onlyOwner { require(teamFee <= 25, "teamFee should be in 0 - 25"); _teamFee = teamFee; } function _setFees(uint256 taxFee, uint256 teamFee) external onlyOwner { require(teamFee <= 25, "teamFee should be in 0 - 25"); require(taxFee <= 25, "taxFee should be in 0 - 25"); _taxFee = taxFee; _teamFee = teamFee; } function _setTeamPercent(uint256 SCCPercent, uint256 marketingPercent) external onlyOwner { require(SCCPercent + marketingPercent == 100, "Sum must be 100"); _SCCPercent = SCCPercent; _marketingPercent = marketingPercent; } function _setSCCWallet(address payable SCCWalletAddress) external onlyOwner { _SCCWalletAddress = SCCWalletAddress; } function _setMarketingWallet(address payable marketingWalletAddress) external onlyOwner { _marketingWalletAddress = marketingWalletAddress; } function _setNumOfTokensToExchangeForTeam(uint256 numOfTokensToExchangeForTeam) external onlyOwner { require(numOfTokensToExchangeForTeam > 5 * 10**3 * 10**9); _numOfTokensToExchangeForTeam = numOfTokensToExchangeForTeam; } function _setMaxTxAmount(uint256 maxTxAmount) external onlyOwner { _maxTxAmount = maxTxAmount; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"SCCWalletAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","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":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapEnabledUpdated","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":[],"name":"_SCCWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_getETHBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"},{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"_setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"name":"_setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"_setMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"numOfTokensToExchangeForTeam","type":"uint256"}],"name":"_setNumOfTokensToExchangeForTeam","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"SCCWalletAddress","type":"address"}],"name":"_setSCCWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"_setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"teamFee","type":"uint256"}],"name":"_setTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"SCCPercent","type":"uint256"},{"internalType":"uint256","name":"marketingPercent","type":"uint256"}],"name":"_setTeamPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_router","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"_pair","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","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":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"geUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","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":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","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":"totalSupply","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
686c6b935b8bbd400000600955684f040aa496003fffff19600a5560c0604052601460808190527f5363617279436861696e4361706974616c20563200000000000000000000000060a09081526200005b91600c919062000c29565b506040805180820190915260038082526253434360e81b60209092019182526200008891600d9162000c29565b50600e805460ff191660091790556005600f8190556010819055601181905560125560326015819055601655601a805461ffff191661010017905569152d02c7e14af6800000601b5565048c27395000601c55348015620000e857600080fd5b506040516200417338038062004173833981810160405260408110156200010e57600080fd5b5080516020909101516000620001236200043a565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601380546001600160a01b038085166001600160a01b0319928316179092556014805492841692909116919091179055600a5460036000620001ae6200043a565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022557600080fd5b505afa1580156200023a573d6000803e3d6000fd5b505050506040513d60208110156200025157600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b158015620002a257600080fd5b505afa158015620002b7573d6000803e3d6000fd5b505050506040513d6020811015620002ce57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b1580156200032157600080fd5b505af115801562000336573d6000803e3d6000fd5b505050506040513d60208110156200034d57600080fd5b5051601880546001600160a01b03199081166001600160a01b039384161791829055601780549091168484161790556200038a911660016200043e565b6001600660006200039a6200048c565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff199586161790553081526006909252902080549091166001179055620003e46200043a565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040518082815260200191505060405180910390a350505062000cc5565b3390565b6001600160a01b0382166000908152601960205260409020805460ff19168215801591909117909155620004775762000477826200049b565b806200048857620004888262000687565b5050565b6000546001600160a01b031690565b620004a56200043a565b6000546001600160a01b03908116911614620004f7576040805162461bcd60e51b8152602060048201819052602482015260008051602062004131833981519152604482015290519081900360640190fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415620005555760405162461bcd60e51b8152600401808060200182810382526022815260200180620041516022913960400191505060405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff1615620005c4576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b0381166000908152600360205260409020541562000621576001600160a01b038116600090815260036020526040902054620006079062000851565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b620006916200043a565b6000546001600160a01b03908116911614620006e3576040805162461bcd60e51b8152602060048201819052602482015260008051602062004131833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff1662000751576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b6008548110156200048857816001600160a01b0316600882815481106200077757fe5b6000918252602090912001546001600160a01b031614156200084857600880546000198101908110620007a657fe5b600091825260209091200154600880546001600160a01b039092169183908110620007cd57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff1916905560088054806200082057fe5b600082815260209020810160001990810180546001600160a01b031916905501905562000488565b60010162000754565b6000600a54821115620008965760405162461bcd60e51b815260040180806020018281038252602a81526020018062004107602a913960400191505060405180910390fd5b6000620008a2620008c5565b9050620008be8184620008f860201b620021a81790919060201c565b9392505050565b60008080620008d362000942565b91509150620008f18183620008f860201b620021a81790919060201c565b9250505090565b6000620008be83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000adb60201b60201c565b600a546009546000918291825b60085481101562000a98578260036000600884815481106200096d57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180620009d45750816004600060088481548110620009ad57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15620009ed57600a546009549450945050505062000ad7565b62000a3c600360006008848154811062000a0357fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548591620021f162000b82821b17901c565b925062000a8d600460006008848154811062000a5457fe5b60009182526020808320909101546001600160a01b031683528281019390935260409091019020548491620021f162000b82821b17901c565b91506001016200094f565b5062000ab7600954600a54620008f860201b620021a81790919060201c565b82101562000ad157600a5460095493509350505062000ad7565b90925090505b9091565b6000818362000b6b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000b2f57818101518382015260200162000b15565b50505050905090810190601f16801562000b5d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858162000b7857fe5b0495945050505050565b6000620008be83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525062000bcc60201b60201c565b6000818484111562000c215760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562000b2f57818101518382015260200162000b15565b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000c6c57805160ff191683800117855562000c9c565b8280016001018555821562000c9c579182015b8281111562000c9c57825182559160200191906001019062000c7f565b5062000caa92915062000cae565b5090565b5b8082111562000caa576000815560010162000caf565b6134328062000cd56000396000f3fe6080604052600436106102975760003560e01c80636ddd17131161015a578063b62496f5116100c1578063e01af92c1161007a578063e01af92c146109cc578063f2cc0c18146109f8578063f2fde38b14610a2b578063f429389014610a5e578063f815a84214610a73578063f84354f114610a885761029e565b8063b62496f5146108d7578063b6c523241461090a578063cba0e9961461091f578063d7c94efd14610952578063dd46706414610967578063dd62ed3e146109915761029e565b8063a042324111610113578063a0423241146107d6578063a071dcf414610800578063a457c2d714610815578063a69df4b51461084e578063a9059cbb14610863578063af9549e01461089c5761029e565b80636ddd17131461071457806370a0823114610729578063715018a61461075c5780638da5cb5b1461077157806395d89b41146107865780639a7a23d61461079b5761029e565b8063313ce567116101fe5780634549b039116101b75780634549b0391461062857806349bd5a5e1461065a57806351bc3c851461066f5780635342acb4146106845780635880b873146106b75780635881f3ef146106e15761029e565b8063313ce5671461053d57806338a86e0914610568578063395093511461057d5780633aa2e181146105b65780633bd5d173146105e95780634144d9e4146106135761029e565b80631bbae6e0116102505780631bbae6e0146104195780631ff53b601461044357806323b872dd1461047657806328667162146104b95780632d838119146104e3578063305e85ba1461050d5761029e565b806306fdde03146102a3578063095ea7b31461032d57806313114a9d1461037a578063153760bc146103a15780631694505e146103d357806318160ddd146104045761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610abb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f25781810151838201526020016102da565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033957600080fd5b506103666004803603604081101561035057600080fd5b506001600160a01b038135169060200135610b51565b604080519115158252519081900360200190f35b34801561038657600080fd5b5061038f610b6f565b60408051918252519081900360200190f35b3480156103ad57600080fd5b506103d1600480360360408110156103c457600080fd5b5080359060200135610b75565b005b3480156103df57600080fd5b506103e8610c21565b604080516001600160a01b039092168252519081900360200190f35b34801561041057600080fd5b5061038f610c30565b34801561042557600080fd5b506103d16004803603602081101561043c57600080fd5b5035610c36565b34801561044f57600080fd5b506103d16004803603602081101561046657600080fd5b50356001600160a01b0316610c93565b34801561048257600080fd5b506103666004803603606081101561049957600080fd5b506001600160a01b03813581169160208101359091169060400135610d0d565b3480156104c557600080fd5b506103d1600480360360208110156104dc57600080fd5b5035610d94565b3480156104ef57600080fd5b5061038f6004803603602081101561050657600080fd5b5035610e47565b34801561051957600080fd5b506103d16004803603604081101561053057600080fd5b5080359060200135610ea9565b34801561054957600080fd5b50610552610fb8565b6040805160ff9092168252519081900360200190f35b34801561057457600080fd5b506103e8610fc1565b34801561058957600080fd5b50610366600480360360408110156105a057600080fd5b506001600160a01b038135169060200135610fd0565b3480156105c257600080fd5b506103d1600480360360208110156105d957600080fd5b50356001600160a01b031661101e565b3480156105f557600080fd5b506103d16004803603602081101561060c57600080fd5b5035611098565b34801561061f57600080fd5b506103e8611172565b34801561063457600080fd5b5061038f6004803603604081101561064b57600080fd5b50803590602001351515611181565b34801561066657600080fd5b506103e8611213565b34801561067b57600080fd5b506103d1611222565b34801561069057600080fd5b50610366600480360360208110156106a757600080fd5b50356001600160a01b0316611293565b3480156106c357600080fd5b506103d1600480360360208110156106da57600080fd5b50356112b1565b3480156106ed57600080fd5b506103e86004803603602081101561070457600080fd5b50356001600160a01b0316611364565b34801561072057600080fd5b506103666116be565b34801561073557600080fd5b5061038f6004803603602081101561074c57600080fd5b50356001600160a01b03166116cc565b34801561076857600080fd5b506103d161172e565b34801561077d57600080fd5b506103e86117be565b34801561079257600080fd5b506102b86117cd565b3480156107a757600080fd5b506103d1600480360360408110156107be57600080fd5b506001600160a01b038135169060200135151561182e565b3480156107e257600080fd5b506103d1600480360360208110156107f957600080fd5b50356118e1565b34801561080c57600080fd5b5061038f611950565b34801561082157600080fd5b506103666004803603604081101561083857600080fd5b506001600160a01b038135169060200135611956565b34801561085a57600080fd5b506103d16119be565b34801561086f57600080fd5b506103666004803603604081101561088657600080fd5b506001600160a01b038135169060200135611aac565b3480156108a857600080fd5b506103d1600480360360408110156108bf57600080fd5b506001600160a01b0381351690602001351515611ac0565b3480156108e357600080fd5b50610366600480360360208110156108fa57600080fd5b50356001600160a01b0316611b43565b34801561091657600080fd5b5061038f611b58565b34801561092b57600080fd5b506103666004803603602081101561094257600080fd5b50356001600160a01b0316611b5e565b34801561095e57600080fd5b5061038f611b7c565b34801561097357600080fd5b506103d16004803603602081101561098a57600080fd5b5035611b82565b34801561099d57600080fd5b5061038f600480360360408110156109b457600080fd5b506001600160a01b0381358116916020013516611c20565b3480156109d857600080fd5b506103d1600480360360208110156109ef57600080fd5b50351515611c4b565b348015610a0457600080fd5b506103d160048036036020811015610a1b57600080fd5b50356001600160a01b0316611cbd565b348015610a3757600080fd5b506103d160048036036020811015610a4e57600080fd5b50356001600160a01b0316611e9f565b348015610a6a57600080fd5b506103d1611f85565b348015610a7f57600080fd5b5061038f611fe7565b348015610a9457600080fd5b506103d160048036036020811015610aab57600080fd5b50356001600160a01b0316611feb565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b475780601f10610b1c57610100808354040283529160200191610b47565b820191906000526020600020905b815481529060010190602001808311610b2a57829003601f168201915b5050505050905090565b6000610b65610b5e612233565b8484612237565b5060015b92915050565b600b5490565b610b7d612233565b6000546001600160a01b03908116911614610bcd576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b808201606414610c16576040805162461bcd60e51b815260206004820152600f60248201526e053756d206d7573742062652031303608c1b604482015290519081900360640190fd5b601591909155601655565b6017546001600160a01b031681565b60095490565b610c3e612233565b6000546001600160a01b03908116911614610c8e576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601b55565b610c9b612233565b6000546001600160a01b03908116911614610ceb576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610d1a848484612323565b610d8a84610d26612233565b610d858560405180606001604052806028815260200161328d602891396001600160a01b038a16600090815260056020526040812090610d64612233565b6001600160a01b0316815260208101919091526040016000205491906125a8565b612237565b5060019392505050565b610d9c612233565b6000546001600160a01b03908116911614610dec576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6019811115610e42576040805162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2030202d2032350000000000604482015290519081900360640190fd5b601055565b6000600a54821115610e8a5760405162461bcd60e51b815260040180806020018281038252602a815260200180613192602a913960400191505060405180910390fd5b6000610e9461263f565b9050610ea083826121a8565b9150505b919050565b610eb1612233565b6000546001600160a01b03908116911614610f01576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6019811115610f57576040805162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2030202d2032350000000000604482015290519081900360640190fd5b6019821115610fad576040805162461bcd60e51b815260206004820152601a60248201527f7461784665652073686f756c6420626520696e2030202d203235000000000000604482015290519081900360640190fd5b600f91909155601055565b600e5460ff1690565b6013546001600160a01b031681565b6000610b65610fdd612233565b84610d858560056000610fee612233565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612662565b611026612233565b6000546001600160a01b03908116911614611076576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b60006110a2612233565b6001600160a01b03811660009081526007602052604090205490915060ff16156110fd5760405162461bcd60e51b815260040180806020018281038252602c815260200180613389602c913960400191505060405180910390fd5b6000611108836126bc565b505050506001600160a01b038416600090815260036020526040902054919250611134919050826121f1565b6001600160a01b038316600090815260036020526040902055600a5461115a90826121f1565b600a55600b5461116a9084612662565b600b55505050565b6014546001600160a01b031681565b60006009548311156111da576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816111f95760006111ea846126bc565b50939550610b69945050505050565b6000611204846126bc565b50929550610b69945050505050565b6018546001600160a01b031681565b61122a612233565b6000546001600160a01b0390811691161461127a576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6000611285306116cc565b905061129081612719565b50565b6001600160a01b031660009081526006602052604090205460ff1690565b6112b9612233565b6000546001600160a01b03908116911614611309576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601981111561135f576040805162461bcd60e51b815260206004820152601a60248201527f7461784665652073686f756c6420626520696e2030202d203235000000000000604482015290519081900360640190fd5b600f55565b600061136e612233565b6000546001600160a01b039081169116146113be576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156113fc57600080fd5b505afa158015611410573d6000803e3d6000fd5b505050506040513d602081101561142657600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263e6a439059230929186169163ad5c464891600480820192602092909190829003018186803b15801561147657600080fd5b505afa15801561148a573d6000803e3d6000fd5b505050506040513d60208110156114a057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152516044808301926020929190829003018186803b1580156114f057600080fd5b505afa158015611504573d6000803e3d6000fd5b505050506040513d602081101561151a57600080fd5b505191506001600160a01b03821661168a57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561156557600080fd5b505afa158015611579573d6000803e3d6000fd5b505050506040513d602081101561158f57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b1580156115df57600080fd5b505afa1580156115f3573d6000803e3d6000fd5b505050506040513d602081101561160957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b15801561165b57600080fd5b505af115801561166f573d6000803e3d6000fd5b505050506040513d602081101561168557600080fd5b505191505b601880546001600160a01b038085166001600160a01b03199283161790925560178054939092169216919091179055919050565b601a54610100900460ff1681565b6001600160a01b03811660009081526007602052604081205460ff161561170c57506001600160a01b038116600090815260046020526040902054610ea4565b6001600160a01b038216600090815260036020526040902054610b6990610e47565b611736612233565b6000546001600160a01b03908116911614611786576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116906000805160206132d5833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b475780601f10610b1c57610100808354040283529160200191610b47565b611836612233565b6000546001600160a01b03908116911614611886576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6018546001600160a01b03838116911614156118d35760405162461bcd60e51b81526004018080602001828103825260408152602001806132046040913960400191505060405180910390fd5b6118dd82826128de565b5050565b6118e9612233565b6000546001600160a01b03908116911614611939576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b65048c27395000811161194b57600080fd5b601c55565b600f5490565b6000610b65611963612233565b84610d85856040518060600160405280602581526020016133d8602591396005600061198d612233565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906125a8565b6001546001600160a01b03163314611a075760405162461bcd60e51b81526004018080602001828103825260238152602001806133b56023913960400191505060405180910390fd5b6002544211611a5d576040805162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116916000805160206132d583398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610b65611ab9612233565b8484612323565b611ac8612233565b6000546001600160a01b03908116911614611b18576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60196020526000908152604090205460ff1681565b60025490565b6001600160a01b031660009081526007602052604090205460ff1690565b60105490565b611b8a612233565b6000546001600160a01b03908116911614611bda576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b60008054600180546001600160a01b03199081166001600160a01b0384161790915516815542820160025560405181906000805160206132d5833981519152908290a350565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b611c53612233565b6000546001600160a01b03908116911614611ca3576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601a80549115156101000261ff0019909216919091179055565b611cc5612233565b6000546001600160a01b03908116911614611d15576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415611d715760405162461bcd60e51b81526004018080602001828103825260228152602001806133676022913960400191505060405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff1615611ddf576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205415611e39576001600160a01b038116600090815260036020526040902054611e1f90610e47565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b611ea7612233565b6000546001600160a01b03908116911614611ef7576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6001600160a01b038116611f3c5760405162461bcd60e51b81526004018080602001828103825260268152602001806131bc6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216916000805160206132d583398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b611f8d612233565b6000546001600160a01b03908116911614611fdd576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b4761129081612922565b4790565b611ff3612233565b6000546001600160a01b03908116911614612043576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff166120b0576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b6008548110156118dd57816001600160a01b0316600882815481106120d457fe5b6000918252602090912001546001600160a01b031614156121a05760088054600019810190811061210157fe5b600091825260209091200154600880546001600160a01b03909216918390811061212757fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600880548061217957fe5b600082815260209020810160001990810180546001600160a01b03191690550190556118dd565b6001016120b3565b60006121ea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c9565b9392505050565b60006121ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125a8565b3390565b6001600160a01b03831661227c5760405162461bcd60e51b81526004018080602001828103825260248152602001806133436024913960400191505060405180910390fd5b6001600160a01b0382166122c15760405162461bcd60e51b81526004018080602001828103825260228152602001806131e26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166123685760405162461bcd60e51b815260040180806020018281038252602581526020018061331e6025913960400191505060405180910390fd5b6001600160a01b0382166123ad5760405162461bcd60e51b815260040180806020018281038252602381526020018061316f6023913960400191505060405180910390fd5b600081116123ec5760405162461bcd60e51b81526004018080602001828103825260298152602001806132f56029913960400191505060405180910390fd5b6123f46117be565b6001600160a01b0316836001600160a01b03161415801561242e57506124186117be565b6001600160a01b0316826001600160a01b031614155b1561247457601b548111156124745760405162461bcd60e51b81526004018080602001828103825260288152602001806132446028913960400191505060405180910390fd5b600061247f306116cc565b9050601b54811061248f5750601b545b601c54601a54908210159060ff161580156124b15750601a54610100900460ff165b80156124ba5750805b80156124de57506001600160a01b03841660009081526019602052604090205460ff165b156124fe576124ec82612719565b4780156124fc576124fc47612922565b505b6001600160a01b03851660009081526006602052604090205460019060ff168061254057506001600160a01b03851660009081526006602052604090205460ff165b15612549575060005b6001600160a01b03861660009081526019602052604090205460ff1615801561258b57506001600160a01b03851660009081526019602052604090205460ff16155b15612594575060005b6125a086868684612a2e565b505050505050565b600081848411156126375760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125fc5781810151838201526020016125e4565b50505050905090810190601f1680156126295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061264c612ba2565b909250905061265b82826121a8565b9250505090565b6000828201838110156121ea576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008060008060008060008060006126d98a600f54601054612d05565b92509250925060006126e961263f565b905060008060006126fc8e878787612d54565b919e509c509a509598509396509194505050505091939550919395565b601a805460ff191660011790556040805160028082526060808301845292602083019080368337019050509050308160008151811061275457fe5b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156127a857600080fd5b505afa1580156127bc573d6000803e3d6000fd5b505050506040513d60208110156127d257600080fd5b50518151829060019081106127e357fe5b6001600160a01b0392831660209182029290920101526017546128099130911684612237565b60175460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561288f578181015183820152602001612877565b505050509050019650505050505050600060405180830381600087803b1580156128b857600080fd5b505af11580156128cc573d6000803e3d6000fd5b5050601a805460ff1916905550505050565b6001600160a01b0382166000908152601960205260409020805460ff191682158015919091179091556129145761291482611cbd565b806118dd576118dd82611feb565b6013546015546001600160a01b03909116906108fc906129509060649061294a908690612da4565b906121a8565b6040518115909202916000818181858888f19350505050158015612978573d6000803e3d6000fd5b506014546016546001600160a01b03909116906108fc906129a19060649061294a908690612da4565b6040518115909202916000818181858888f193505050501580156118dd573d6000803e3d6000fd5b60008183612a185760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156125fc5781810151838201526020016125e4565b506000838581612a2457fe5b0495945050505050565b80612a3b57612a3b612dfd565b6001600160a01b03841660009081526007602052604090205460ff168015612a7c57506001600160a01b03831660009081526007602052604090205460ff16155b15612a9157612a8c848484612e2f565b612b8f565b6001600160a01b03841660009081526007602052604090205460ff16158015612ad257506001600160a01b03831660009081526007602052604090205460ff165b15612ae257612a8c848484612f53565b6001600160a01b03841660009081526007602052604090205460ff16158015612b2457506001600160a01b03831660009081526007602052604090205460ff16155b15612b3457612a8c848484612ffc565b6001600160a01b03841660009081526007602052604090205460ff168015612b7457506001600160a01b03831660009081526007602052604090205460ff165b15612b8457612a8c848484613040565b612b8f848484612ffc565b80612b9c57612b9c6130b3565b50505050565b600a546009546000918291825b600854811015612cd357826003600060088481548110612bcb57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612c305750816004600060088481548110612c0957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15612c4757600a5460095494509450505050612d01565b612c876003600060088481548110612c5b57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906121f1565b9250612cc96004600060088481548110612c9d57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906121f1565b9150600101612baf565b50600954600a54612ce3916121a8565b821015612cfb57600a54600954935093505050612d01565b90925090505b9091565b6000808080612d19606461294a8989612da4565b90506000612d2c606461294a8a89612da4565b90506000612d4482612d3e8b866121f1565b906121f1565b9992985090965090945050505050565b6000808080612d638886612da4565b90506000612d718887612da4565b90506000612d7f8888612da4565b90506000612d9182612d3e86866121f1565b939b939a50919850919650505050505050565b600082612db357506000610b69565b82820282848281612dc057fe5b04146121ea5760405162461bcd60e51b815260040180806020018281038252602181526020018061326c6021913960400191505060405180910390fd5b600f54158015612e0d5750601054155b15612e1757612e2d565b600f805460115560108054601255600091829055555b565b600080600080600080612e41876126bc565b6001600160a01b038f16600090815260046020526040902054959b50939950919750955093509150612e7390886121f1565b6001600160a01b038a16600090815260046020908152604080832093909355600390522054612ea290876121f1565b6001600160a01b03808b1660009081526003602052604080822093909355908a1681522054612ed19086612662565b6001600160a01b038916600090815260036020526040902055612ef3816130c1565b612efd848361314a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080612f65876126bc565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150612f9790876121f1565b6001600160a01b03808b16600090815260036020908152604080832094909455918b16815260049091522054612fcd9084612662565b6001600160a01b038916600090815260046020908152604080832093909355600390522054612ed19086612662565b60008060008060008061300e876126bc565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150612ea290876121f1565b600080600080600080613052876126bc565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915061308490886121f1565b6001600160a01b038a16600090815260046020908152604080832093909355600390522054612f9790876121f1565b601154600f55601254601055565b60006130cb61263f565b905060006130d98383612da4565b306000908152600360205260409020549091506130f69082612662565b3060009081526003602090815260408083209390935560079052205460ff161561314557306000908152600460205260409020546131349084612662565b306000908152600460205260409020555b505050565b600a5461315790836121f1565b600a55600b546131679082612662565b600b55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735468652061637475616c20706169722063616e6e6f742062652072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b657250616972735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357652063616e206e6f74206578636c75646520556e697377617020726f757465722e4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220078a882b3e2564d51ca55caf7418efb4e955204eb356c10e6529ba6a09cf3fb064736f6c634300060c0033416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657257652063616e206e6f74206578636c75646520556e697377617020726f757465722e000000000000000000000000287f0e1826d88d0d212ff4a0ede781186da575a2000000000000000000000000b891202b6cba6269f995a0bd337f03f9208efd35
Deployed Bytecode
0x6080604052600436106102975760003560e01c80636ddd17131161015a578063b62496f5116100c1578063e01af92c1161007a578063e01af92c146109cc578063f2cc0c18146109f8578063f2fde38b14610a2b578063f429389014610a5e578063f815a84214610a73578063f84354f114610a885761029e565b8063b62496f5146108d7578063b6c523241461090a578063cba0e9961461091f578063d7c94efd14610952578063dd46706414610967578063dd62ed3e146109915761029e565b8063a042324111610113578063a0423241146107d6578063a071dcf414610800578063a457c2d714610815578063a69df4b51461084e578063a9059cbb14610863578063af9549e01461089c5761029e565b80636ddd17131461071457806370a0823114610729578063715018a61461075c5780638da5cb5b1461077157806395d89b41146107865780639a7a23d61461079b5761029e565b8063313ce567116101fe5780634549b039116101b75780634549b0391461062857806349bd5a5e1461065a57806351bc3c851461066f5780635342acb4146106845780635880b873146106b75780635881f3ef146106e15761029e565b8063313ce5671461053d57806338a86e0914610568578063395093511461057d5780633aa2e181146105b65780633bd5d173146105e95780634144d9e4146106135761029e565b80631bbae6e0116102505780631bbae6e0146104195780631ff53b601461044357806323b872dd1461047657806328667162146104b95780632d838119146104e3578063305e85ba1461050d5761029e565b806306fdde03146102a3578063095ea7b31461032d57806313114a9d1461037a578063153760bc146103a15780631694505e146103d357806318160ddd146104045761029e565b3661029e57005b600080fd5b3480156102af57600080fd5b506102b8610abb565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f25781810151838201526020016102da565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033957600080fd5b506103666004803603604081101561035057600080fd5b506001600160a01b038135169060200135610b51565b604080519115158252519081900360200190f35b34801561038657600080fd5b5061038f610b6f565b60408051918252519081900360200190f35b3480156103ad57600080fd5b506103d1600480360360408110156103c457600080fd5b5080359060200135610b75565b005b3480156103df57600080fd5b506103e8610c21565b604080516001600160a01b039092168252519081900360200190f35b34801561041057600080fd5b5061038f610c30565b34801561042557600080fd5b506103d16004803603602081101561043c57600080fd5b5035610c36565b34801561044f57600080fd5b506103d16004803603602081101561046657600080fd5b50356001600160a01b0316610c93565b34801561048257600080fd5b506103666004803603606081101561049957600080fd5b506001600160a01b03813581169160208101359091169060400135610d0d565b3480156104c557600080fd5b506103d1600480360360208110156104dc57600080fd5b5035610d94565b3480156104ef57600080fd5b5061038f6004803603602081101561050657600080fd5b5035610e47565b34801561051957600080fd5b506103d16004803603604081101561053057600080fd5b5080359060200135610ea9565b34801561054957600080fd5b50610552610fb8565b6040805160ff9092168252519081900360200190f35b34801561057457600080fd5b506103e8610fc1565b34801561058957600080fd5b50610366600480360360408110156105a057600080fd5b506001600160a01b038135169060200135610fd0565b3480156105c257600080fd5b506103d1600480360360208110156105d957600080fd5b50356001600160a01b031661101e565b3480156105f557600080fd5b506103d16004803603602081101561060c57600080fd5b5035611098565b34801561061f57600080fd5b506103e8611172565b34801561063457600080fd5b5061038f6004803603604081101561064b57600080fd5b50803590602001351515611181565b34801561066657600080fd5b506103e8611213565b34801561067b57600080fd5b506103d1611222565b34801561069057600080fd5b50610366600480360360208110156106a757600080fd5b50356001600160a01b0316611293565b3480156106c357600080fd5b506103d1600480360360208110156106da57600080fd5b50356112b1565b3480156106ed57600080fd5b506103e86004803603602081101561070457600080fd5b50356001600160a01b0316611364565b34801561072057600080fd5b506103666116be565b34801561073557600080fd5b5061038f6004803603602081101561074c57600080fd5b50356001600160a01b03166116cc565b34801561076857600080fd5b506103d161172e565b34801561077d57600080fd5b506103e86117be565b34801561079257600080fd5b506102b86117cd565b3480156107a757600080fd5b506103d1600480360360408110156107be57600080fd5b506001600160a01b038135169060200135151561182e565b3480156107e257600080fd5b506103d1600480360360208110156107f957600080fd5b50356118e1565b34801561080c57600080fd5b5061038f611950565b34801561082157600080fd5b506103666004803603604081101561083857600080fd5b506001600160a01b038135169060200135611956565b34801561085a57600080fd5b506103d16119be565b34801561086f57600080fd5b506103666004803603604081101561088657600080fd5b506001600160a01b038135169060200135611aac565b3480156108a857600080fd5b506103d1600480360360408110156108bf57600080fd5b506001600160a01b0381351690602001351515611ac0565b3480156108e357600080fd5b50610366600480360360208110156108fa57600080fd5b50356001600160a01b0316611b43565b34801561091657600080fd5b5061038f611b58565b34801561092b57600080fd5b506103666004803603602081101561094257600080fd5b50356001600160a01b0316611b5e565b34801561095e57600080fd5b5061038f611b7c565b34801561097357600080fd5b506103d16004803603602081101561098a57600080fd5b5035611b82565b34801561099d57600080fd5b5061038f600480360360408110156109b457600080fd5b506001600160a01b0381358116916020013516611c20565b3480156109d857600080fd5b506103d1600480360360208110156109ef57600080fd5b50351515611c4b565b348015610a0457600080fd5b506103d160048036036020811015610a1b57600080fd5b50356001600160a01b0316611cbd565b348015610a3757600080fd5b506103d160048036036020811015610a4e57600080fd5b50356001600160a01b0316611e9f565b348015610a6a57600080fd5b506103d1611f85565b348015610a7f57600080fd5b5061038f611fe7565b348015610a9457600080fd5b506103d160048036036020811015610aab57600080fd5b50356001600160a01b0316611feb565b600c8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b475780601f10610b1c57610100808354040283529160200191610b47565b820191906000526020600020905b815481529060010190602001808311610b2a57829003601f168201915b5050505050905090565b6000610b65610b5e612233565b8484612237565b5060015b92915050565b600b5490565b610b7d612233565b6000546001600160a01b03908116911614610bcd576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b808201606414610c16576040805162461bcd60e51b815260206004820152600f60248201526e053756d206d7573742062652031303608c1b604482015290519081900360640190fd5b601591909155601655565b6017546001600160a01b031681565b60095490565b610c3e612233565b6000546001600160a01b03908116911614610c8e576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601b55565b610c9b612233565b6000546001600160a01b03908116911614610ceb576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610d1a848484612323565b610d8a84610d26612233565b610d858560405180606001604052806028815260200161328d602891396001600160a01b038a16600090815260056020526040812090610d64612233565b6001600160a01b0316815260208101919091526040016000205491906125a8565b612237565b5060019392505050565b610d9c612233565b6000546001600160a01b03908116911614610dec576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6019811115610e42576040805162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2030202d2032350000000000604482015290519081900360640190fd5b601055565b6000600a54821115610e8a5760405162461bcd60e51b815260040180806020018281038252602a815260200180613192602a913960400191505060405180910390fd5b6000610e9461263f565b9050610ea083826121a8565b9150505b919050565b610eb1612233565b6000546001600160a01b03908116911614610f01576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6019811115610f57576040805162461bcd60e51b815260206004820152601b60248201527f7465616d4665652073686f756c6420626520696e2030202d2032350000000000604482015290519081900360640190fd5b6019821115610fad576040805162461bcd60e51b815260206004820152601a60248201527f7461784665652073686f756c6420626520696e2030202d203235000000000000604482015290519081900360640190fd5b600f91909155601055565b600e5460ff1690565b6013546001600160a01b031681565b6000610b65610fdd612233565b84610d858560056000610fee612233565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612662565b611026612233565b6000546001600160a01b03908116911614611076576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601380546001600160a01b0319166001600160a01b0392909216919091179055565b60006110a2612233565b6001600160a01b03811660009081526007602052604090205490915060ff16156110fd5760405162461bcd60e51b815260040180806020018281038252602c815260200180613389602c913960400191505060405180910390fd5b6000611108836126bc565b505050506001600160a01b038416600090815260036020526040902054919250611134919050826121f1565b6001600160a01b038316600090815260036020526040902055600a5461115a90826121f1565b600a55600b5461116a9084612662565b600b55505050565b6014546001600160a01b031681565b60006009548311156111da576040805162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c7900604482015290519081900360640190fd5b816111f95760006111ea846126bc565b50939550610b69945050505050565b6000611204846126bc565b50929550610b69945050505050565b6018546001600160a01b031681565b61122a612233565b6000546001600160a01b0390811691161461127a576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6000611285306116cc565b905061129081612719565b50565b6001600160a01b031660009081526006602052604090205460ff1690565b6112b9612233565b6000546001600160a01b03908116911614611309576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601981111561135f576040805162461bcd60e51b815260206004820152601a60248201527f7461784665652073686f756c6420626520696e2030202d203235000000000000604482015290519081900360640190fd5b600f55565b600061136e612233565b6000546001600160a01b039081169116146113be576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6000829050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156113fc57600080fd5b505afa158015611410573d6000803e3d6000fd5b505050506040513d602081101561142657600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263e6a439059230929186169163ad5c464891600480820192602092909190829003018186803b15801561147657600080fd5b505afa15801561148a573d6000803e3d6000fd5b505050506040513d60208110156114a057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039384166004820152929091166024830152516044808301926020929190829003018186803b1580156114f057600080fd5b505afa158015611504573d6000803e3d6000fd5b505050506040513d602081101561151a57600080fd5b505191506001600160a01b03821661168a57806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561156557600080fd5b505afa158015611579573d6000803e3d6000fd5b505050506040513d602081101561158f57600080fd5b5051604080516315ab88c960e31b815290516001600160a01b039283169263c9c653969230929186169163ad5c464891600480820192602092909190829003018186803b1580156115df57600080fd5b505afa1580156115f3573d6000803e3d6000fd5b505050506040513d602081101561160957600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301525160448083019260209291908290030181600087803b15801561165b57600080fd5b505af115801561166f573d6000803e3d6000fd5b505050506040513d602081101561168557600080fd5b505191505b601880546001600160a01b038085166001600160a01b03199283161790925560178054939092169216919091179055919050565b601a54610100900460ff1681565b6001600160a01b03811660009081526007602052604081205460ff161561170c57506001600160a01b038116600090815260046020526040902054610ea4565b6001600160a01b038216600090815260036020526040902054610b6990610e47565b611736612233565b6000546001600160a01b03908116911614611786576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116906000805160206132d5833981519152908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b600d8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b475780601f10610b1c57610100808354040283529160200191610b47565b611836612233565b6000546001600160a01b03908116911614611886576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6018546001600160a01b03838116911614156118d35760405162461bcd60e51b81526004018080602001828103825260408152602001806132046040913960400191505060405180910390fd5b6118dd82826128de565b5050565b6118e9612233565b6000546001600160a01b03908116911614611939576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b65048c27395000811161194b57600080fd5b601c55565b600f5490565b6000610b65611963612233565b84610d85856040518060600160405280602581526020016133d8602591396005600061198d612233565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906125a8565b6001546001600160a01b03163314611a075760405162461bcd60e51b81526004018080602001828103825260238152602001806133b56023913960400191505060405180910390fd5b6002544211611a5d576040805162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116916000805160206132d583398151915291a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6000610b65611ab9612233565b8484612323565b611ac8612233565b6000546001600160a01b03908116911614611b18576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b60196020526000908152604090205460ff1681565b60025490565b6001600160a01b031660009081526007602052604090205460ff1690565b60105490565b611b8a612233565b6000546001600160a01b03908116911614611bda576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b60008054600180546001600160a01b03199081166001600160a01b0384161790915516815542820160025560405181906000805160206132d5833981519152908290a350565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b611c53612233565b6000546001600160a01b03908116911614611ca3576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b601a80549115156101000261ff0019909216919091179055565b611cc5612233565b6000546001600160a01b03908116911614611d15576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0382161415611d715760405162461bcd60e51b81526004018080602001828103825260228152602001806133676022913960400191505060405180910390fd5b6001600160a01b03811660009081526007602052604090205460ff1615611ddf576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b6001600160a01b03811660009081526003602052604090205415611e39576001600160a01b038116600090815260036020526040902054611e1f90610e47565b6001600160a01b0382166000908152600460205260409020555b6001600160a01b03166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319169091179055565b611ea7612233565b6000546001600160a01b03908116911614611ef7576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6001600160a01b038116611f3c5760405162461bcd60e51b81526004018080602001828103825260268152602001806131bc6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216916000805160206132d583398151915291a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b611f8d612233565b6000546001600160a01b03908116911614611fdd576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b4761129081612922565b4790565b611ff3612233565b6000546001600160a01b03908116911614612043576040805162461bcd60e51b815260206004820181905260248201526000805160206132b5833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526007602052604090205460ff166120b0576040805162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c756465640000000000604482015290519081900360640190fd5b60005b6008548110156118dd57816001600160a01b0316600882815481106120d457fe5b6000918252602090912001546001600160a01b031614156121a05760088054600019810190811061210157fe5b600091825260209091200154600880546001600160a01b03909216918390811061212757fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600880548061217957fe5b600082815260209020810160001990810180546001600160a01b03191690550190556118dd565b6001016120b3565b60006121ea83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129c9565b9392505050565b60006121ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506125a8565b3390565b6001600160a01b03831661227c5760405162461bcd60e51b81526004018080602001828103825260248152602001806133436024913960400191505060405180910390fd5b6001600160a01b0382166122c15760405162461bcd60e51b81526004018080602001828103825260228152602001806131e26022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166123685760405162461bcd60e51b815260040180806020018281038252602581526020018061331e6025913960400191505060405180910390fd5b6001600160a01b0382166123ad5760405162461bcd60e51b815260040180806020018281038252602381526020018061316f6023913960400191505060405180910390fd5b600081116123ec5760405162461bcd60e51b81526004018080602001828103825260298152602001806132f56029913960400191505060405180910390fd5b6123f46117be565b6001600160a01b0316836001600160a01b03161415801561242e57506124186117be565b6001600160a01b0316826001600160a01b031614155b1561247457601b548111156124745760405162461bcd60e51b81526004018080602001828103825260288152602001806132446028913960400191505060405180910390fd5b600061247f306116cc565b9050601b54811061248f5750601b545b601c54601a54908210159060ff161580156124b15750601a54610100900460ff165b80156124ba5750805b80156124de57506001600160a01b03841660009081526019602052604090205460ff165b156124fe576124ec82612719565b4780156124fc576124fc47612922565b505b6001600160a01b03851660009081526006602052604090205460019060ff168061254057506001600160a01b03851660009081526006602052604090205460ff165b15612549575060005b6001600160a01b03861660009081526019602052604090205460ff1615801561258b57506001600160a01b03851660009081526019602052604090205460ff16155b15612594575060005b6125a086868684612a2e565b505050505050565b600081848411156126375760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125fc5781810151838201526020016125e4565b50505050905090810190601f1680156126295780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600080600061264c612ba2565b909250905061265b82826121a8565b9250505090565b6000828201838110156121ea576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008060008060008060008060006126d98a600f54601054612d05565b92509250925060006126e961263f565b905060008060006126fc8e878787612d54565b919e509c509a509598509396509194505050505091939550919395565b601a805460ff191660011790556040805160028082526060808301845292602083019080368337019050509050308160008151811061275457fe5b6001600160a01b03928316602091820292909201810191909152601754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156127a857600080fd5b505afa1580156127bc573d6000803e3d6000fd5b505050506040513d60208110156127d257600080fd5b50518151829060019081106127e357fe5b6001600160a01b0392831660209182029290920101526017546128099130911684612237565b60175460405163791ac94760e01b8152600481018481526000602483018190523060648401819052426084850181905260a060448601908152875160a487015287516001600160a01b039097169663791ac947968a968a9594939092909160c40190602080880191028083838b5b8381101561288f578181015183820152602001612877565b505050509050019650505050505050600060405180830381600087803b1580156128b857600080fd5b505af11580156128cc573d6000803e3d6000fd5b5050601a805460ff1916905550505050565b6001600160a01b0382166000908152601960205260409020805460ff191682158015919091179091556129145761291482611cbd565b806118dd576118dd82611feb565b6013546015546001600160a01b03909116906108fc906129509060649061294a908690612da4565b906121a8565b6040518115909202916000818181858888f19350505050158015612978573d6000803e3d6000fd5b506014546016546001600160a01b03909116906108fc906129a19060649061294a908690612da4565b6040518115909202916000818181858888f193505050501580156118dd573d6000803e3d6000fd5b60008183612a185760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156125fc5781810151838201526020016125e4565b506000838581612a2457fe5b0495945050505050565b80612a3b57612a3b612dfd565b6001600160a01b03841660009081526007602052604090205460ff168015612a7c57506001600160a01b03831660009081526007602052604090205460ff16155b15612a9157612a8c848484612e2f565b612b8f565b6001600160a01b03841660009081526007602052604090205460ff16158015612ad257506001600160a01b03831660009081526007602052604090205460ff165b15612ae257612a8c848484612f53565b6001600160a01b03841660009081526007602052604090205460ff16158015612b2457506001600160a01b03831660009081526007602052604090205460ff16155b15612b3457612a8c848484612ffc565b6001600160a01b03841660009081526007602052604090205460ff168015612b7457506001600160a01b03831660009081526007602052604090205460ff165b15612b8457612a8c848484613040565b612b8f848484612ffc565b80612b9c57612b9c6130b3565b50505050565b600a546009546000918291825b600854811015612cd357826003600060088481548110612bcb57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020541180612c305750816004600060088481548110612c0957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b15612c4757600a5460095494509450505050612d01565b612c876003600060088481548110612c5b57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205484906121f1565b9250612cc96004600060088481548110612c9d57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190205483906121f1565b9150600101612baf565b50600954600a54612ce3916121a8565b821015612cfb57600a54600954935093505050612d01565b90925090505b9091565b6000808080612d19606461294a8989612da4565b90506000612d2c606461294a8a89612da4565b90506000612d4482612d3e8b866121f1565b906121f1565b9992985090965090945050505050565b6000808080612d638886612da4565b90506000612d718887612da4565b90506000612d7f8888612da4565b90506000612d9182612d3e86866121f1565b939b939a50919850919650505050505050565b600082612db357506000610b69565b82820282848281612dc057fe5b04146121ea5760405162461bcd60e51b815260040180806020018281038252602181526020018061326c6021913960400191505060405180910390fd5b600f54158015612e0d5750601054155b15612e1757612e2d565b600f805460115560108054601255600091829055555b565b600080600080600080612e41876126bc565b6001600160a01b038f16600090815260046020526040902054959b50939950919750955093509150612e7390886121f1565b6001600160a01b038a16600090815260046020908152604080832093909355600390522054612ea290876121f1565b6001600160a01b03808b1660009081526003602052604080822093909355908a1681522054612ed19086612662565b6001600160a01b038916600090815260036020526040902055612ef3816130c1565b612efd848361314a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b600080600080600080612f65876126bc565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150612f9790876121f1565b6001600160a01b03808b16600090815260036020908152604080832094909455918b16815260049091522054612fcd9084612662565b6001600160a01b038916600090815260046020908152604080832093909355600390522054612ed19086612662565b60008060008060008061300e876126bc565b6001600160a01b038f16600090815260036020526040902054959b50939950919750955093509150612ea290876121f1565b600080600080600080613052876126bc565b6001600160a01b038f16600090815260046020526040902054959b5093995091975095509350915061308490886121f1565b6001600160a01b038a16600090815260046020908152604080832093909355600390522054612f9790876121f1565b601154600f55601254601055565b60006130cb61263f565b905060006130d98383612da4565b306000908152600360205260409020549091506130f69082612662565b3060009081526003602090815260408083209390935560079052205460ff161561314557306000908152600460205260409020546131349084612662565b306000908152600460205260409020555b505050565b600a5461315790836121f1565b600a55600b546131679082612662565b600b55505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735468652061637475616c20706169722063616e6e6f742062652072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b657250616972735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737357652063616e206e6f74206578636c75646520556e697377617020726f757465722e4578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636b45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220078a882b3e2564d51ca55caf7418efb4e955204eb356c10e6529ba6a09cf3fb064736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000287f0e1826d88d0d212ff4a0ede781186da575a2000000000000000000000000b891202b6cba6269f995a0bd337f03f9208efd35
-----Decoded View---------------
Arg [0] : SCCWalletAddress (address): 0x287f0e1826D88D0D212fF4A0Ede781186DA575A2
Arg [1] : marketingWalletAddress (address): 0xb891202b6cbA6269F995a0bD337f03F9208efD35
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000287f0e1826d88d0d212ff4a0ede781186da575a2
Arg [1] : 000000000000000000000000b891202b6cba6269f995a0bd337f03f9208efd35
Deployed Bytecode Sourcemap
26722:22012:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29432:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30597:193;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;30597:193:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;32734:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;47752:259;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;47752:259:0;;;;;;;:::i;:::-;;27838:41;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;27838:41:0;;;;;;;;;;;;;;29889:95;;;;;;;;;;;;;:::i;48621:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;48621:110:0;;:::i;48181:178::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;48181:178:0;-1:-1:-1;;;;;48181:178:0;;:::i;31280:446::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;31280:446:0;;;;;;;;;;;;;;;;;:::i;47314:158::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;47314:158:0;;:::i;33743:322::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33743:322:0;;:::i;47480:264::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;47480:264:0;;;;;;;:::i;29798:83::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;27652:40;;;;;;;;;;;;;:::i;31734:300::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;31734:300:0;;;;;;;;:::i;48019:154::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;48019:154:0;-1:-1:-1;;;;;48019:154:0;;:::i;32829:419::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32829:419:0;;:::i;27699:46::-;;;;;;;;;;;;;:::i;33256:479::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33256:479:0;;;;;;;;;:::i;27886:28::-;;;;;;;;;;;;;:::i;38990:154::-;;;;;;;;;;;;;:::i;35382:124::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35382:124:0;-1:-1:-1;;;;;35382:124:0;;:::i;47154:152::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;47154:152:0;;:::i;46408:738::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;46408:738:0;-1:-1:-1;;;;;46408:738:0;;:::i;28014:30::-;;;;;;;;;;;;;:::i;29992:198::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29992:198:0;-1:-1:-1;;;;;29992:198:0;;:::i;15972:148::-;;;;;;;;;;;;;:::i;15330:79::-;;;;;;;;;;;;;:::i;29523:87::-;;;;;;;;;;;;;:::i;30798:251::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;30798:251:0;;;;;;;;;;:::i;48367:246::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;48367:246:0;;:::i;29618:81::-;;;;;;;;;;;;;:::i;32042:400::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;32042:400:0;;;;;;;;:::i;17015:329::-;;;;;;;;;;;;;:::i;30198:199::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;30198:199:0;;;;;;;;:::i;32568:158::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;32568:158:0;;;;;;;;;;:::i;27921:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27921:58:0;-1:-1:-1;;;;;27921:58:0;;:::i;16564:89::-;;;;;;;;;;;;;:::i;32450:110::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32450:110:0;-1:-1:-1;;;;;32450:110:0;;:::i;29707:83::-;;;;;;;;;;;;;:::i;16729:214::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16729:214:0;;:::i;30405:184::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;30405:184:0;;;;;;;;;;:::i;39314:97::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;39314:97:0;;;;:::i;34073:477::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34073:477:0;-1:-1:-1;;;;;34073:477:0;;:::i;16275:281::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16275:281:0;-1:-1:-1;;;;;16275:281:0;;:::i;39152:154::-;;;;;;;;;;;;;:::i;46289:111::-;;;;;;;;;;;;;:::i;34558:474::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;34558:474:0;-1:-1:-1;;;;;34558:474:0;;:::i;29432:83::-;29502:5;29495:12;;;;;;;;-1:-1:-1;;29495:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29469:13;;29495:12;;29502:5;;29495:12;;29502:5;29495:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29432:83;:::o;30597:193::-;30699:4;30721:39;30730:12;:10;:12::i;:::-;30744:7;30753:6;30721:8;:39::i;:::-;-1:-1:-1;30778:4:0;30597:193;;;;;:::o;32734:87::-;32803:10;;32734:87;:::o;47752:259::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;47874:16:::1;47861:10;:29;47894:3;47861:36;47853:64;;;::::0;;-1:-1:-1;;;47853:64:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;47853:64:0;;;;;;;;;;;;;::::1;;47930:11;:24:::0;;;;47965:17:::1;:36:::0;47752:259::o;27838:41::-;;;-1:-1:-1;;;;;27838:41:0;;:::o;29889:95::-;29969:7;;29889:95;:::o;48621:110::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;48697:12:::1;:26:::0;48621:110::o;48181:178::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;48303:23:::1;:48:::0;;-1:-1:-1;;;;;;48303:48:0::1;-1:-1:-1::0;;;;;48303:48:0;;;::::1;::::0;;;::::1;::::0;;48181:178::o;31280:446::-;31412:4;31429:36;31439:6;31447:9;31458:6;31429:9;:36::i;:::-;31476:220;31499:6;31520:12;:10;:12::i;:::-;31547:138;31603:6;31547:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31547:19:0;;;;;;:11;:19;;;;;;31567:12;:10;:12::i;:::-;-1:-1:-1;;;;;31547:33:0;;;;;;;;;;;;-1:-1:-1;31547:33:0;;;:138;:37;:138::i;:::-;31476:8;:220::i;:::-;-1:-1:-1;31714:4:0;31280:446;;;;;:::o;47314:158::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;47401:2:::1;47390:7;:13;;47382:53;;;::::0;;-1:-1:-1;;;47382:53:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;47446:8;:18:::0;47314:158::o;33743:322::-;33837:7;33895;;33884;:18;;33862:110;;;;-1:-1:-1;;;33862:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33983:19;34005:10;:8;:10::i;:::-;33983:32;-1:-1:-1;34033:24:0;:7;33983:32;34033:11;:24::i;:::-;34026:31;;;33743:322;;;;:::o;47480:264::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;47580:2:::1;47569:7;:13;;47561:53;;;::::0;;-1:-1:-1;;;47561:53:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;47643:2;47633:6;:12;;47625:51;;;::::0;;-1:-1:-1;;;47625:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;47689:7;:16:::0;;;;47716:8:::1;:18:::0;47480:264::o;29798:83::-;29864:9;;;;29798:83;:::o;27652:40::-;;;-1:-1:-1;;;;;27652:40:0;;:::o;31734:300::-;31849:4;31871:133;31894:12;:10;:12::i;:::-;31921:7;31943:50;31982:10;31943:11;:25;31955:12;:10;:12::i;:::-;-1:-1:-1;;;;;31943:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;31943:25:0;;;:34;;;;;;;;;;;:38;:50::i;48019:154::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;48129:17:::1;:36:::0;;-1:-1:-1;;;;;;48129:36:0::1;-1:-1:-1::0;;;;;48129:36:0;;;::::1;::::0;;;::::1;::::0;;48019:154::o;32829:419::-;32881:14;32898:12;:10;:12::i;:::-;-1:-1:-1;;;;;32944:19:0;;;;;;:11;:19;;;;;;32881:29;;-1:-1:-1;32944:19:0;;32943:20;32921:114;;;;-1:-1:-1;;;32921:114:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33047:15;33076:19;33087:7;33076:10;:19::i;:::-;-1:-1:-1;;;;;;;;;33124:15:0;;;;;;:7;:15;;;;;;33046:49;;-1:-1:-1;33124:28:0;;:15;-1:-1:-1;33046:49:0;33124:19;:28::i;:::-;-1:-1:-1;;;;;33106:15:0;;;;;;:7;:15;;;;;:46;33173:7;;:20;;33185:7;33173:11;:20::i;:::-;33163:7;:30;33217:10;;:23;;33232:7;33217:14;:23::i;:::-;33204:10;:36;-1:-1:-1;;;32829:419:0:o;27699:46::-;;;-1:-1:-1;;;;;27699:46:0;;:::o;33256:479::-;33374:7;33418;;33407;:18;;33399:62;;;;;-1:-1:-1;;;33399:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;33477:17;33472:256;;33512:15;33541:19;33552:7;33541:10;:19::i;:::-;-1:-1:-1;33511:49:0;;-1:-1:-1;33575:14:0;;-1:-1:-1;;;;;33575:14:0;33472:256;33625:23;33660:19;33671:7;33660:10;:19::i;:::-;-1:-1:-1;33622:57:0;;-1:-1:-1;33694:22:0;;-1:-1:-1;;;;;33694:22:0;27886:28;;;-1:-1:-1;;;;;27886:28:0;;:::o;38990:154::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;39042:23:::1;39068:24;39086:4;39068:9;:24::i;:::-;39042:50;;39103:33;39120:15;39103:16;:33::i;:::-;15612:1;38990:154::o:0;35382:124::-;-1:-1:-1;;;;;35471:27:0;35447:4;35471:27;;;:18;:27;;;;;;;;;35382:124::o;47154:152::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;47238:2:::1;47228:6;:12;;47220:51;;;::::0;;-1:-1:-1;;;47220:51:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;47282:7;:16:::0;47154:152::o;46408:738::-;46509:13;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;46540:35:::1;46597:7;46540:65;;46644:16;-1:-1:-1::0;;;;;46644:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46644:26:0;46722:23:::1;::::0;;-1:-1:-1;;;46722:23:0;;;;-1:-1:-1;;;;;46626:53:0;;::::1;::::0;::::1;::::0;46702:4:::1;::::0;46722:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;46644:26:::1;::::0;46722:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46722:23:0;46626:130:::1;::::0;;-1:-1:-1;;;;;;46626:130:0::1;::::0;;;;;;-1:-1:-1;;;;;46626:130:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;46722:23:::1;::::0;46626:130;;;;;;;;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46626:130:0;;-1:-1:-1;;;;;;46771:19:0;::::1;46767:240;;46868:16;-1:-1:-1::0;;;;;46868:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46868:26:0;46957:23:::1;::::0;;-1:-1:-1;;;46957:23:0;;;;-1:-1:-1;;;;;46850:56:0;;::::1;::::0;::::1;::::0;46933:4:::1;::::0;46957:21;;::::1;::::0;::::1;::::0;:23:::1;::::0;;::::1;::::0;46868:26:::1;::::0;46957:23;;;;;;;;:21;:23;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46957:23:0;46850:145:::1;::::0;;-1:-1:-1;;;;;;46850:145:0::1;::::0;;;;;;-1:-1:-1;;;;;46850:145:0;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;46957:23:::1;::::0;46850:145;;;;;;;-1:-1:-1;46850:145:0;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46850:145:0;;-1:-1:-1;46767:240:0::1;47017:13;:21:::0;;-1:-1:-1;;;;;47017:21:0;;::::1;-1:-1:-1::0;;;;;;47017:21:0;;::::1;;::::0;;;47104:15:::1;:34:::0;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;47033:5;46408:738;-1:-1:-1;46408:738:0:o;28014:30::-;;;;;;;;;:::o;29992:198::-;-1:-1:-1;;;;;30082:20:0;;30058:7;30082:20;;;:11;:20;;;;;;;;30078:49;;;-1:-1:-1;;;;;;30111:16:0;;;;;;:7;:16;;;;;;30104:23;;30078:49;-1:-1:-1;;;;;30165:16:0;;;;;;:7;:16;;;;;;30145:37;;:19;:37::i;15972:148::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;16079:1:::1;16063:6:::0;;16042:40:::1;::::0;-1:-1:-1;;;;;16063:6:0;;::::1;::::0;-1:-1:-1;;;;;;;;;;;16042:40:0;16079:1;;16042:40:::1;16110:1;16093:19:::0;;-1:-1:-1;;;;;;16093:19:0::1;::::0;;15972:148::o;15330:79::-;15368:7;15395:6;-1:-1:-1;;;;;15395:6:0;15330:79;:::o;29523:87::-;29595:7;29588:14;;;;;;;;-1:-1:-1;;29588:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29562:13;;29588:14;;29595:7;;29588:14;;29595:7;29588:14;;;;;;;;;;;;;;;;;;;;;;;;30798:251;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;30905:13:::1;::::0;-1:-1:-1;;;;;30897:21:0;;::::1;30905:13:::0;::::1;30897:21;;30889:98;;;;-1:-1:-1::0;;;30889:98:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31000:41;31029:4;31035:5;31000:28;:41::i;:::-;30798:251:::0;;:::o;48367:246::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;48516:17:::1;48485:28;:48;48477:57;;;::::0;::::1;;48545:29;:60:::0;48367:246::o;29618:81::-;29684:7;;29618:81;:::o;32042:400::-;32162:4;32184:228;32207:12;:10;:12::i;:::-;32234:7;32256:145;32313:15;32256:145;;;;;;;;;;;;;;;;;:11;:25;32268:12;:10;:12::i;:::-;-1:-1:-1;;;;;32256:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;32256:25:0;;;:34;;;;;;;;;;;:145;:38;:145::i;17015:329::-;17081:14;;-1:-1:-1;;;;;17081:14:0;17099:10;17081:28;17059:113;;;;-1:-1:-1;;;17059:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17197:9;;17191:3;:15;17183:59;;;;;-1:-1:-1;;;17183:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;17287:14;;;17279:6;;17258:44;;-1:-1:-1;;;;;17287:14:0;;;;17279:6;;;;-1:-1:-1;;;;;;;;;;;17258:44:0;;17322:14;;;17313:23;;-1:-1:-1;;;;;;17313:23:0;-1:-1:-1;;;;;17322:14:0;;;17313:23;;;;;;17015:329::o;30198:199::-;30303:4;30325:42;30335:12;:10;:12::i;:::-;30349:9;30360:6;30325:9;:42::i;32568:158::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;32680:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:38;;-1:-1:-1;;32680:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32568:158::o;27921:58::-;;;;;;;;;;;;;;;:::o;16564:89::-;16636:9;;16564:89;:::o;32450:110::-;-1:-1:-1;;;;;32532:20:0;32508:4;32532:20;;;:11;:20;;;;;;;;;32450:110::o;29707:83::-;29774:8;;29707:83;:::o;16729:214::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;16810:6:::1;::::0;;;16793:23;;-1:-1:-1;;;;;;16793:23:0;;::::1;-1:-1:-1::0;;;;;16810:6:0;::::1;16793:23;::::0;;;16827:19:::1;::::0;;16869:3:::1;:10:::0;::::1;16857:9;:22:::0;16895:40:::1;::::0;16810:6;;-1:-1:-1;;;;;;;;;;;16895:40:0;16810:6;;16895:40:::1;16729:214:::0;:::o;30405:184::-;-1:-1:-1;;;;;30554:18:0;;;30522:7;30554:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;30405:184::o;39314:97::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;39382:11:::1;:21:::0;;;::::1;;;;-1:-1:-1::0;;39382:21:0;;::::1;::::0;;;::::1;::::0;;39314:97::o;34073:477::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;34175:42:::1;-1:-1:-1::0;;;;;34164:53:0;::::1;;;34142:137;;;;-1:-1:-1::0;;;34142:137:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;34299:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;34298:21;34290:61;;;::::0;;-1:-1:-1;;;34290:61:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;34366:16:0;::::1;34385:1;34366:16:::0;;;:7:::1;:16;::::0;;;;;:20;34362:109:::1;;-1:-1:-1::0;;;;;34442:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;34422:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;34403:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;34362:109:::1;-1:-1:-1::0;;;;;34481:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;34481:27:0::1;34504:4;34481:27:::0;;::::1;::::0;;;34519:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;34519:23:0::1;::::0;;::::1;::::0;;34073:477::o;16275:281::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16378:22:0;::::1;16356:110;;;;-1:-1:-1::0;;;16356:110:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16503:6;::::0;;16482:38:::1;::::0;-1:-1:-1;;;;;16482:38:0;;::::1;::::0;16503:6;::::1;::::0;-1:-1:-1;;;;;;;;;;;16482:38:0;::::1;16531:6;:17:::0;;-1:-1:-1;;;;;;16531:17:0::1;-1:-1:-1::0;;;;;16531:17:0;;;::::1;::::0;;;::::1;::::0;;16275:281::o;39152:154::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;39233:21:::1;39265:33;39233:21:::0;39265:13:::1;:33::i;46289:111::-:0;46371:21;46289:111;:::o;34558:474::-;15552:12;:10;:12::i;:::-;15542:6;;-1:-1:-1;;;;;15542:6:0;;;:22;;;15534:67;;;;;-1:-1:-1;;;15534:67:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15534:67:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;34635:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;34627:60;;;::::0;;-1:-1:-1;;;34627:60:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;34703:9;34698:327;34722:9;:16:::0;34718:20;::::1;34698:327;;;34780:7;-1:-1:-1::0;;;;;34764:23:0::1;:9;34774:1;34764:12;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;34764:12:0::1;:23;34760:254;;;34823:9;34833:16:::0;;-1:-1:-1;;34833:20:0;;;34823:31;::::1;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;34808:9:::1;:12:::0;;-1:-1:-1;;;;;34823:31:0;;::::1;::::0;34818:1;;34808:12;::::1;;;;;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;34808:46:0::1;-1:-1:-1::0;;;;;34808:46:0;;::::1;;::::0;;34873:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;34912:11:::1;:20:::0;;;;:28;;-1:-1:-1;;34912:28:0::1;::::0;;34959:9:::1;:15:::0;;;::::1;;;;;::::0;;;::::1;::::0;;;;-1:-1:-1;;34959:15:0;;;;;-1:-1:-1;;;;;;34959:15:0::1;::::0;;;;;34993:5:::1;;34760:254;34740:3;;34698:327;;6007:132:::0;6065:7;6092:39;6096:1;6099;6092:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;6085:46;6007:132;-1:-1:-1;;;6007:132:0:o;4142:136::-;4200:7;4227:43;4231:1;4234;4227:43;;;;;;;;;;;;;;;;;:3;:43::i;313:106::-;401:10;313:106;:::o;35514:369::-;-1:-1:-1;;;;;35641:19:0;;35633:68;;;;-1:-1:-1;;;35633:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35720:21:0;;35712:68;;;;-1:-1:-1;;;35712:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35791:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;35843:32;;;;;;;;;;;;;;;;;35514:369;;;:::o;35891:2127::-;-1:-1:-1;;;;;36022:20:0;;36014:70;;;;-1:-1:-1;;;36014:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;36103:23:0;;36095:71;;;;-1:-1:-1;;;36095:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36194:1;36185:6;:10;36177:64;;;;-1:-1:-1;;;36177:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36266:7;:5;:7::i;:::-;-1:-1:-1;;;;;36256:17:0;:6;-1:-1:-1;;;;;36256:17:0;;;:41;;;;;36290:7;:5;:7::i;:::-;-1:-1:-1;;;;;36277:20:0;:9;-1:-1:-1;;;;;36277:20:0;;;36256:41;36252:184;;;36348:12;;36338:6;:22;;36312:124;;;;-1:-1:-1;;;36312:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36697:28;36728:24;36746:4;36728:9;:24::i;:::-;36697:55;;36791:12;;36767:20;:36;36763:104;;-1:-1:-1;36843:12:0;;36763:104;36941:29;;37000:6;;36904:66;;;;;37000:6;;36999:7;:35;;;;-1:-1:-1;37023:11:0;;;;;;;36999:35;:71;;;;;37051:19;36999:71;:124;;;;-1:-1:-1;;;;;;37087:36:0;;;;;;:25;:36;;;;;;;;36999:124;36981:483;;;37236:38;37253:20;37236:16;:38::i;:::-;37318:21;37358:22;;37354:99;;37401:36;37415:21;37401:13;:36::i;:::-;36981:483;;-1:-1:-1;;;;;37653:26:0;;37535:12;37653:26;;;:18;:26;;;;;;37550:4;;37653:26;;;:59;;-1:-1:-1;;;;;;37683:29:0;;;;;;:18;:29;;;;;;;;37653:59;37649:107;;;-1:-1:-1;37739:5:0;37649:107;-1:-1:-1;;;;;37772:33:0;;;;;;:25;:33;;;;;;;;37771:34;:75;;;;-1:-1:-1;;;;;;37810:36:0;;;;;;:25;:36;;;;;;;;37809:37;37771:75;37768:122;;;-1:-1:-1;37873:5:0;37768:122;37960:50;37975:6;37983:9;37994:6;38002:7;37960:14;:50::i;:::-;35891:2127;;;;;;:::o;4581:224::-;4701:7;4737:12;4729:6;;;;4721:29;;;;-1:-1:-1;;;4721:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4773:5:0;;;4581:224::o;45306:164::-;45348:7;45369:15;45386;45405:19;:17;:19::i;:::-;45368:56;;-1:-1:-1;45368:56:0;-1:-1:-1;45442:20:0;45368:56;;45442:11;:20::i;:::-;45435:27;;;;45306:164;:::o;3680:179::-;3738:7;3770:5;;;3794:6;;;;3786:46;;;;;-1:-1:-1;;;3786:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;43580:701;43680:7;43702;43724;43746;43768;43790;43826:23;43851:12;43865:13;43882:89;43908:7;43930;;43952:8;;43882:11;:89::i;:::-;43825:146;;;;;;43982:19;44004:10;:8;:10::i;:::-;43982:32;;44026:15;44043:23;44068:12;44084:109;44110:7;44132:4;44151:5;44171:11;44084;:109::i;:::-;44025:168;;-1:-1:-1;44025:168:0;-1:-1:-1;44025:168:0;-1:-1:-1;44244:15:0;;-1:-1:-1;44261:4:0;;-1:-1:-1;44267:5:0;;-1:-1:-1;;;;;43580:701:0;;;;;;;:::o;38026:597::-;28391:6;:13;;-1:-1:-1;;28391:13:0;28400:4;28391:13;;;38188:16:::1;::::0;;38202:1:::1;38188:16:::0;;;38164:21:::1;38188:16:::0;;::::1;::::0;;38164:21;38188:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;38188:16:0::1;38164:40;;38233:4;38215;38220:1;38215:7;;;;;;;;-1:-1:-1::0;;;;;38215:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;38259:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;38259:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;38215:7;;38259:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;38259:22:0;38249:7;;:4;;38254:1:::1;::::0;38249:7;::::1;;;;;-1:-1:-1::0;;;;;38249:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;38324:15:::1;::::0;38292:62:::1;::::0;38309:4:::1;::::0;38324:15:::1;38342:11:::0;38292:8:::1;:62::i;:::-;38391:15;::::0;:224:::1;::::0;-1:-1:-1;;;38391:224:0;;::::1;::::0;::::1;::::0;;;:15:::1;:224:::0;;;;;;38569:4:::1;38391:224:::0;;;;;;38589:15:::1;38391:224:::0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;38391:15:0;;::::1;::::0;:66:::1;::::0;38472:11;;38542:4;;38569;38589:15;38391:224;;;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;:15;:224:::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;28427:6:0;:14;;-1:-1:-1;;28427:14:0;;;-1:-1:-1;;;;38026:597:0:o;31057:215::-;-1:-1:-1;;;;;31140:31:0;;;;;;:25;:31;;;;;:39;;-1:-1:-1;;31140:39:0;;;;;;;;;;;;31190:32;;31200:20;31215:4;31200:14;:20::i;:::-;31236:5;31232:33;;31243:20;31258:4;31243:14;:20::i;38631:209::-;38689:17;;38727:11;;-1:-1:-1;;;;;38689:17:0;;;;:60;;38716:32;;38744:3;;38716:23;;:6;;:10;:23::i;:::-;:27;;:32::i;:::-;38689:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38760:23:0;;38804:17;;-1:-1:-1;;;;;38760:23:0;;;;:72;;38793:38;;38827:3;;38793:29;;:6;;:10;:29::i;:38::-;38760:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6635:310;6755:7;6790:12;6783:5;6775:28;;;;-1:-1:-1;;;6775:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6814:9;6830:1;6826;:5;;;;;;;6635:310;-1:-1:-1;;;;;6635:310:0:o;39419:834::-;39575:7;39570:28;;39584:14;:12;:14::i;:::-;-1:-1:-1;;;;;39613:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;39637:22:0;;;;;;:11;:22;;;;;;;;39636:23;39613:46;39609:597;;;39676:48;39698:6;39706:9;39717:6;39676:21;:48::i;:::-;39609:597;;;-1:-1:-1;;;;;39747:19:0;;;;;;:11;:19;;;;;;;;39746:20;:46;;;;-1:-1:-1;;;;;;39770:22:0;;;;;;:11;:22;;;;;;;;39746:46;39742:464;;;39809:46;39829:6;39837:9;39848:6;39809:19;:46::i;39742:464::-;-1:-1:-1;;;;;39878:19:0;;;;;;:11;:19;;;;;;;;39877:20;:47;;;;-1:-1:-1;;;;;;39902:22:0;;;;;;:11;:22;;;;;;;;39901:23;39877:47;39873:333;;;39941:44;39959:6;39967:9;39978:6;39941:17;:44::i;39873:333::-;-1:-1:-1;;;;;40007:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;40030:22:0;;;;;;:11;:22;;;;;;;;40007:45;40003:203;;;40069:48;40091:6;40099:9;40110:6;40069:21;:48::i;40003:203::-;40150:44;40168:6;40176:9;40187:6;40150:17;:44::i;:::-;40221:7;40216:29;;40230:15;:13;:15::i;:::-;39419:834;;;;:::o;45478:605::-;45576:7;;45612;;45529;;;;;45630:338;45654:9;:16;45650:20;;45630:338;;;45738:7;45714;:21;45722:9;45732:1;45722:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45722:12:0;45714:21;;;;;;;;;;;;;:31;;:83;;;45790:7;45766;:21;45774:9;45784:1;45774:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45774:12:0;45766:21;;;;;;;;;;;;;:31;45714:83;45692:146;;;45821:7;;45830;;45813:25;;;;;;;;;45692:146;45863:34;45875:7;:21;45883:9;45893:1;45883:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45883:12:0;45875:21;;;;;;;;;;;;;45863:7;;:11;:34::i;:::-;45853:44;;45922:34;45934:7;:21;45942:9;45952:1;45942:12;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;45942:12:0;45934:21;;;;;;;;;;;;;45922:7;;:11;:34::i;:::-;45912:44;-1:-1:-1;45672:3:0;;45630:338;;;-1:-1:-1;46004:7:0;;45992;;:20;;:11;:20::i;:::-;45982:7;:30;45978:61;;;46022:7;;46031;;46014:25;;;;;;;;45978:61;46058:7;;-1:-1:-1;46067:7:0;-1:-1:-1;45478:605:0;;;:::o;44289:467::-;44457:7;;;;44551:28;44575:3;44551:19;:7;44563:6;44551:11;:19::i;:28::-;44536:43;-1:-1:-1;44590:13:0;44606:29;44631:3;44606:20;:7;44618;44606:11;:20::i;:29::-;44590:45;-1:-1:-1;44646:23:0;44672:28;44590:45;44672:17;:7;44684:4;44672:11;:17::i;:::-;:21;;:28::i;:::-;44646:54;44736:4;;-1:-1:-1;44742:5:0;;-1:-1:-1;44289:467:0;;-1:-1:-1;;;;;44289:467:0:o;44764:534::-;44958:7;;;;45055:24;:7;45067:11;45055;:24::i;:::-;45037:42;-1:-1:-1;45090:12:0;45105:21;:4;45114:11;45105:8;:21::i;:::-;45090:36;-1:-1:-1;45137:13:0;45153:22;:5;45163:11;45153:9;:22::i;:::-;45137:38;-1:-1:-1;45186:23:0;45212:28;45137:38;45212:17;:7;45224:4;45212:11;:17::i;:28::-;45259:7;;;;-1:-1:-1;45285:4:0;;-1:-1:-1;44764:534:0;;-1:-1:-1;;;;;;;44764:534:0:o;5064:467::-;5122:7;5367:6;5363:47;;-1:-1:-1;5397:1:0;5390:8;;5363:47;5432:5;;;5436:1;5432;:5;:1;5456:5;;;;;:10;5448:56;;;;-1:-1:-1;;;5448:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35040:211;35087:7;;:12;:29;;;;-1:-1:-1;35103:8:0;;:13;35087:29;35083:42;;;35118:7;;35083:42;35153:7;;;35135:15;:25;35190:8;;;35171:16;:27;-1:-1:-1;35209:11:0;;;;35231:12;35040:211;:::o;41570:671::-;41721:15;41751:23;41789:12;41816:23;41854:12;41881:13;41908:19;41919:7;41908:10;:19::i;:::-;-1:-1:-1;;;;;41956:15:0;;;;;;:7;:15;;;;;;41706:221;;-1:-1:-1;41706:221:0;;-1:-1:-1;41706:221:0;;-1:-1:-1;41706:221:0;-1:-1:-1;41706:221:0;-1:-1:-1;41706:221:0;-1:-1:-1;41956:28:0;;41976:7;41956:19;:28::i;:::-;-1:-1:-1;;;;;41938:15:0;;;;;;:7;:15;;;;;;;;:46;;;;42013:7;:15;;;;:28;;42033:7;42013:19;:28::i;:::-;-1:-1:-1;;;;;41995:15:0;;;;;;;:7;:15;;;;;;:46;;;;42073:18;;;;;;;:39;;42096:15;42073:22;:39::i;:::-;-1:-1:-1;;;;;42052:18:0;;;;;;:7;:18;;;;;:60;42123:16;42133:5;42123:9;:16::i;:::-;42150:23;42162:4;42168;42150:11;:23::i;:::-;42206:9;-1:-1:-1;;;;;42189:44:0;42198:6;-1:-1:-1;;;;;42189:44:0;;42217:15;42189:44;;;;;;;;;;;;;;;;;;41570:671;;;;;;;;;:::o;40879:683::-;41028:15;41058:23;41096:12;41123:23;41161:12;41188:13;41215:19;41226:7;41215:10;:19::i;:::-;-1:-1:-1;;;;;41263:15:0;;;;;;:7;:15;;;;;;41013:221;;-1:-1:-1;41013:221:0;;-1:-1:-1;41013:221:0;;-1:-1:-1;41013:221:0;-1:-1:-1;41013:221:0;-1:-1:-1;41013:221:0;-1:-1:-1;41263:28:0;;41013:221;41263:19;:28::i;:::-;-1:-1:-1;;;;;41245:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;41323:18;;;;;:7;:18;;;;;:39;;41346:15;41323:22;:39::i;:::-;-1:-1:-1;;;;;41302:18:0;;;;;;:7;:18;;;;;;;;:60;;;;41394:7;:18;;;;:39;;41417:15;41394:22;:39::i;40261:610::-;40408:15;40438:23;40476:12;40503:23;40541:12;40568:13;40595:19;40606:7;40595:10;:19::i;:::-;-1:-1:-1;;;;;40643:15:0;;;;;;:7;:15;;;;;;40393:221;;-1:-1:-1;40393:221:0;;-1:-1:-1;40393:221:0;;-1:-1:-1;40393:221:0;-1:-1:-1;40393:221:0;-1:-1:-1;40393:221:0;-1:-1:-1;40643:28:0;;40393:221;40643:19;:28::i;42249:742::-;42400:15;42430:23;42468:12;42495:23;42533:12;42560:13;42587:19;42598:7;42587:10;:19::i;:::-;-1:-1:-1;;;;;42635:15:0;;;;;;:7;:15;;;;;;42385:221;;-1:-1:-1;42385:221:0;;-1:-1:-1;42385:221:0;;-1:-1:-1;42385:221:0;-1:-1:-1;42385:221:0;-1:-1:-1;42385:221:0;-1:-1:-1;42635:28:0;;42655:7;42635:19;:28::i;:::-;-1:-1:-1;;;;;42617:15:0;;;;;;:7;:15;;;;;;;;:46;;;;42692:7;:15;;;;:28;;42712:7;42692:19;:28::i;35259:115::-;35313:15;;35303:7;:25;35350:16;;35339:8;:27;35259:115::o;42999:325::-;43052:19;43074:10;:8;:10::i;:::-;43052:32;-1:-1:-1;43095:13:0;43111:22;:5;43052:32;43111:9;:22::i;:::-;43185:4;43169:22;;;;:7;:22;;;;;;43095:38;;-1:-1:-1;43169:33:0;;43095:38;43169:26;:33::i;:::-;43160:4;43144:22;;;;:7;:22;;;;;;;;:58;;;;43217:11;:26;;;;;;43213:103;;;43299:4;43283:22;;;;:7;:22;;;;;;:33;;43310:5;43283:26;:33::i;:::-;43274:4;43258:22;;;;:7;:22;;;;;:58;43213:103;42999:325;;;:::o;43332:147::-;43410:7;;:17;;43422:4;43410:11;:17::i;:::-;43400:7;:27;43451:10;;:20;;43466:4;43451:14;:20::i;:::-;43438:10;:33;-1:-1:-1;;43332:147:0:o
Swarm Source
ipfs://078a882b3e2564d51ca55caf7418efb4e955204eb356c10e6529ba6a09cf3fb0
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.