ETH Price: $3,321.01 (-1.36%)

Contract

0x0f48E776a4D983C0dDDF4C0c946D66e3786F134f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216495522025-01-18 6:22:5913 mins ago1737181379IN
XETRA AI: XETRA Token
0 ETH0.0011147923.96538392
Transfer216493272025-01-18 5:37:4758 mins ago1737178667IN
XETRA AI: XETRA Token
0 ETH0.0009998714.02485929
Transfer216493132025-01-18 5:34:591 hr ago1737178499IN
XETRA AI: XETRA Token
0 ETH0.0008084813.70759919
Transfer216493092025-01-18 5:34:111 hr ago1737178451IN
XETRA AI: XETRA Token
0 ETH0.0008510314.42893622
Transfer216493042025-01-18 5:33:111 hr ago1737178391IN
XETRA AI: XETRA Token
0 ETH0.0008655614.67530195
Approve216491392025-01-18 4:59:471 hr ago1737176387IN
XETRA AI: XETRA Token
0 ETH0.0006290913.50657445
Approve216490482025-01-18 4:41:351 hr ago1737175295IN
XETRA AI: XETRA Token
0 ETH0.0006851114.7092215
Approve216486602025-01-18 3:23:233 hrs ago1737170603IN
XETRA AI: XETRA Token
0 ETH0.0004841116.59932278
Approve216484212025-01-18 2:35:354 hrs ago1737167735IN
XETRA AI: XETRA Token
0 ETH0.000169675.76806344
Approve216484132025-01-18 2:33:594 hrs ago1737167639IN
XETRA AI: XETRA Token
0 ETH0.000161056.12249665
Approve216484042025-01-18 2:31:594 hrs ago1737167519IN
XETRA AI: XETRA Token
0 ETH0.000167676.3744019
Approve216483992025-01-18 2:30:594 hrs ago1737167459IN
XETRA AI: XETRA Token
0 ETH0.000286096.19195131
Approve216483932025-01-18 2:29:474 hrs ago1737167387IN
XETRA AI: XETRA Token
0 ETH0.000168816.42050803
Approve216483892025-01-18 2:28:594 hrs ago1737167339IN
XETRA AI: XETRA Token
0 ETH0.000172566.56303121
Approve216483872025-01-18 2:28:354 hrs ago1737167315IN
XETRA AI: XETRA Token
0 ETH0.000296746.42400253
Approve216483862025-01-18 2:28:234 hrs ago1737167303IN
XETRA AI: XETRA Token
0 ETH0.000226154.88947879
Transfer216483562025-01-18 2:22:114 hrs ago1737166931IN
XETRA AI: XETRA Token
0 ETH0.000404485.67357327
Approve216482112025-01-18 1:52:354 hrs ago1737165155IN
XETRA AI: XETRA Token
0 ETH0.000269615.79599972
Transfer216480312025-01-18 1:15:595 hrs ago1737162959IN
XETRA AI: XETRA Token
0 ETH0.000424245.95072636
Approve216479932025-01-18 1:08:235 hrs ago1737162503IN
XETRA AI: XETRA Token
0 ETH0.00029666.37621909
Approve216478992025-01-18 0:49:355 hrs ago1737161375IN
XETRA AI: XETRA Token
0 ETH0.000305196.56093992
Approve216475162025-01-17 23:32:237 hrs ago1737156743IN
XETRA AI: XETRA Token
0 ETH0.000407778.76611859
Approve216474492025-01-17 23:18:477 hrs ago1737155927IN
XETRA AI: XETRA Token
0 ETH0.000338357.27386133
Approve216472892025-01-17 22:46:237 hrs ago1737153983IN
XETRA AI: XETRA Token
0 ETH0.000395098.53989804
Approve216472812025-01-17 22:44:477 hrs ago1737153887IN
XETRA AI: XETRA Token
0 ETH0.000381598.2479736
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
216495532025-01-18 6:23:1113 mins ago1737181391
XETRA AI: XETRA Token
0.00962817 ETH
216495532025-01-18 6:23:1113 mins ago1737181391
XETRA AI: XETRA Token
0.00962817 ETH
216483892025-01-18 2:28:594 hrs ago1737167339
XETRA AI: XETRA Token
0.11304409 ETH
216483892025-01-18 2:28:594 hrs ago1737167339
XETRA AI: XETRA Token
0.11304409 ETH
216465672025-01-17 20:21:2310 hrs ago1737145283
XETRA AI: XETRA Token
0.24438717 ETH
216465672025-01-17 20:21:2310 hrs ago1737145283
XETRA AI: XETRA Token
0.24438717 ETH
216456042025-01-17 17:08:2313 hrs ago1737133703
XETRA AI: XETRA Token
0.3063764 ETH
216456042025-01-17 17:08:2313 hrs ago1737133703
XETRA AI: XETRA Token
0.3063764 ETH
216455072025-01-17 16:48:5913 hrs ago1737132539
XETRA AI: XETRA Token
0.30637866 ETH
216455072025-01-17 16:48:5913 hrs ago1737132539
XETRA AI: XETRA Token
0.30637866 ETH
216452992025-01-17 16:07:1114 hrs ago1737130031
XETRA AI: XETRA Token
0.0306742 ETH
216452992025-01-17 16:07:1114 hrs ago1737130031
XETRA AI: XETRA Token
0.0306742 ETH
216451292025-01-17 15:32:4715 hrs ago1737127967
XETRA AI: XETRA Token
0.3063745 ETH
216451292025-01-17 15:32:4715 hrs ago1737127967
XETRA AI: XETRA Token
0.3063745 ETH
216443962025-01-17 13:04:5917 hrs ago1737119099
XETRA AI: XETRA Token
0.48578794 ETH
216443962025-01-17 13:04:5917 hrs ago1737119099
XETRA AI: XETRA Token
0.48578794 ETH
216439422025-01-17 11:33:5919 hrs ago1737113639
XETRA AI: XETRA Token
0.29864193 ETH
216439422025-01-17 11:33:5919 hrs ago1737113639
XETRA AI: XETRA Token
0.29864193 ETH
216439292025-01-17 11:31:2319 hrs ago1737113483
XETRA AI: XETRA Token
0.25532323 ETH
216439292025-01-17 11:31:2319 hrs ago1737113483
XETRA AI: XETRA Token
0.25532323 ETH
216437572025-01-17 10:56:4719 hrs ago1737111407
XETRA AI: XETRA Token
0.26005223 ETH
216437572025-01-17 10:56:4719 hrs ago1737111407
XETRA AI: XETRA Token
0.26005223 ETH
216436802025-01-17 10:41:2319 hrs ago1737110483
XETRA AI: XETRA Token
0.2553222 ETH
216436802025-01-17 10:41:2319 hrs ago1737110483
XETRA AI: XETRA Token
0.2553222 ETH
216434352025-01-17 9:51:5920 hrs ago1737107519
XETRA AI: XETRA Token
0.35922564 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
XETRA

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-12-26
*/

/**

XETRA AI: The AI-Powered Blockchain Development Platform

XETRA AI empowers creators to transform ideas into profitable decentralized applications through advanced artificial intelligence. Our platform revolutionizes blockchain development by enabling anyone to create sophisticated dApps through natural language descriptions, while providing robust monetization opportunities through our integrated marketplace.

Development Capabilities
- Intuitive natural language processing for app creation
- Comprehensive application generation system
- Multi-chain deployment architecture (ETH, SOL, Base)
- Advanced AI-driven development tools
- Automated testing and optimization

Application Ecosystem
- Decentralized Finance (DeFi) Applications
- Blockchain Games and Entertainment
- Social Platforms and Communities
- Analytics and Tracking Tools
- Custom Business Solutions

Monetization Framework
- Integrated marketplace for application distribution
- Flexible pricing models for creators
- Direct revenue from application usage
- Built-in token-based reward system
- Community-driven discovery system

Join XETRA AI and start building the future of decentralized applications today.

Website: https://xetra.io/
Telegram: https://t.me/XetraAI
X: https://x.com/XetraAI
Whitepaper: https://docs.xetra.io/
Dapp: https://dapp.xetra.io/

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.23;

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

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 add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external 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 XETRA is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=20;
    uint256 private _finalBuyTax=4;
    uint256 private _finalSellTax=4;
    uint256 private _reduceBuyTaxAt=50;
    uint256 private _reduceSellTaxAt=20;
    uint256 private _preventSwapBefore=20;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"XETRA AI";
    string private constant _symbol = unicode"XETRA";
    uint256 public _maxTxAmount = 1000000 * 10**_decimals;
    uint256 public _maxWalletSize = 1000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    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()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        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 _transfer(address from, address to, uint256 amount) private {
        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");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 7, "Only 7 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeEnvoyLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function addBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function delBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function isBot(address a) public view returns (bool){
      return bots[a];
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
    }


    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_taxWallet);
      require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
      _finalBuyTax=_newFee;
      _finalSellTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

[{"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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeEnvoyLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]

6080604052600f6006556014600755600460085560046009556032600a556014600b556014600c555f600d556009600a6200003b919062000337565b6200004a90620f42406200034e565b600e556200005b6009600a62000337565b6200006a90620f42406200034e565b600f556200007b6009600a62000337565b6200008a90620f42406200034e565b6010556200009b6009600a62000337565b620000aa90620f42406200034e565b6011556013805461ffff60a81b191690555f6014819055601555348015620000d0575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600580546001600160a01b03191633179055620001316009600a62000337565b62000141906305f5e1006200034e565b335f9081526001602081905260408220929092556003906200016a5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554909116835291208054909216179055620001c83390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002016009600a62000337565b62000211906305f5e1006200034e565b60405190815260200160405180910390a362000368565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200027c57815f190482111562000260576200026062000228565b808516156200026e57918102915b93841c939080029062000241565b509250929050565b5f82620002945750600162000331565b81620002a257505f62000331565b8160018114620002bb5760028114620002c657620002e6565b600191505062000331565b60ff841115620002da57620002da62000228565b50506001821b62000331565b5060208310610133831016604e8410600b84101617156200030b575081810a62000331565b6200031783836200023c565b805f19048211156200032d576200032d62000228565b0290505b92915050565b5f6200034760ff84168362000284565b9392505050565b808202811582820484141762000331576200033162000228565b611aa580620003765f395ff3fe608060405260043610610134575f3560e01c80637d1db4a5116100a8578063bf474bed1161006d578063bf474bed14610371578063c9567bf914610386578063d34628cc1461039a578063dd62ed3e146103b9578063ec1f3f63146103fd578063f97d85741461041c575f80fd5b80637d1db4a5146102d55780638da5cb5b146102ea5780638f9a55c01461031057806395d89b4114610325578063a9059cbb14610352575f80fd5b8063313ce567116100f9578063313ce5671461020657806331c2d847146102215780633bbac5791461024257806351bc3c851461027957806370a082311461028d578063715018a6146102c1575f80fd5b806306fdde031461013f578063095ea7b3146101815780630faee56f146101b057806318160ddd146101d357806323b872dd146101e7575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50604080518082019091526008815267584554524120414960c01b60208201525b604051610178919061159a565b60405180910390f35b34801561018c575f80fd5b506101a061019b36600461160d565b610430565b6040519015158152602001610178565b3480156101bb575f80fd5b506101c560115481565b604051908152602001610178565b3480156101de575f80fd5b506101c5610446565b3480156101f2575f80fd5b506101a0610201366004611637565b610466565b348015610211575f80fd5b5060405160098152602001610178565b34801561022c575f80fd5b5061024061023b366004611689565b6104cd565b005b34801561024d575f80fd5b506101a061025c366004611749565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610284575f80fd5b5061024061055d565b348015610298575f80fd5b506101c56102a7366004611749565b6001600160a01b03165f9081526001602052604090205490565b3480156102cc575f80fd5b506102406105aa565b3480156102e0575f80fd5b506101c5600e5481565b3480156102f5575f80fd5b505f546040516001600160a01b039091168152602001610178565b34801561031b575f80fd5b506101c5600f5481565b348015610330575f80fd5b50604080518082019091526005815264584554524160d81b602082015261016b565b34801561035d575f80fd5b506101a061036c36600461160d565b61061b565b34801561037c575f80fd5b506101c560105481565b348015610391575f80fd5b50610240610627565b3480156103a5575f80fd5b506102406103b4366004611689565b6109d0565b3480156103c4575f80fd5b506101c56103d3366004611764565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610408575f80fd5b5061024061041736600461179b565b610a54565b348015610427575f80fd5b50610240610a99565b5f61043c338484610b4a565b5060015b92915050565b5f6104536009600a6118a6565b610461906305f5e1006118b4565b905090565b5f610472848484610c6d565b6104c384336104be85604051806060016040528060288152602001611a48602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611216565b610b4a565b5060019392505050565b5f546001600160a01b031633146104ff5760405162461bcd60e51b81526004016104f6906118cb565b60405180910390fd5b5f5b8151811015610559575f60045f84848151811061052057610520611900565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610501565b5050565b6005546001600160a01b0316336001600160a01b03161461057c575f80fd5b305f90815260016020526040902054801561059a5761059a8161124e565b47801561055957610559816113be565b5f546001600160a01b031633146105d35760405162461bcd60e51b81526004016104f6906118cb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61043c338484610c6d565b5f546001600160a01b031633146106505760405162461bcd60e51b81526004016104f6906118cb565b601354600160a01b900460ff16156106aa5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f6565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f39030906106e56009600a6118a6565b6104be906305f5e1006118b4565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610743573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107679190611914565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ea9190611914565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610834573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108589190611914565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061089f816001600160a01b03165f9081526001602052604090205490565b5f806108b25f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610918573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061093d919061192f565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610992573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b6919061195a565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146109f95760405162461bcd60e51b81526004016104f6906118cb565b5f5b815181101561055957600160045f848481518110610a1b57610a1b611900565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016109fb565b6005546001600160a01b0316336001600160a01b031614610a73575f80fd5b6008548111158015610a8757506009548111155b610a8f575f80fd5b6008819055600955565b5f546001600160a01b03163314610ac25760405162461bcd60e51b81526004016104f6906118cb565b610ace6009600a6118a6565b610adc906305f5e1006118b4565b600e55610aeb6009600a6118a6565b610af9906305f5e1006118b4565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610b296009600a6118a6565b610b37906305f5e1006118b4565b60405190815260200160405180910390a1565b6001600160a01b038316610bac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f6565b6001600160a01b038216610c0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f6565b6001600160a01b038216610d335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f6565b5f8111610d945760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f6565b5f80546001600160a01b03858116911614801590610dbf57505f546001600160a01b03848116911614155b156110d9576001600160a01b0384165f9081526004602052604090205460ff16158015610e0457506001600160a01b0383165f9081526004602052604090205460ff16155b610e0c575f80fd5b610e386064610e32600a54600d5411610e2757600654610e2b565b6008545b85906113f5565b9061147a565b6013549091506001600160a01b038581169116148015610e6657506012546001600160a01b03848116911614155b8015610e8a57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f7057600e54821115610ee15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f6565b600f5482610f03856001600160a01b03165f9081526001602052604090205490565b610f0d9190611979565b1115610f5b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f6565b600d8054905f610f6a8361198c565b91905055505b6013546001600160a01b038481169116148015610f9657506001600160a01b0384163014155b15610fc357610fc06064610e32600b54600d5411610fb657600754610e2b565b60095485906113f5565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ff957506013546001600160a01b038581169116145b801561100e5750601354600160b01b900460ff165b801561101b575060105481115b801561102a5750600c54600d54115b156110d75760155443111561103e575f6014555b6007601454106110905760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920372073656c6c732070657220626c6f636b2100000000000000000060448201526064016104f6565b6110ad6110a8846110a3846011546114bb565b6114bb565b61124e565b4780156110bd576110bd476113be565b60148054905f6110cc8361198c565b909155505043601555505b505b801561115157305f908152600160205260409020546110f890826114cf565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111489085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611173908361152d565b6001600160a01b0385165f908152600160205260409020556111b6611198838361152d565b6001600160a01b0385165f90815260016020526040902054906114cf565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111ff858561152d565b60405190815260200160405180910390a350505050565b5f81848411156112395760405162461bcd60e51b81526004016104f6919061159a565b505f61124584866119a4565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061129457611294611900565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130f9190611914565b8160018151811061132257611322611900565b6001600160a01b0392831660209182029290920101526012546113489130911684610b4a565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113809085905f908690309042906004016119b7565b5f604051808303815f87803b158015611397575f80fd5b505af11580156113a9573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610559573d5f803e3d5ffd5b5f825f0361140457505f610440565b5f61140f83856118b4565b90508261141c8583611a28565b146114735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f6565b9392505050565b5f61147383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061156e565b5f8183116114c95782611473565b50919050565b5f806114db8385611979565b9050838110156114735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f6565b5f61147383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611216565b5f818361158e5760405162461bcd60e51b81526004016104f6919061159a565b505f6112458486611a28565b5f602080835283518060208501525f5b818110156115c6578581018301518582016040015282016115aa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115fa575f80fd5b50565b8035611608816115e6565b919050565b5f806040838503121561161e575f80fd5b8235611629816115e6565b946020939093013593505050565b5f805f60608486031215611649575f80fd5b8335611654816115e6565b92506020840135611664816115e6565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561169a575f80fd5b823567ffffffffffffffff808211156116b1575f80fd5b818501915085601f8301126116c4575f80fd5b8135818111156116d6576116d6611675565b8060051b604051601f19603f830116810181811085821117156116fb576116fb611675565b604052918252848201925083810185019188831115611718575f80fd5b938501935b8285101561173d5761172e856115fd565b8452938501939285019261171d565b98975050505050505050565b5f60208284031215611759575f80fd5b8135611473816115e6565b5f8060408385031215611775575f80fd5b8235611780816115e6565b91506020830135611790816115e6565b809150509250929050565b5f602082840312156117ab575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561180057815f19048211156117e6576117e66117b2565b808516156117f357918102915b93841c93908002906117cb565b509250929050565b5f8261181657506001610440565b8161182257505f610440565b816001811461183857600281146118425761185e565b6001915050610440565b60ff841115611853576118536117b2565b50506001821b610440565b5060208310610133831016604e8410600b8410161715611881575081810a610440565b61188b83836117c6565b805f190482111561189e5761189e6117b2565b029392505050565b5f61147360ff841683611808565b8082028115828204841417610440576104406117b2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611924575f80fd5b8151611473816115e6565b5f805f60608486031215611941575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561196a575f80fd5b81518015158114611473575f80fd5b80820180821115610440576104406117b2565b5f6001820161199d5761199d6117b2565b5060010190565b81810381811115610440576104406117b2565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a075784516001600160a01b0316835293830193918301916001016119e2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a4257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bdc2a32f62faf60029ecd52cfd43455aca1a9d05d2d55c51b7646eab246666e364736f6c63430008170033

Deployed Bytecode

0x608060405260043610610134575f3560e01c80637d1db4a5116100a8578063bf474bed1161006d578063bf474bed14610371578063c9567bf914610386578063d34628cc1461039a578063dd62ed3e146103b9578063ec1f3f63146103fd578063f97d85741461041c575f80fd5b80637d1db4a5146102d55780638da5cb5b146102ea5780638f9a55c01461031057806395d89b4114610325578063a9059cbb14610352575f80fd5b8063313ce567116100f9578063313ce5671461020657806331c2d847146102215780633bbac5791461024257806351bc3c851461027957806370a082311461028d578063715018a6146102c1575f80fd5b806306fdde031461013f578063095ea7b3146101815780630faee56f146101b057806318160ddd146101d357806323b872dd146101e7575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b50604080518082019091526008815267584554524120414960c01b60208201525b604051610178919061159a565b60405180910390f35b34801561018c575f80fd5b506101a061019b36600461160d565b610430565b6040519015158152602001610178565b3480156101bb575f80fd5b506101c560115481565b604051908152602001610178565b3480156101de575f80fd5b506101c5610446565b3480156101f2575f80fd5b506101a0610201366004611637565b610466565b348015610211575f80fd5b5060405160098152602001610178565b34801561022c575f80fd5b5061024061023b366004611689565b6104cd565b005b34801561024d575f80fd5b506101a061025c366004611749565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610284575f80fd5b5061024061055d565b348015610298575f80fd5b506101c56102a7366004611749565b6001600160a01b03165f9081526001602052604090205490565b3480156102cc575f80fd5b506102406105aa565b3480156102e0575f80fd5b506101c5600e5481565b3480156102f5575f80fd5b505f546040516001600160a01b039091168152602001610178565b34801561031b575f80fd5b506101c5600f5481565b348015610330575f80fd5b50604080518082019091526005815264584554524160d81b602082015261016b565b34801561035d575f80fd5b506101a061036c36600461160d565b61061b565b34801561037c575f80fd5b506101c560105481565b348015610391575f80fd5b50610240610627565b3480156103a5575f80fd5b506102406103b4366004611689565b6109d0565b3480156103c4575f80fd5b506101c56103d3366004611764565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610408575f80fd5b5061024061041736600461179b565b610a54565b348015610427575f80fd5b50610240610a99565b5f61043c338484610b4a565b5060015b92915050565b5f6104536009600a6118a6565b610461906305f5e1006118b4565b905090565b5f610472848484610c6d565b6104c384336104be85604051806060016040528060288152602001611a48602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611216565b610b4a565b5060019392505050565b5f546001600160a01b031633146104ff5760405162461bcd60e51b81526004016104f6906118cb565b60405180910390fd5b5f5b8151811015610559575f60045f84848151811061052057610520611900565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610501565b5050565b6005546001600160a01b0316336001600160a01b03161461057c575f80fd5b305f90815260016020526040902054801561059a5761059a8161124e565b47801561055957610559816113be565b5f546001600160a01b031633146105d35760405162461bcd60e51b81526004016104f6906118cb565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f61043c338484610c6d565b5f546001600160a01b031633146106505760405162461bcd60e51b81526004016104f6906118cb565b601354600160a01b900460ff16156106aa5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104f6565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f39030906106e56009600a6118a6565b6104be906305f5e1006118b4565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610743573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107679190611914565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ea9190611914565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610834573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108589190611914565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d719473061089f816001600160a01b03165f9081526001602052604090205490565b5f806108b25f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610918573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061093d919061192f565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610992573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b6919061195a565b506013805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b031633146109f95760405162461bcd60e51b81526004016104f6906118cb565b5f5b815181101561055957600160045f848481518110610a1b57610a1b611900565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016109fb565b6005546001600160a01b0316336001600160a01b031614610a73575f80fd5b6008548111158015610a8757506009548111155b610a8f575f80fd5b6008819055600955565b5f546001600160a01b03163314610ac25760405162461bcd60e51b81526004016104f6906118cb565b610ace6009600a6118a6565b610adc906305f5e1006118b4565b600e55610aeb6009600a6118a6565b610af9906305f5e1006118b4565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610b296009600a6118a6565b610b37906305f5e1006118b4565b60405190815260200160405180910390a1565b6001600160a01b038316610bac5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104f6565b6001600160a01b038216610c0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104f6565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104f6565b6001600160a01b038216610d335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104f6565b5f8111610d945760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104f6565b5f80546001600160a01b03858116911614801590610dbf57505f546001600160a01b03848116911614155b156110d9576001600160a01b0384165f9081526004602052604090205460ff16158015610e0457506001600160a01b0383165f9081526004602052604090205460ff16155b610e0c575f80fd5b610e386064610e32600a54600d5411610e2757600654610e2b565b6008545b85906113f5565b9061147a565b6013549091506001600160a01b038581169116148015610e6657506012546001600160a01b03848116911614155b8015610e8a57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f7057600e54821115610ee15760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104f6565b600f5482610f03856001600160a01b03165f9081526001602052604090205490565b610f0d9190611979565b1115610f5b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104f6565b600d8054905f610f6a8361198c565b91905055505b6013546001600160a01b038481169116148015610f9657506001600160a01b0384163014155b15610fc357610fc06064610e32600b54600d5411610fb657600754610e2b565b60095485906113f5565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610ff957506013546001600160a01b038581169116145b801561100e5750601354600160b01b900460ff165b801561101b575060105481115b801561102a5750600c54600d54115b156110d75760155443111561103e575f6014555b6007601454106110905760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920372073656c6c732070657220626c6f636b2100000000000000000060448201526064016104f6565b6110ad6110a8846110a3846011546114bb565b6114bb565b61124e565b4780156110bd576110bd476113be565b60148054905f6110cc8361198c565b909155505043601555505b505b801561115157305f908152600160205260409020546110f890826114cf565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111489085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054611173908361152d565b6001600160a01b0385165f908152600160205260409020556111b6611198838361152d565b6001600160a01b0385165f90815260016020526040902054906114cf565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111ff858561152d565b60405190815260200160405180910390a350505050565b5f81848411156112395760405162461bcd60e51b81526004016104f6919061159a565b505f61124584866119a4565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061129457611294611900565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112eb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130f9190611914565b8160018151811061132257611322611900565b6001600160a01b0392831660209182029290920101526012546113489130911684610b4a565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113809085905f908690309042906004016119b7565b5f604051808303815f87803b158015611397575f80fd5b505af11580156113a9573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610559573d5f803e3d5ffd5b5f825f0361140457505f610440565b5f61140f83856118b4565b90508261141c8583611a28565b146114735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104f6565b9392505050565b5f61147383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061156e565b5f8183116114c95782611473565b50919050565b5f806114db8385611979565b9050838110156114735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104f6565b5f61147383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611216565b5f818361158e5760405162461bcd60e51b81526004016104f6919061159a565b505f6112458486611a28565b5f602080835283518060208501525f5b818110156115c6578581018301518582016040015282016115aa565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115fa575f80fd5b50565b8035611608816115e6565b919050565b5f806040838503121561161e575f80fd5b8235611629816115e6565b946020939093013593505050565b5f805f60608486031215611649575f80fd5b8335611654816115e6565b92506020840135611664816115e6565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561169a575f80fd5b823567ffffffffffffffff808211156116b1575f80fd5b818501915085601f8301126116c4575f80fd5b8135818111156116d6576116d6611675565b8060051b604051601f19603f830116810181811085821117156116fb576116fb611675565b604052918252848201925083810185019188831115611718575f80fd5b938501935b8285101561173d5761172e856115fd565b8452938501939285019261171d565b98975050505050505050565b5f60208284031215611759575f80fd5b8135611473816115e6565b5f8060408385031215611775575f80fd5b8235611780816115e6565b91506020830135611790816115e6565b809150509250929050565b5f602082840312156117ab575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561180057815f19048211156117e6576117e66117b2565b808516156117f357918102915b93841c93908002906117cb565b509250929050565b5f8261181657506001610440565b8161182257505f610440565b816001811461183857600281146118425761185e565b6001915050610440565b60ff841115611853576118536117b2565b50506001821b610440565b5060208310610133831016604e8410600b8410161715611881575081810a610440565b61188b83836117c6565b805f190482111561189e5761189e6117b2565b029392505050565b5f61147360ff841683611808565b8082028115828204841417610440576104406117b2565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611924575f80fd5b8151611473816115e6565b5f805f60608486031215611941575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561196a575f80fd5b81518015158114611473575f80fd5b80820180821115610440576104406117b2565b5f6001820161199d5761199d6117b2565b5060010190565b81810381811115610440576104406117b2565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a075784516001600160a01b0316835293830193918301916001016119e2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611a4257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bdc2a32f62faf60029ecd52cfd43455aca1a9d05d2d55c51b7646eab246666e364736f6c63430008170033

Deployed Bytecode Sourcemap

4852:8336:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6735:83;;;;;;;;;;-1:-1:-1;6805:5:0;;;;;;;;;;;;-1:-1:-1;;;6805:5:0;;;;6735:83;;;;;;;:::i;:::-;;;;;;;;7568:161;;;;;;;;;;-1:-1:-1;7568:161:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7568:161:0;1162:187:1;5937:51:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5937:51:0;1354:177:1;7012:95:0;;;;;;;;;;;;;:::i;7737:313::-;;;;;;;;;;-1:-1:-1;7737:313:0;;;;;:::i;:::-;;:::i;6921:83::-;;;;;;;;;;-1:-1:-1;6921:83:0;;5565:1;2139:36:1;;2127:2;2112:18;6921:83:0;1997:184:1;11632:162:0;;;;;;;;;;-1:-1:-1;11632:162:0;;;;;:::i;:::-;;:::i;:::-;;11802:83;;;;;;;;;;-1:-1:-1;11802:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;11870:7:0;11849:4;11870:7;;;:4;:7;;;;;;;;;11802:83;12837:348;;;;;;;;;;;;;:::i;7115:119::-;;;;;;;;;;-1:-1:-1;7115:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;7208:18:0;7181:7;7208:18;;;:9;:18;;;;;;;7115:119;3933:148;;;;;;;;;;;;;:::i;5751:53::-;;;;;;;;;;;;;;;;3719:79;;;;;;;;;;-1:-1:-1;3757:7:0;3784:6;3719:79;;-1:-1:-1;;;;;3784:6:0;;;3842:51:1;;3830:2;3815:18;3719:79:0;3696:203:1;5811:55:0;;;;;;;;;;;;;;;;6826:87;;;;;;;;;;-1:-1:-1;6898:7:0;;;;;;;;;;;;-1:-1:-1;;;6898:7:0;;;;6826:87;;7242:167;;;;;;;;;;-1:-1:-1;7242:167:0;;;;;:::i;:::-;;:::i;5873:57::-;;;;;;;;;;;;;;;;11893:671;;;;;;;;;;;;;:::i;11460:164::-;;;;;;;;;;-1:-1:-1;11460:164:0;;;;;:::i;:::-;;:::i;7417:143::-;;;;;;;;;;-1:-1:-1;7417:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7525:18:0;;;7498:7;7525:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7417:143;12574:218;;;;;;;;;;-1:-1:-1;12574:218:0;;;;;:::i;:::-;;:::i;11188:164::-;;;;;;;;;;;;;:::i;7568:161::-;7643:4;7660:39;1554:10;7683:7;7692:6;7660:8;:39::i;:::-;-1:-1:-1;7717:4:0;7568:161;;;;;:::o;7012:95::-;7065:7;5620:13;5565:1;5620:2;:13;:::i;:::-;5608:25;;:9;:25;:::i;:::-;7085:14;;7012:95;:::o;7737:313::-;7835:4;7852:36;7862:6;7870:9;7881:6;7852:9;:36::i;:::-;7899:121;7908:6;1554:10;7930:89;7968:6;7930:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7930:19:0;;;;;;:11;:19;;;;;;;;1554:10;7930:33;;;;;;;;;;:37;:89::i;:::-;7899:8;:121::i;:::-;-1:-1:-1;8038:4:0;7737:313;;;;;:::o;11632:162::-;3846:6;;-1:-1:-1;;;;;3846:6:0;1554:10;3846:22;3838:67;;;;-1:-1:-1;;;3838:67:0;;;;;;;:::i;:::-;;;;;;;;;11705:6:::1;11700:87;11721:6;:13;11717:1;:17;11700:87;;;11772:5;11754:4;:15;11759:6;11766:1;11759:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11754:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11754:15:0;:23;;-1:-1:-1;;11754:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11736:3:0::1;11700:87;;;;11632:162:::0;:::o;12837:348::-;12901:10;;-1:-1:-1;;;;;12901:10:0;1554;-1:-1:-1;;;;;12887:24:0;;12879:33;;;;;;12962:4;12923:20;7208:18;;;:9;:18;;;;;;12982:14;;12979:73;;13010:30;13027:12;13010:16;:30::i;:::-;13081:21;13116:12;;13113:65;;13142:24;13155:10;13142:12;:24::i;3933:148::-;3846:6;;-1:-1:-1;;;;;3846:6:0;1554:10;3846:22;3838:67;;;;-1:-1:-1;;;3838:67:0;;;;;;;:::i;:::-;4040:1:::1;4024:6:::0;;4003:40:::1;::::0;-1:-1:-1;;;;;4024:6:0;;::::1;::::0;4003:40:::1;::::0;4040:1;;4003:40:::1;4071:1;4054:19:::0;;-1:-1:-1;;;;;;4054:19:0::1;::::0;;3933:148::o;7242:167::-;7320:4;7337:42;1554:10;7361:9;7372:6;7337:9;:42::i;11893:671::-;3846:6;;-1:-1:-1;;;;;3846:6:0;1554:10;3846:22;3838:67;;;;-1:-1:-1;;;3838:67:0;;;;;;;:::i;:::-;11957:11:::1;::::0;-1:-1:-1;;;11957:11:0;::::1;;;11956:12;11948:47;;;::::0;-1:-1:-1;;;11948:47:0;;6859:2:1;11948:47:0::1;::::0;::::1;6841:21:1::0;6898:2;6878:18;;;6871:30;6937:25;6917:18;;;6910:53;6980:18;;11948:47:0::1;6657:347:1::0;11948:47:0::1;12006:15;:80:::0;;-1:-1:-1;;;;;;12006:80:0::1;12043:42;12006:80:::0;;::::1;::::0;;;12097:58:::1;::::0;12114:4:::1;::::0;5620:13:::1;5565:1;5620:2;:13;:::i;:::-;5608:25;::::0;:9:::1;:25;:::i;12097:58::-;12200:15;;;;;;;;;-1:-1:-1::0;;;;;12200:15:0::1;-1:-1:-1::0;;;;;12200:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12182:55:0::1;;12246:4;12253:15;;;;;;;;;-1:-1:-1::0;;;;;12253:15:0::1;-1:-1:-1::0;;;;;12253:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12182:94;::::0;-1:-1:-1;;;;;;12182:94:0::1;::::0;;;;;;-1:-1:-1;;;;;7495:15:1;;;12182:94:0::1;::::0;::::1;7477:34:1::0;7547:15;;7527:18;;;7520:43;7412:18;;12182:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12166:13;:110:::0;;-1:-1:-1;;;;;12166:110:0;;::::1;-1:-1:-1::0;;;;;;12166:110:0;;::::1;;::::0;;12287:15:::1;::::0;::::1;:31;12326:21;12357:4;12363:24;12357:4:::0;-1:-1:-1;;;;;7208:18:0;7181:7;7208:18;;;:9;:18;;;;;;;7115:119;12363:24:::1;12388:1;12390::::0;12392:7:::1;3757::::0;3784:6;-1:-1:-1;;;;;3784:6:0;;3719:79;12392:7:::1;12287:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12287:129:0;;;-1:-1:-1;;;;;7933:15:1;;;12287:129:0::1;::::0;::::1;7915:34:1::0;7965:18;;;7958:34;;;;8008:18;;;8001:34;;;;8051:18;;;8044:34;8115:15;;;8094:19;;;8087:44;12400:15:0::1;8147:19:1::0;;;8140:35;7849:19;;12287:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12434:13:0::1;::::0;12465:15:::1;::::0;12427:71:::1;::::0;-1:-1:-1;;;12427:71:0;;-1:-1:-1;;;;;12465:15:0;;::::1;12427:71;::::0;::::1;8671:51:1::0;-1:-1:-1;;8738:18:1;;;8731:34;12434:13:0;::::1;::::0;-1:-1:-1;12427:29:0::1;::::0;8644:18:1;;12427:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;12509:11:0::1;:18:::0;;-1:-1:-1;;;;12538:18:0;-1:-1:-1;;;12538:18:0;;;11893:671::o;11460:164::-;3846:6;;-1:-1:-1;;;;;3846:6:0;1554:10;3846:22;3838:67;;;;-1:-1:-1;;;3838:67:0;;;;;;;:::i;:::-;11534:6:::1;11529:88;11550:5;:12;11546:1;:16;11529:88;;;11601:4;11584;:14;11589:5;11595:1;11589:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11584:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11584:14:0;:21;;-1:-1:-1;;11584:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;11564:3:0::1;11529:88;;12574:218:::0;12649:10;;-1:-1:-1;;;;;12649:10:0;1554;-1:-1:-1;;;;;12635:24:0;;12627:33;;;;;;12686:12;;12677:7;:21;;:47;;;;;12711:13;;12702:7;:22;;12677:47;12669:56;;;;;;12734:12;:20;;;12763:13;:21;12574:218::o;11188:164::-;3846:6;;-1:-1:-1;;;;;3846:6:0;1554:10;3846:22;3838:67;;;;-1:-1:-1;;;3838:67:0;;;;;;;:::i;:::-;5620:13:::1;5565:1;5620:2;:13;:::i;:::-;5608:25;::::0;:9:::1;:25;:::i;:::-;11246:12;:22:::0;5620:13:::1;5565:1;5620:2;:13;:::i;:::-;5608:25;::::0;:9:::1;:25;:::i;:::-;11279:14;:22:::0;11317:27:::1;5620:13;5565:1;5620:2;:13;:::i;:::-;5608:25;::::0;:9:::1;:25;:::i;:::-;11317:27;::::0;1500:25:1;;;1488:2;1473:18;11317:27:0::1;;;;;;;11188:164::o:0;8058:335::-;-1:-1:-1;;;;;8151:19:0;;8143:68;;;;-1:-1:-1;;;8143:68:0;;9260:2:1;8143:68:0;;;9242:21:1;9299:2;9279:18;;;9272:30;9338:34;9318:18;;;9311:62;-1:-1:-1;;;9389:18:1;;;9382:34;9433:19;;8143:68:0;9058:400:1;8143:68:0;-1:-1:-1;;;;;8230:21:0;;8222:68;;;;-1:-1:-1;;;8222:68:0;;9665:2:1;8222:68:0;;;9647:21:1;9704:2;9684:18;;;9677:30;9743:34;9723:18;;;9716:62;-1:-1:-1;;;9794:18:1;;;9787:32;9836:19;;8222:68:0;9463:398:1;8222:68:0;-1:-1:-1;;;;;8301:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8353:32;;1500:25:1;;;8353:32:0;;1473:18:1;8353:32:0;;;;;;;8058:335;;;:::o;8401:2180::-;-1:-1:-1;;;;;8489:18:0;;8481:68;;;;-1:-1:-1;;;8481:68:0;;10068:2:1;8481:68:0;;;10050:21:1;10107:2;10087:18;;;10080:30;10146:34;10126:18;;;10119:62;-1:-1:-1;;;10197:18:1;;;10190:35;10242:19;;8481:68:0;9866:401:1;8481:68:0;-1:-1:-1;;;;;8568:16:0;;8560:64;;;;-1:-1:-1;;;8560:64:0;;10474:2:1;8560:64:0;;;10456:21:1;10513:2;10493:18;;;10486:30;10552:34;10532:18;;;10525:62;-1:-1:-1;;;10603:18:1;;;10596:33;10646:19;;8560:64:0;10272:399:1;8560:64:0;8652:1;8643:6;:10;8635:64;;;;-1:-1:-1;;;8635:64:0;;10878:2:1;8635:64:0;;;10860:21:1;10917:2;10897:18;;;10890:30;10956:34;10936:18;;;10929:62;-1:-1:-1;;;11007:18:1;;;11000:39;11056:19;;8635:64:0;10676:405:1;8635:64:0;8710:17;3784:6;;-1:-1:-1;;;;;8744:15:0;;;3784:6;;8744:15;;;;:32;;-1:-1:-1;3757:7:0;3784:6;-1:-1:-1;;;;;8763:13:0;;;3784:6;;8763:13;;8744:32;8740:1485;;;-1:-1:-1;;;;;8802:10:0;;;;;;:4;:10;;;;;;;;8801:11;:24;;;;-1:-1:-1;;;;;;8817:8:0;;;;;;:4;:8;;;;;;;;8816:9;8801:24;8793:33;;;;;;8853:76;8925:3;8853:67;8875:15;;8865:9;;:25;8864:55;;8905:14;;8864:55;;;8892:12;;8864:55;8853:6;;:10;:67::i;:::-;:71;;:76::i;:::-;8958:13;;8841:88;;-1:-1:-1;;;;;;8950:21:0;;;8958:13;;8950:21;:55;;;;-1:-1:-1;8989:15:0;;-1:-1:-1;;;;;8975:30:0;;;8989:15;;8975:30;;8950:55;:83;;;;-1:-1:-1;;;;;;9011:22:0;;;;;;:18;:22;;;;;;;;9009:24;8950:83;8946:313;;;9073:12;;9063:6;:22;;9055:60;;;;-1:-1:-1;;;9055:60:0;;11288:2:1;9055:60:0;;;11270:21:1;11327:2;11307:18;;;11300:30;11366:27;11346:18;;;11339:55;11411:18;;9055:60:0;11086:349:1;9055:60:0;9168:14;;9158:6;9142:13;9152:2;-1:-1:-1;;;;;7208:18:0;7181:7;7208:18;;;:9;:18;;;;;;;7115:119;9142:13;:22;;;;:::i;:::-;:40;;9134:79;;;;-1:-1:-1;;;9134:79:0;;11772:2:1;9134:79:0;;;11754:21:1;11811:2;11791:18;;;11784:30;11850:28;11830:18;;;11823:56;11896:18;;9134:79:0;11570:350:1;9134:79:0;9232:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8946:313;9284:13;;-1:-1:-1;;;;;9278:19:0;;;9284:13;;9278:19;:43;;;;-1:-1:-1;;;;;;9301:20:0;;9316:4;9301:20;;9278:43;9275:174;;;9354:79;9429:3;9354:70;9376:16;;9366:9;;:26;9365:58;;9408:15;;9365:58;;;9394:13;;9354:6;;:10;:70::i;:79::-;9342:91;;9275:174;9514:4;9465:28;7208:18;;;:9;:18;;;;;;9540:6;;-1:-1:-1;;;9540:6:0;;;;9539:7;:30;;;;-1:-1:-1;9556:13:0;;-1:-1:-1;;;;;9550:19:0;;;9556:13;;9550:19;9539:30;:45;;;;-1:-1:-1;9573:11:0;;-1:-1:-1;;;9573:11:0;;;;9539:45;:89;;;;;9611:17;;9588:20;:40;9539:89;:123;;;;;9644:18;;9632:9;;:30;9539:123;9535:679;;;9702:13;;9687:12;:28;9683:90;;;9752:1;9740:9;:13;9683:90;9811:1;9799:9;;:13;9791:49;;;;-1:-1:-1;;;9791:49:0;;12267:2:1;9791:49:0;;;12249:21:1;12306:2;12286:18;;;12279:30;12345:25;12325:18;;;12318:53;12388:18;;9791:49:0;12065:347:1;9791:49:0;9859:69;9876:51;9880:6;9888:38;9892:20;9914:11;;9888:3;:38::i;:::-;9876:3;:51::i;:::-;9859:16;:69::i;:::-;9976:21;10020:22;;10016:106;;10067:35;10080:21;10067:12;:35::i;:::-;10140:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10186:12:0;10170:13;:28;-1:-1:-1;9535:679:0;8778:1447;8740:1485;10240:11;;10237:161;;10308:4;10290:24;;;;:9;:24;;;;;;:39;;10319:9;10290:28;:39::i;:::-;10283:4;10265:24;;;;:9;:24;;;;;;;:64;;;;10347:39;;-1:-1:-1;;;;;10347:39:0;;;;;;;10376:9;1500:25:1;;1488:2;1473:18;;1354:177;10347:39:0;;;;;;;;10237:161;-1:-1:-1;;;;;10424:15:0;;;;;;:9;:15;;;;;;:27;;10444:6;10424:19;:27::i;:::-;-1:-1:-1;;;;;10408:15:0;;;;;;:9;:15;;;;;:43;10476:40;10494:21;:6;10505:9;10494:10;:21::i;:::-;-1:-1:-1;;;;;10476:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10462:13:0;;;;;;;:9;:13;;;;;:54;;;;10532:41;;;10551:21;:6;10562:9;10551:10;:21::i;:::-;10532:41;;1500:25:1;;;1488:2;1473:18;10532:41:0;;;;;;;8470:2111;8401:2180;;;:::o;2611:190::-;2697:7;2733:12;2725:6;;;;2717:29;;;;-1:-1:-1;;;2717:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2757:9:0;2769:5;2773:1;2769;:5;:::i;:::-;2757:17;2611:190;-1:-1:-1;;;;;2611:190:0:o;10697:483::-;6344:6;:13;;-1:-1:-1;;;;6344:13:0;-1:-1:-1;;;6344:13:0;;;10799:16:::1;::::0;;10813:1:::1;10799:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10799:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10799:16:0::1;10775:40;;10844:4;10826;10831:1;10826:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10826:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10870:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10870:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10826:7;;10870:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10860:4;10865:1;10860:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10860:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10935:15:::1;::::0;10903:62:::1;::::0;10920:4:::1;::::0;10935:15:::1;10953:11:::0;10903:8:::1;:62::i;:::-;10976:15;::::0;:196:::1;::::0;-1:-1:-1;;;10976:196:0;;-1:-1:-1;;;;;10976:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11057:11;;10976:15:::1;::::0;11099:4;;11126::::1;::::0;11146:15:::1;::::0;10976:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6380:6:0;:14;;-1:-1:-1;;;;6380:14:0;;;-1:-1:-1;;;;10697:483:0:o;11360:92::-;11417:10;;:27;;-1:-1:-1;;;;;11417:10:0;;;;:27;;;;;11437:6;;11417:10;:27;:10;:27;11437:6;11417:10;:27;;;;;;;;;;;;;;;;;;;2809:246;2867:7;2891:1;2896;2891:6;2887:47;;-1:-1:-1;2921:1:0;2914:8;;2887:47;2944:9;2956:5;2960:1;2956;:5;:::i;:::-;2944:17;-1:-1:-1;2989:1:0;2980:5;2984:1;2944:17;2980:5;:::i;:::-;:10;2972:56;;;;-1:-1:-1;;;2972:56:0;;13959:2:1;2972:56:0;;;13941:21:1;13998:2;13978:18;;;13971:30;14037:34;14017:18;;;14010:62;-1:-1:-1;;;14088:18:1;;;14081:31;14129:19;;2972:56:0;13757:397:1;2972:56:0;3046:1;2809:246;-1:-1:-1;;;2809:246:0:o;3063:132::-;3121:7;3148:39;3152:1;3155;3148:39;;;;;;;;;;;;;;;;;:3;:39::i;10591:98::-;10648:7;10675:1;10673;:3;10672:9;;10680:1;10672:9;;;-1:-1:-1;10678:1:0;10591:98;-1:-1:-1;10591:98:0:o;2280:179::-;2338:7;;2370:5;2374:1;2370;:5;:::i;:::-;2358:17;;2399:1;2394;:6;;2386:46;;;;-1:-1:-1;;;2386:46:0;;14361:2:1;2386:46:0;;;14343:21:1;14400:2;14380:18;;;14373:30;14439:29;14419:18;;;14412:57;14486:18;;2386:46:0;14159:351:1;2467:136:0;2525:7;2552:43;2556:1;2559;2552:43;;;;;;;;;;;;;;;;;:3;:43::i;3203:189::-;3289:7;3324:12;3317:5;3309:28;;;;-1:-1:-1;;;3309:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3348:9:0;3360:5;3364:1;3360;:5;:::i;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;622:70;567:131;:::o;703:134::-;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4482:127::-;4543:10;4538:3;4534:20;4531:1;4524:31;4574:4;4571:1;4564:15;4598:4;4595:1;4588:15;4614:416;4703:1;4740:5;4703:1;4754:270;4775:7;4765:8;4762:21;4754:270;;;4834:4;4830:1;4826:6;4822:17;4816:4;4813:27;4810:53;;;4843:18;;:::i;:::-;4893:7;4883:8;4879:22;4876:55;;;4913:16;;;;4876:55;4992:22;;;;4952:15;;;;4754:270;;;4758:3;4614:416;;;;;:::o;5035:806::-;5084:5;5114:8;5104:80;;-1:-1:-1;5155:1:1;5169:5;;5104:80;5203:4;5193:76;;-1:-1:-1;5240:1:1;5254:5;;5193:76;5285:4;5303:1;5298:59;;;;5371:1;5366:130;;;;5278:218;;5298:59;5328:1;5319:10;;5342:5;;;5366:130;5403:3;5393:8;5390:17;5387:43;;;5410:18;;:::i;:::-;-1:-1:-1;;5466:1:1;5452:16;;5481:5;;5278:218;;5580:2;5570:8;5567:16;5561:3;5555:4;5552:13;5548:36;5542:2;5532:8;5529:16;5524:2;5518:4;5515:12;5511:35;5508:77;5505:159;;;-1:-1:-1;5617:19:1;;;5649:5;;5505:159;5696:34;5721:8;5715:4;5696:34;:::i;:::-;5766:6;5762:1;5758:6;5754:19;5745:7;5742:32;5739:58;;;5777:18;;:::i;:::-;5815:20;;5035:806;-1:-1:-1;;;5035:806:1:o;5846:140::-;5904:5;5933:47;5974:4;5964:8;5960:19;5954:4;5933:47;:::i;5991:168::-;6064:9;;;6095;;6112:15;;;6106:22;;6092:37;6082:71;;6133:18;;:::i;6164:356::-;6366:2;6348:21;;;6385:18;;;6378:30;6444:34;6439:2;6424:18;;6417:62;6511:2;6496:18;;6164:356::o;6525:127::-;6586:10;6581:3;6577:20;6574:1;6567:31;6617:4;6614:1;6607:15;6641:4;6638:1;6631:15;7009:251;7079:6;7132:2;7120:9;7111:7;7107:23;7103:32;7100:52;;;7148:1;7145;7138:12;7100:52;7180:9;7174:16;7199:31;7224:5;7199:31;:::i;8186:306::-;8274:6;8282;8290;8343:2;8331:9;8322:7;8318:23;8314:32;8311:52;;;8359:1;8356;8349:12;8311:52;8388:9;8382:16;8372:26;;8438:2;8427:9;8423:18;8417:25;8407:35;;8482:2;8471:9;8467:18;8461:25;8451:35;;8186:306;;;;;:::o;8776:277::-;8843:6;8896:2;8884:9;8875:7;8871:23;8867:32;8864:52;;;8912:1;8909;8902:12;8864:52;8944:9;8938:16;8997:5;8990:13;8983:21;8976:5;8973:32;8963:60;;9019:1;9016;9009:12;11440:125;11505:9;;;11526:10;;;11523:36;;;11539:18;;:::i;11925:135::-;11964:3;11985:17;;;11982:43;;12005:18;;:::i;:::-;-1:-1:-1;12052:1:1;12041:13;;11925:135::o;12417:128::-;12484:9;;;12505:11;;;12502:37;;;12519:18;;:::i;12550:980::-;12812:4;12860:3;12849:9;12845:19;12891:6;12880:9;12873:25;12917:2;12955:6;12950:2;12939:9;12935:18;12928:34;12998:3;12993:2;12982:9;12978:18;12971:31;13022:6;13057;13051:13;13088:6;13080;13073:22;13126:3;13115:9;13111:19;13104:26;;13165:2;13157:6;13153:15;13139:29;;13186:1;13196:195;13210:6;13207:1;13204:13;13196:195;;;13275:13;;-1:-1:-1;;;;;13271:39:1;13259:52;;13366:15;;;;13331:12;;;;13307:1;13225:9;13196:195;;;-1:-1:-1;;;;;;;13447:32:1;;;;13442:2;13427:18;;13420:60;-1:-1:-1;;;13511:3:1;13496:19;13489:35;13408:3;12550:980;-1:-1:-1;;;12550:980:1:o;13535:217::-;13575:1;13601;13591:132;;13645:10;13640:3;13636:20;13633:1;13626:31;13680:4;13677:1;13670:15;13708:4;13705:1;13698:15;13591:132;-1:-1:-1;13737:9:1;;13535:217::o

Swarm Source

ipfs://bdc2a32f62faf60029ecd52cfd43455aca1a9d05d2d55c51b7646eab246666e3

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

XETRA AI is reshaping the future of decentralized computing with its groundbreaking platform, XETRA - where AI meets blockchain innovation.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.