ETH Price: $1,932.80 (-2.03%)
 

Overview

Max Total Supply

100,000,000,000 BURGLAR

Holders

720 (0.00%)

Transfers

-
267 ( -44.61%)

Market

Price

$0.00 @ 0.000000 ETH (-13.83%)

Onchain Market Cap

-

Circulating Supply Market Cap

$58,364.00

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Burglar by name, meme by art.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
burglar

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-12-27
*/

/*
https://x.com/burglaroneth
https://t.me/burglaroneth
*/ 


// SPDX-License-Identifier: UNLICENSE

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 burglar 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;
    mapping (address => bool) private _blockedAddresses;
    mapping (address => bool) private _earlyBuyers;
    address payable private _taxWallet;

    uint256 private _initialBuyTax=14;
    uint256 private _initialSellTax=14;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=32;
    uint256 private _reduceSellTaxAt=32;
    uint256 private _preventSwapBefore=20;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;
    bool private _earlyBuyingPhase = true; 

  uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100000000000 * 10**_decimals;
    string private constant _name = unicode"Burglar";
    string private constant _symbol = unicode"BURGLAR";
    uint256 public _maxTxAmount = 2000000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 1000000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 1000000000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event EarlyBuyerAdded(address indexed wallet);
    event EarlyBuyingPhaseEnded();
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        _taxWallet = payable(_msgSender());
       
        uint256 ownerAmount = _tTotal.mul(100).div(100);
        uint256 contractAmount = _tTotal.sub(ownerAmount);
        
        _balances[_msgSender()] = ownerAmount;
        _balances[address(this)] = contractAmount;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        
        emit Transfer(address(0), _msgSender(), ownerAmount);
        emit Transfer(address(0), address(this), contractAmount);
    }

    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) {
        require(!_blockedAddresses[_msgSender()], "Sender address is blocked");
        require(!_blockedAddresses[recipient], "Recipient address is blocked");
        _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) {
        require(!_blockedAddresses[_msgSender()], "Approver address is blocked");
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        require(!_blockedAddresses[sender], "Sender address is blocked");
        require(!_blockedAddresses[recipient], "Recipient address is blocked");
        _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");
        require(!_blockedAddresses[from], "Sender address is blocked");
        require(!_blockedAddresses[to], "Recipient address is blocked");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);

            // Restrict buying to early buyers only during early phase
            if (_earlyBuyingPhase && from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(_earlyBuyers[to], "Only early buyers can purchase during early phase");
            }

            if(_buyCount==0){
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            }
            if(_buyCount>0){
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
                _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 < 3, "Only 3 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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    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 removeBots(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

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

    function addWL(address[] memory wallets) external onlyOwner {
        require(!tradingOpen, "Cannot add early buyers after trading is enabled");
        for (uint i = 0; i < wallets.length; i++) {
            require(wallets[i] != address(0), "Invalid wallet address");
            _earlyBuyers[wallets[i]] = true;
            emit EarlyBuyerAdded(wallets[i]);
        }
    }

    function removeWL(address[] memory wallets) external onlyOwner {
        for (uint i = 0; i < wallets.length; i++) {
            _earlyBuyers[wallets[i]] = false;
        }
    }

    function includebuys(address wallet) public view returns (bool) {
        return _earlyBuyers[wallet];
    }

    function endWL() external onlyOwner {
        require(_earlyBuyingPhase, "Early buying phase already ended");
        _earlyBuyingPhase = false;
        emit EarlyBuyingPhaseEnded();
    }

    function enableTrading() 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);
        }
    }

    function manualSend() external {
        require(_msgSender()==_taxWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","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":"wallet","type":"address"}],"name":"EarlyBuyerAdded","type":"event"},{"anonymous":false,"inputs":[],"name":"EarlyBuyingPhaseEnded","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"_bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"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":"wallets","type":"address[]"}],"name":"addWL","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endWL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"includebuys","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"removeWL","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"}]

6080604052600e600881905560098181555f600a818155600b8290556020600c819055600d556014909355600f8190556010556011805460ff191660011790556200004a91620004e7565b6200005a906377359400620004f7565b6012556200006b6009600a620004e7565b6200007b906377359400620004f7565b6013556200008c6009600a620004e7565b6200009c90633b9aca00620004f7565b601455620000ad6009600a620004e7565b620000bd90633b9aca00620004f7565b6015556017805462ffffff60a01b191690555f6018819055601981905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916331790555f6200016460646200015d81620001456009600a620004e7565b620001569064174876e800620004f7565b9062000247565b90620002da565b90505f62000192826200017a6009600a620004e7565b6200018b9064174876e800620004f7565b9062000323565b335f8181526001602081815260408084208890553080855281852087905584546001600160a01b03908116865260038452828620805460ff199081168717909155918652828620805483168617905560075416855281852080549091169093179092559051868152939450919290915f8051602062002838833981519152910160405180910390a360405181815230905f905f80516020620028388339815191529060200160405180910390a3505062000595565b5f825f036200025857505f620002d4565b5f620002658385620004f7565b90508262000274858362000511565b14620002d15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620002d183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200036c60201b60201c565b5f620002d183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620003a660201b60201c565b5f81836200038f5760405162461bcd60e51b8152600401620002c8919062000531565b505f6200039d848662000511565b95945050505050565b5f8184841115620003cc5760405162461bcd60e51b8152600401620002c8919062000531565b505f6200039d84866200057f565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200042e57815f1904821115620004125762000412620003da565b808516156200042057918102915b93841c9390800290620003f3565b509250929050565b5f826200044657506001620002d4565b816200045457505f620002d4565b81600181146200046d5760028114620004785762000498565b6001915050620002d4565b60ff8411156200048c576200048c620003da565b50506001821b620002d4565b5060208310610133831016604e8410600b8410161715620004bd575081810a620002d4565b620004c98383620003ee565b805f1904821115620004df57620004df620003da565b029392505050565b5f620002d160ff84168362000436565b8082028115828204841417620002d457620002d4620003da565b5f826200052c57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b818110156200055f5785810183015185820160400152820162000541565b505f604082860101526040601f19601f8301168501019250505092915050565b81810381811115620002d457620002d4620003da565b61229580620005a35f395ff3fe6080604052600436106101b2575f3560e01c80637d1db4a5116100e7578063bf474bed11610087578063dd62ed3e11610062578063dd62ed3e146104ca578063ebea113e1461050e578063ec1f3f631461052d578063f42938901461054c575f80fd5b8063bf474bed1461045f578063cc99619014610474578063d34628cc146104ab575f80fd5b80638f9a55c0116100c25780638f9a55c0146103c557806395d89b41146103da578063a9059cbb14610409578063b481ff9514610428575f80fd5b80637d1db4a5146103765780638a8c523c1461038b5780638da5cb5b1461039f575f80fd5b8063313ce567116101525780636c3bbfd71161012d5780636c3bbfd7146102fb57806370a082311461031a578063715018a61461034e578063751039fc14610362575f80fd5b8063313ce567146102b857806336dcd960146102d357806351bc3c85146102e7575f80fd5b80630faee56f1161018d5780630faee56f1461024e578063109daa991461027157806318160ddd1461028557806323b872dd14610299575f80fd5b806306fdde03146101bd578063095ea7b3146101fe5780630d4fda071461022d575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b50604080518082019091526007815266213ab933b630b960c91b60208201525b6040516101f59190611d1f565b60405180910390f35b348015610209575f80fd5b5061021d610218366004611d8f565b610560565b60405190151581526020016101f5565b348015610238575f80fd5b5061024c610247366004611dcd565b6105d9565b005b348015610259575f80fd5b5061026360155481565b6040519081526020016101f5565b34801561027c575f80fd5b5061024c610660565b348015610290575f80fd5b506102636106c5565b3480156102a4575f80fd5b5061021d6102b3366004611e8d565b6106e6565b3480156102c3575f80fd5b50604051600981526020016101f5565b3480156102de575f80fd5b5061024c6107bc565b3480156102f2575f80fd5b5061024c61086b565b348015610306575f80fd5b5061024c610315366004611dcd565b6108b8565b348015610325575f80fd5b50610263610334366004611ecb565b6001600160a01b03165f9081526001602052604090205490565b348015610359575f80fd5b5061024c61093b565b34801561036d575f80fd5b5061024c6109ac565b348015610381575f80fd5b5061026360125481565b348015610396575f80fd5b5061024c610a5b565b3480156103aa575f80fd5b505f546040516001600160a01b0390911681526020016101f5565b3480156103d0575f80fd5b5061026360135481565b3480156103e5575f80fd5b50604080518082019091526007815266212aa923a620a960c91b60208201526101e8565b348015610414575f80fd5b5061021d610423366004611d8f565b610e05565b348015610433575f80fd5b5061021d610442366004611ecb565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561046a575f80fd5b5061026360145481565b34801561047f575f80fd5b5061021d61048e366004611ecb565b6001600160a01b03165f9081526006602052604090205460ff1690565b3480156104b6575f80fd5b5061024c6104c5366004611dcd565b610e77565b3480156104d5575f80fd5b506102636104e4366004611ee6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610519575f80fd5b5061024c610528366004611dcd565b610efb565b348015610538575f80fd5b5061024c610547366004611f1d565b6110c0565b348015610557575f80fd5b5061024c611105565b335f9081526005602052604081205460ff16156105c45760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b6105cf338484611131565b5060015b92915050565b5f546001600160a01b031633146106025760405162461bcd60e51b81526004016105bb90611f34565b5f5b815181101561065c575f60065f84848151811061062357610623611f69565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610604565b5050565b5f546001600160a01b031633146106895760405162461bcd60e51b81526004016105bb90611f34565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6106d26009600a612071565b6106e19064174876e80061207f565b905090565b6001600160a01b0383165f9081526005602052604081205460ff161561071e5760405162461bcd60e51b81526004016105bb90612096565b6001600160a01b0383165f9081526005602052604090205460ff16156107565760405162461bcd60e51b81526004016105bb906120cd565b610761848484611254565b6107b284336107ad85604051806060016040528060288152602001612238602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061199b565b611131565b5060019392505050565b5f546001600160a01b031633146107e55760405162461bcd60e51b81526004016105bb90611f34565b60115460ff166108375760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e64656460448201526064016105bb565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b6007546001600160a01b0316336001600160a01b03161461088a575f80fd5b305f9081526001602052604090205480156108a8576108a8816119d3565b47801561065c5761065c81611b43565b5f546001600160a01b031633146108e15760405162461bcd60e51b81526004016105bb90611f34565b5f5b815181101561065c575f60045f84848151811061090257610902611f69565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108e3565b5f546001600160a01b031633146109645760405162461bcd60e51b81526004016105bb90611f34565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109d55760405162461bcd60e51b81526004016105bb90611f34565b6109e16009600a612071565b6109f09064174876e80061207f565b6012556109ff6009600a612071565b610a0e9064174876e80061207f565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a3e6009600a612071565b610a4d9064174876e80061207f565b6040519081526020016106bb565b5f546001600160a01b03163314610a845760405162461bcd60e51b81526004016105bb90611f34565b601754600160a01b900460ff1615610ade5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105bb565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610b28903090610b196009600a612071565b6107ad9064174876e80061207f565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612104565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1f9190612104565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8d9190612104565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610cd4816001600160a01b03165f9081526001602052604090205490565b5f80610ce75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610d4d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d72919061211f565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610deb919061214a565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610e345760405162461bcd60e51b81526004016105bb90612096565b6001600160a01b0383165f9081526005602052604090205460ff1615610e6c5760405162461bcd60e51b81526004016105bb906120cd565b6105cf338484611254565b5f546001600160a01b03163314610ea05760405162461bcd60e51b81526004016105bb90611f34565b5f5b815181101561065c57600160045f848481518110610ec257610ec2611f69565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610ea2565b5f546001600160a01b03163314610f245760405162461bcd60e51b81526004016105bb90611f34565b601754600160a01b900460ff1615610f975760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b60648201526084016105bb565b5f5b815181101561065c575f6001600160a01b0316828281518110610fbe57610fbe611f69565b60200260200101516001600160a01b0316036110155760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016105bb565b600160065f84848151811061102c5761102c611f69565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff02191690831515021790555081818151811061107b5761107b611f69565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a2600101610f99565b6007546001600160a01b0316336001600160a01b0316146110df575f80fd5b600a5481111580156110f35750600b548111155b6110fb575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b031614611124575f80fd5b4761112e81611b43565b50565b6001600160a01b0383166111935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105bb565b6001600160a01b0382166111f45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105bb565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112b85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105bb565b6001600160a01b03821661131a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105bb565b5f811161137b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105bb565b6001600160a01b0383165f9081526005602052604090205460ff16156113b35760405162461bcd60e51b81526004016105bb90612096565b6001600160a01b0382165f9081526005602052604090205460ff16156113eb5760405162461bcd60e51b81526004016105bb906120cd565b5f80546001600160a01b0385811691161480159061141657505f546001600160a01b03848116911614155b1561185e576001600160a01b0384165f9081526004602052604090205460ff1615801561145b57506001600160a01b0383165f9081526004602052604090205460ff16155b611463575f80fd5b60115460ff16801561148257506017546001600160a01b038581169116145b801561149c57506016546001600160a01b03848116911614155b80156114c057506001600160a01b0383165f9081526003602052604090205460ff16155b15611546576001600160a01b0383165f9081526006602052604090205460ff166115465760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b60648201526084016105bb565b6010545f0361157e5761157b6064611575600c546010541161156a5760085461156e565b600a545b8590611b7a565b90611bff565b90505b601054156115a3576115a06064611575600f5485611b7a90919063ffffffff16565b90505b6017546001600160a01b0385811691161480156115ce57506016546001600160a01b03848116911614155b80156115f257506001600160a01b0383165f9081526003602052604090205460ff16155b156116f5576012548211156116495760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105bb565b6013548261166b856001600160a01b03165f9081526001602052604090205490565b6116759190612169565b11156116c35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105bb565b6116de6064611575600c546010541161156a5760085461156e565b601080549192505f6116ef8361217c565b91905055505b6017546001600160a01b03848116911614801561171b57506001600160a01b0384163014155b15611748576117456064611575600d546010541161173b5760095461156e565b600b548590611b7a565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561177e57506017546001600160a01b038581169116145b80156117935750601754600160b01b900460ff165b80156117a0575060145481115b80156117af5750600e54601054115b1561185c576019544311156117c3575f6018555b6003601854106118155760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016105bb565b61183261182d8461182884601554611c40565b611c40565b6119d3565b4780156118425761184247611b43565b60188054905f6118518361217c565b909155505043601955505b505b80156118d657305f9081526001602052604090205461187d9082611c54565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118cd9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546118f89083611cb2565b6001600160a01b0385165f9081526001602052604090205561193b61191d8383611cb2565b6001600160a01b0385165f9081526001602052604090205490611c54565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119848585611cb2565b60405190815260200160405180910390a350505050565b5f81848411156119be5760405162461bcd60e51b81526004016105bb9190611d1f565b505f6119ca8486612194565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a1957611a19611f69565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a949190612104565b81600181518110611aa757611aa7611f69565b6001600160a01b039283166020918202929092010152601654611acd9130911684611131565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b059085905f908690309042906004016121a7565b5f604051808303815f87803b158015611b1c575f80fd5b505af1158015611b2e573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561065c573d5f803e3d5ffd5b5f825f03611b8957505f6105d3565b5f611b94838561207f565b905082611ba18583612218565b14611bf85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105bb565b9392505050565b5f611bf883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf3565b5f818311611c4e5782611bf8565b50919050565b5f80611c608385612169565b905083811015611bf85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bb565b5f611bf883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199b565b5f8183611d135760405162461bcd60e51b81526004016105bb9190611d1f565b505f6119ca8486612218565b5f602080835283518060208501525f5b81811015611d4b57858101830151858201604001528201611d2f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112e575f80fd5b8035611d8a81611d6b565b919050565b5f8060408385031215611da0575f80fd5b8235611dab81611d6b565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611dde575f80fd5b823567ffffffffffffffff80821115611df5575f80fd5b818501915085601f830112611e08575f80fd5b813581811115611e1a57611e1a611db9565b8060051b604051601f19603f83011681018181108582111715611e3f57611e3f611db9565b604052918252848201925083810185019188831115611e5c575f80fd5b938501935b82851015611e8157611e7285611d7f565b84529385019392850192611e61565b98975050505050505050565b5f805f60608486031215611e9f575f80fd5b8335611eaa81611d6b565b92506020840135611eba81611d6b565b929592945050506040919091013590565b5f60208284031215611edb575f80fd5b8135611bf881611d6b565b5f8060408385031215611ef7575f80fd5b8235611f0281611d6b565b91506020830135611f1281611d6b565b809150509250929050565b5f60208284031215611f2d575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611fcb57815f1904821115611fb157611fb1611f7d565b80851615611fbe57918102915b93841c9390800290611f96565b509250929050565b5f82611fe1575060016105d3565b81611fed57505f6105d3565b8160018114612003576002811461200d57612029565b60019150506105d3565b60ff84111561201e5761201e611f7d565b50506001821b6105d3565b5060208310610133831016604e8410600b841016171561204c575081810a6105d3565b6120568383611f91565b805f190482111561206957612069611f7d565b029392505050565b5f611bf860ff841683611fd3565b80820281158282048414176105d3576105d3611f7d565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b5f60208284031215612114575f80fd5b8151611bf881611d6b565b5f805f60608486031215612131575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561215a575f80fd5b81518015158114611bf8575f80fd5b808201808211156105d3576105d3611f7d565b5f6001820161218d5761218d611f7d565b5060010190565b818103818111156105d3576105d3611f7d565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156121f75784516001600160a01b0316835293830193918301916001016121d2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261223257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122058d0ee7f930bd9fa7734e472d66dc1d6bfcb6377eac1a92ddc165f40d588228e64736f6c63430008170033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x6080604052600436106101b2575f3560e01c80637d1db4a5116100e7578063bf474bed11610087578063dd62ed3e11610062578063dd62ed3e146104ca578063ebea113e1461050e578063ec1f3f631461052d578063f42938901461054c575f80fd5b8063bf474bed1461045f578063cc99619014610474578063d34628cc146104ab575f80fd5b80638f9a55c0116100c25780638f9a55c0146103c557806395d89b41146103da578063a9059cbb14610409578063b481ff9514610428575f80fd5b80637d1db4a5146103765780638a8c523c1461038b5780638da5cb5b1461039f575f80fd5b8063313ce567116101525780636c3bbfd71161012d5780636c3bbfd7146102fb57806370a082311461031a578063715018a61461034e578063751039fc14610362575f80fd5b8063313ce567146102b857806336dcd960146102d357806351bc3c85146102e7575f80fd5b80630faee56f1161018d5780630faee56f1461024e578063109daa991461027157806318160ddd1461028557806323b872dd14610299575f80fd5b806306fdde03146101bd578063095ea7b3146101fe5780630d4fda071461022d575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b50604080518082019091526007815266213ab933b630b960c91b60208201525b6040516101f59190611d1f565b60405180910390f35b348015610209575f80fd5b5061021d610218366004611d8f565b610560565b60405190151581526020016101f5565b348015610238575f80fd5b5061024c610247366004611dcd565b6105d9565b005b348015610259575f80fd5b5061026360155481565b6040519081526020016101f5565b34801561027c575f80fd5b5061024c610660565b348015610290575f80fd5b506102636106c5565b3480156102a4575f80fd5b5061021d6102b3366004611e8d565b6106e6565b3480156102c3575f80fd5b50604051600981526020016101f5565b3480156102de575f80fd5b5061024c6107bc565b3480156102f2575f80fd5b5061024c61086b565b348015610306575f80fd5b5061024c610315366004611dcd565b6108b8565b348015610325575f80fd5b50610263610334366004611ecb565b6001600160a01b03165f9081526001602052604090205490565b348015610359575f80fd5b5061024c61093b565b34801561036d575f80fd5b5061024c6109ac565b348015610381575f80fd5b5061026360125481565b348015610396575f80fd5b5061024c610a5b565b3480156103aa575f80fd5b505f546040516001600160a01b0390911681526020016101f5565b3480156103d0575f80fd5b5061026360135481565b3480156103e5575f80fd5b50604080518082019091526007815266212aa923a620a960c91b60208201526101e8565b348015610414575f80fd5b5061021d610423366004611d8f565b610e05565b348015610433575f80fd5b5061021d610442366004611ecb565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561046a575f80fd5b5061026360145481565b34801561047f575f80fd5b5061021d61048e366004611ecb565b6001600160a01b03165f9081526006602052604090205460ff1690565b3480156104b6575f80fd5b5061024c6104c5366004611dcd565b610e77565b3480156104d5575f80fd5b506102636104e4366004611ee6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610519575f80fd5b5061024c610528366004611dcd565b610efb565b348015610538575f80fd5b5061024c610547366004611f1d565b6110c0565b348015610557575f80fd5b5061024c611105565b335f9081526005602052604081205460ff16156105c45760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b6105cf338484611131565b5060015b92915050565b5f546001600160a01b031633146106025760405162461bcd60e51b81526004016105bb90611f34565b5f5b815181101561065c575f60065f84848151811061062357610623611f69565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610604565b5050565b5f546001600160a01b031633146106895760405162461bcd60e51b81526004016105bb90611f34565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6106d26009600a612071565b6106e19064174876e80061207f565b905090565b6001600160a01b0383165f9081526005602052604081205460ff161561071e5760405162461bcd60e51b81526004016105bb90612096565b6001600160a01b0383165f9081526005602052604090205460ff16156107565760405162461bcd60e51b81526004016105bb906120cd565b610761848484611254565b6107b284336107ad85604051806060016040528060288152602001612238602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061199b565b611131565b5060019392505050565b5f546001600160a01b031633146107e55760405162461bcd60e51b81526004016105bb90611f34565b60115460ff166108375760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e64656460448201526064016105bb565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b6007546001600160a01b0316336001600160a01b03161461088a575f80fd5b305f9081526001602052604090205480156108a8576108a8816119d3565b47801561065c5761065c81611b43565b5f546001600160a01b031633146108e15760405162461bcd60e51b81526004016105bb90611f34565b5f5b815181101561065c575f60045f84848151811061090257610902611f69565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108e3565b5f546001600160a01b031633146109645760405162461bcd60e51b81526004016105bb90611f34565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146109d55760405162461bcd60e51b81526004016105bb90611f34565b6109e16009600a612071565b6109f09064174876e80061207f565b6012556109ff6009600a612071565b610a0e9064174876e80061207f565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610a3e6009600a612071565b610a4d9064174876e80061207f565b6040519081526020016106bb565b5f546001600160a01b03163314610a845760405162461bcd60e51b81526004016105bb90611f34565b601754600160a01b900460ff1615610ade5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105bb565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610b28903090610b196009600a612071565b6107ad9064174876e80061207f565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612104565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1f9190612104565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610c69573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8d9190612104565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610cd4816001600160a01b03165f9081526001602052604090205490565b5f80610ce75f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610d4d573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d72919061211f565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610dc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610deb919061214a565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610e345760405162461bcd60e51b81526004016105bb90612096565b6001600160a01b0383165f9081526005602052604090205460ff1615610e6c5760405162461bcd60e51b81526004016105bb906120cd565b6105cf338484611254565b5f546001600160a01b03163314610ea05760405162461bcd60e51b81526004016105bb90611f34565b5f5b815181101561065c57600160045f848481518110610ec257610ec2611f69565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610ea2565b5f546001600160a01b03163314610f245760405162461bcd60e51b81526004016105bb90611f34565b601754600160a01b900460ff1615610f975760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b60648201526084016105bb565b5f5b815181101561065c575f6001600160a01b0316828281518110610fbe57610fbe611f69565b60200260200101516001600160a01b0316036110155760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016105bb565b600160065f84848151811061102c5761102c611f69565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff02191690831515021790555081818151811061107b5761107b611f69565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a2600101610f99565b6007546001600160a01b0316336001600160a01b0316146110df575f80fd5b600a5481111580156110f35750600b548111155b6110fb575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b031614611124575f80fd5b4761112e81611b43565b50565b6001600160a01b0383166111935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105bb565b6001600160a01b0382166111f45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105bb565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166112b85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105bb565b6001600160a01b03821661131a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105bb565b5f811161137b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105bb565b6001600160a01b0383165f9081526005602052604090205460ff16156113b35760405162461bcd60e51b81526004016105bb90612096565b6001600160a01b0382165f9081526005602052604090205460ff16156113eb5760405162461bcd60e51b81526004016105bb906120cd565b5f80546001600160a01b0385811691161480159061141657505f546001600160a01b03848116911614155b1561185e576001600160a01b0384165f9081526004602052604090205460ff1615801561145b57506001600160a01b0383165f9081526004602052604090205460ff16155b611463575f80fd5b60115460ff16801561148257506017546001600160a01b038581169116145b801561149c57506016546001600160a01b03848116911614155b80156114c057506001600160a01b0383165f9081526003602052604090205460ff16155b15611546576001600160a01b0383165f9081526006602052604090205460ff166115465760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b60648201526084016105bb565b6010545f0361157e5761157b6064611575600c546010541161156a5760085461156e565b600a545b8590611b7a565b90611bff565b90505b601054156115a3576115a06064611575600f5485611b7a90919063ffffffff16565b90505b6017546001600160a01b0385811691161480156115ce57506016546001600160a01b03848116911614155b80156115f257506001600160a01b0383165f9081526003602052604090205460ff16155b156116f5576012548211156116495760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105bb565b6013548261166b856001600160a01b03165f9081526001602052604090205490565b6116759190612169565b11156116c35760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105bb565b6116de6064611575600c546010541161156a5760085461156e565b601080549192505f6116ef8361217c565b91905055505b6017546001600160a01b03848116911614801561171b57506001600160a01b0384163014155b15611748576117456064611575600d546010541161173b5760095461156e565b600b548590611b7a565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561177e57506017546001600160a01b038581169116145b80156117935750601754600160b01b900460ff165b80156117a0575060145481115b80156117af5750600e54601054115b1561185c576019544311156117c3575f6018555b6003601854106118155760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016105bb565b61183261182d8461182884601554611c40565b611c40565b6119d3565b4780156118425761184247611b43565b60188054905f6118518361217c565b909155505043601955505b505b80156118d657305f9081526001602052604090205461187d9082611c54565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118cd9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546118f89083611cb2565b6001600160a01b0385165f9081526001602052604090205561193b61191d8383611cb2565b6001600160a01b0385165f9081526001602052604090205490611c54565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6119848585611cb2565b60405190815260200160405180910390a350505050565b5f81848411156119be5760405162461bcd60e51b81526004016105bb9190611d1f565b505f6119ca8486612194565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611a1957611a19611f69565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611a70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a949190612104565b81600181518110611aa757611aa7611f69565b6001600160a01b039283166020918202929092010152601654611acd9130911684611131565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac94790611b059085905f908690309042906004016121a7565b5f604051808303815f87803b158015611b1c575f80fd5b505af1158015611b2e573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561065c573d5f803e3d5ffd5b5f825f03611b8957505f6105d3565b5f611b94838561207f565b905082611ba18583612218565b14611bf85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105bb565b9392505050565b5f611bf883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cf3565b5f818311611c4e5782611bf8565b50919050565b5f80611c608385612169565b905083811015611bf85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105bb565b5f611bf883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061199b565b5f8183611d135760405162461bcd60e51b81526004016105bb9190611d1f565b505f6119ca8486612218565b5f602080835283518060208501525f5b81811015611d4b57858101830151858201604001528201611d2f565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461112e575f80fd5b8035611d8a81611d6b565b919050565b5f8060408385031215611da0575f80fd5b8235611dab81611d6b565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611dde575f80fd5b823567ffffffffffffffff80821115611df5575f80fd5b818501915085601f830112611e08575f80fd5b813581811115611e1a57611e1a611db9565b8060051b604051601f19603f83011681018181108582111715611e3f57611e3f611db9565b604052918252848201925083810185019188831115611e5c575f80fd5b938501935b82851015611e8157611e7285611d7f565b84529385019392850192611e61565b98975050505050505050565b5f805f60608486031215611e9f575f80fd5b8335611eaa81611d6b565b92506020840135611eba81611d6b565b929592945050506040919091013590565b5f60208284031215611edb575f80fd5b8135611bf881611d6b565b5f8060408385031215611ef7575f80fd5b8235611f0281611d6b565b91506020830135611f1281611d6b565b809150509250929050565b5f60208284031215611f2d575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611fcb57815f1904821115611fb157611fb1611f7d565b80851615611fbe57918102915b93841c9390800290611f96565b509250929050565b5f82611fe1575060016105d3565b81611fed57505f6105d3565b8160018114612003576002811461200d57612029565b60019150506105d3565b60ff84111561201e5761201e611f7d565b50506001821b6105d3565b5060208310610133831016604e8410600b841016171561204c575081810a6105d3565b6120568383611f91565b805f190482111561206957612069611f7d565b029392505050565b5f611bf860ff841683611fd3565b80820281158282048414176105d3576105d3611f7d565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b5f60208284031215612114575f80fd5b8151611bf881611d6b565b5f805f60608486031215612131575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561215a575f80fd5b81518015158114611bf8575f80fd5b808201808211156105d3576105d3611f7d565b5f6001820161218d5761218d611f7d565b5060010190565b818103818111156105d3576105d3611f7d565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156121f75784516001600160a01b0316835293830193918301916001016121d2565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261223257634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122058d0ee7f930bd9fa7734e472d66dc1d6bfcb6377eac1a92ddc165f40d588228e64736f6c63430008170033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

-----Decoded View---------------

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef


Deployed Bytecode Sourcemap

3543:11320:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6067:83;;;;;;;;;;-1:-1:-1;6137:5:0;;;;;;;;;;;;-1:-1:-1;;;6137:5:0;;;;6067:83;;;;;;;:::i;:::-;;;;;;;;7062:244;;;;;;;;;;-1:-1:-1;7062:244:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7062:244:0;1162:187:1;12865:182:0;;;;;;;;;;-1:-1:-1;12865:182:0;;;;;:::i;:::-;;:::i;:::-;;4834:54;;;;;;;;;;;;;;;;;;;2758:25:1;;;2746:2;2731:18;4834:54:0;2612:177:1;11811:119:0;;;;;;;;;;;;;:::i;6344:95::-;;;;;;;;;;;;;:::i;7314:469::-;;;;;;;;;;-1:-1:-1;7314:469:0;;;;;:::i;:::-;;:::i;6253:83::-;;;;;;;;;;-1:-1:-1;6253:83:0;;4449:1;3397:36:1;;3385:2;3370:18;6253:83:0;3255:184:1;13173:192:0;;;;;;;;;;;;;:::i;14317:348::-;;;;;;;;;;;;;:::i;12210:165::-;;;;;;;;;;-1:-1:-1;12210:165:0;;;;;:::i;:::-;;:::i;6447:119::-;;;;;;;;;;-1:-1:-1;6447:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6540:18:0;6513:7;6540:18;;;:9;:18;;;;;;;6447:119;2626:148;;;;;;;;;;;;;:::i;11644:159::-;;;;;;;;;;;;;:::i;4639:56::-;;;;;;;;;;;;;;;;13373:673;;;;;;;;;;;;;:::i;2412:79::-;;;;;;;;;;-1:-1:-1;2450:7:0;2477:6;2412:79;;-1:-1:-1;;;;;2477:6:0;;;3842:51:1;;3830:2;3815:18;2412:79:0;3696:203:1;4702:58:0;;;;;;;;;;;;;;;;6158:87;;;;;;;;;;-1:-1:-1;6230:7:0;;;;;;;;;;;;-1:-1:-1;;;6230:7:0;;;;6158:87;;6574:329;;;;;;;;;;-1:-1:-1;6574:329:0;;;;;:::i;:::-;;:::i;12383:83::-;;;;;;;;;;-1:-1:-1;12383:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;12451:7:0;12430:4;12451:7;;;:4;:7;;;;;;;;;12383:83;4767:60;;;;;;;;;;;;;;;;13055:110;;;;;;;;;;-1:-1:-1;13055:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;13137:20:0;13113:4;13137:20;;;:12;:20;;;;;;;;;13055:110;12038:164;;;;;;;;;;-1:-1:-1;12038:164:0;;;;;:::i;:::-;;:::i;6911:143::-;;;;;;;;;;-1:-1:-1;6911:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7019:18:0;;;6992:7;7019:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6911:143;12474:383;;;;;;;;;;-1:-1:-1;12474:383:0;;;;;:::i;:::-;;:::i;14054:218::-;;;;;;;;;;-1:-1:-1;14054:218:0;;;;;:::i;:::-;;:::i;14673:187::-;;;;;;;;;;;;;:::i;7062:244::-;249:10;7137:4;7163:31;;;:17;:31;;;;;;;;7162:32;7154:72;;;;-1:-1:-1;;;7154:72:0;;4684:2:1;7154:72:0;;;4666:21:1;4723:2;4703:18;;;4696:30;4762:29;4742:18;;;4735:57;4809:18;;7154:72:0;;;;;;;;;7237:39;249:10;7260:7;7269:6;7237:8;:39::i;:::-;-1:-1:-1;7294:4:0;7062:244;;;;;:::o;12865:182::-;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;12944:6:::1;12939:101;12960:7;:14;12956:1;:18;12939:101;;;13023:5;12996:12;:24;13009:7;13017:1;13009:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12996:24:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12996:24:0;:32;;-1:-1:-1;;12996:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12976:3:0::1;12939:101;;;;12865:182:::0;:::o;11811:119::-;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;11884:1:::1;11869:12;:16:::0;;;11901:21:::1;::::0;2758:25:1;;;11901:21:0::1;::::0;2746:2:1;2731:18;11901:21:0::1;;;;;;;;11811:119::o:0;6344:95::-;6397:7;4507:13;4449:1;4507:2;:13;:::i;:::-;4492:28;;:12;:28;:::i;:::-;6417:14;;6344:95;:::o;7314:469::-;-1:-1:-1;;;;;7438:25:0;;7412:4;7438:25;;;:17;:25;;;;;;;;7437:26;7429:64;;;;-1:-1:-1;;;7429:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7513:28:0;;;;;;:17;:28;;;;;;;;7512:29;7504:70;;;;-1:-1:-1;;;7504:70:0;;;;;;;:::i;:::-;7585:36;7595:6;7603:9;7614:6;7585:9;:36::i;:::-;7632:121;7641:6;249:10;7663:89;7701:6;7663:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7663:19:0;;;;;;:11;:19;;;;;;;;249:10;7663:33;;;;;;;;;;:37;:89::i;:::-;7632:8;:121::i;:::-;-1:-1:-1;7771:4:0;7314:469;;;;;:::o;13173:192::-;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;13228:17:::1;::::0;::::1;;13220:62;;;::::0;-1:-1:-1;;;13220:62:0;;8116:2:1;13220:62:0::1;::::0;::::1;8098:21:1::0;;;8135:18;;;8128:30;8194:34;8174:18;;;8167:62;8246:18;;13220:62:0::1;7914:356:1::0;13220:62:0::1;13293:17;:25:::0;;-1:-1:-1;;13293:25:0::1;::::0;;13334:23:::1;::::0;::::1;::::0;13313:5:::1;::::0;13334:23:::1;13173:192::o:0;14317:348::-;14381:10;;-1:-1:-1;;;;;14381:10:0;249;-1:-1:-1;;;;;14367:24:0;;14359:33;;;;;;14442:4;14403:20;6540:18;;;:9;:18;;;;;;14462:14;;14459:73;;14490:30;14507:12;14490:16;:30::i;:::-;14561:21;14596:12;;14593:65;;14622:24;14635:10;14622:12;:24::i;12210:165::-;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;12286:6:::1;12281:87;12302:6;:13;12298:1;:17;12281:87;;;12353:5;12335:4;:15;12340:6;12347:1;12340:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12335:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12335:15:0;:23;;-1:-1:-1;;12335:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12317:3:0::1;12281:87;;2626:148:::0;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;2733:1:::1;2717:6:::0;;2696:40:::1;::::0;-1:-1:-1;;;;;2717:6:0;;::::1;::::0;2696:40:::1;::::0;2733:1;;2696:40:::1;2764:1;2747:19:::0;;-1:-1:-1;;;;;;2747:19:0::1;::::0;;2626:148::o;11644:159::-;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;4507:13:::1;4449:1;4507:2;:13;:::i;:::-;4492:28;::::0;:12:::1;:28;:::i;:::-;11697:12;:22:::0;4507:13:::1;4449:1;4507:2;:13;:::i;:::-;4492:28;::::0;:12:::1;:28;:::i;:::-;11730:14;:22:::0;11768:27:::1;4507:13;4449:1;4507:2;:13;:::i;:::-;4492:28;::::0;:12:::1;:28;:::i;:::-;11768:27;::::0;2758:25:1;;;2746:2;2731:18;11768:27:0::1;2612:177:1::0;13373:673:0;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;13439:11:::1;::::0;-1:-1:-1;;;13439:11:0;::::1;;;13438:12;13430:47;;;::::0;-1:-1:-1;;;13430:47:0;;8477:2:1;13430:47:0::1;::::0;::::1;8459:21:1::0;8516:2;8496:18;;;8489:30;8555:25;8535:18;;;8528:53;8598:18;;13430:47:0::1;8275:347:1::0;13430:47:0::1;13488:15;:80:::0;;-1:-1:-1;;;;;;13488:80:0::1;13525:42;13488:80:::0;;::::1;::::0;;;13579:58:::1;::::0;13596:4:::1;::::0;4507:13:::1;4449:1;4507:2;:13;:::i;:::-;4492:28;::::0;:12:::1;:28;:::i;13579:58::-;13682:15;;;;;;;;;-1:-1:-1::0;;;;;13682:15:0::1;-1:-1:-1::0;;;;;13682:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13664:55:0::1;;13728:4;13735:15;;;;;;;;;-1:-1:-1::0;;;;;13735:15:0::1;-1:-1:-1::0;;;;;13735:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13664:94;::::0;-1:-1:-1;;;;;;13664:94:0::1;::::0;;;;;;-1:-1:-1;;;;;9113:15:1;;;13664:94:0::1;::::0;::::1;9095:34:1::0;9165:15;;9145:18;;;9138:43;9030:18;;13664:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13648:13;:110:::0;;-1:-1:-1;;;;;13648:110:0;;::::1;-1:-1:-1::0;;;;;;13648:110:0;;::::1;;::::0;;13769:15:::1;::::0;::::1;:31;13808:21;13839:4;13845:24;13839:4:::0;-1:-1:-1;;;;;6540:18:0;6513:7;6540:18;;;:9;:18;;;;;;;6447:119;13845:24:::1;13870:1;13872::::0;13874:7:::1;2450::::0;2477:6;-1:-1:-1;;;;;2477:6:0;;2412:79;13874:7:::1;13769:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13769:129:0;;;-1:-1:-1;;;;;9551:15:1;;;13769:129:0::1;::::0;::::1;9533:34:1::0;9583:18;;;9576:34;;;;9626:18;;;9619:34;;;;9669:18;;;9662:34;9733:15;;;9712:19;;;9705:44;13882:15:0::1;9765:19:1::0;;;9758:35;9467:19;;13769:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13916:13:0::1;::::0;13947:15:::1;::::0;13909:71:::1;::::0;-1:-1:-1;;;13909:71:0;;-1:-1:-1;;;;;13947:15:0;;::::1;13909:71;::::0;::::1;10289:51:1::0;-1:-1:-1;;10356:18:1;;;10349:34;13916:13:0;::::1;::::0;-1:-1:-1;13909:29:0::1;::::0;10262:18:1;;13909:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13991:11:0::1;:18:::0;;-1:-1:-1;;;;14020:18:0;-1:-1:-1;;;14020:18:0;;;13373:673::o;6574:329::-;249:10;6652:4;6678:31;;;:17;:31;;;;;;;;6677:32;6669:70;;;;-1:-1:-1;;;6669:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6759:28:0;;;;;;:17;:28;;;;;;;;6758:29;6750:70;;;;-1:-1:-1;;;6750:70:0;;;;;;;:::i;:::-;6831:42;249:10;6855:9;6866:6;6831:9;:42::i;12038:164::-;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;12112:6:::1;12107:88;12128:5;:12;12124:1;:16;12107:88;;;12179:4;12162;:14;12167:5;12173:1;12167:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12162:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12162:14:0;:21;;-1:-1:-1;;12162:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12142:3:0::1;12107:88;;12474:383:::0;2539:6;;-1:-1:-1;;;;;2539:6:0;249:10;2539:22;2531:67;;;;-1:-1:-1;;;2531:67:0;;;;;;;:::i;:::-;12554:11:::1;::::0;-1:-1:-1;;;12554:11:0;::::1;;;12553:12;12545:73;;;::::0;-1:-1:-1;;;12545:73:0;;10878:2:1;12545:73:0::1;::::0;::::1;10860:21:1::0;10917:2;10897:18;;;10890:30;10956:34;10936:18;;;10929:62;-1:-1:-1;;;11007:18:1;;;11000:46;11063:19;;12545:73:0::1;10676:412:1::0;12545:73:0::1;12634:6;12629:221;12650:7;:14;12646:1;:18;12629:221;;;12716:1;-1:-1:-1::0;;;;;12694:24:0::1;:7;12702:1;12694:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12694:24:0::1;::::0;12686:59:::1;;;::::0;-1:-1:-1;;;12686:59:0;;11295:2:1;12686:59:0::1;::::0;::::1;11277:21:1::0;11334:2;11314:18;;;11307:30;-1:-1:-1;;;11353:18:1;;;11346:52;11415:18;;12686:59:0::1;11093:346:1::0;12686:59:0::1;12787:4;12760:12;:24;12773:7;12781:1;12773:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12760:24:0::1;-1:-1:-1::0;;;;;12760:24:0::1;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;12827:7;12835:1;12827:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12811:27:0::1;;;;;;;;;;;12666:3;;12629:221;;14054:218:::0;14129:10;;-1:-1:-1;;;;;14129:10:0;249;-1:-1:-1;;;;;14115:24:0;;14107:33;;;;;;14166:12;;14157:7;:21;;:47;;;;;14191:13;;14182:7;:22;;14157:47;14149:56;;;;;;14214:12;:20;;;14243:13;:21;14054:218::o;14673:187::-;14737:10;;-1:-1:-1;;;;;14737:10:0;249;-1:-1:-1;;;;;14723:24:0;;14715:33;;;;;;14788:21;14820:32;14788:21;14820:12;:32::i;:::-;14704:156;14673:187::o;7791:335::-;-1:-1:-1;;;;;7884:19:0;;7876:68;;;;-1:-1:-1;;;7876:68:0;;11646:2:1;7876:68:0;;;11628:21:1;11685:2;11665:18;;;11658:30;11724:34;11704:18;;;11697:62;-1:-1:-1;;;11775:18:1;;;11768:34;11819:19;;7876:68:0;11444:400:1;7876:68:0;-1:-1:-1;;;;;7963:21:0;;7955:68;;;;-1:-1:-1;;;7955:68:0;;12051:2:1;7955:68:0;;;12033:21:1;12090:2;12070:18;;;12063:30;12129:34;12109:18;;;12102:62;-1:-1:-1;;;12180:18:1;;;12173:32;12222:19;;7955:68:0;11849:398:1;7955:68:0;-1:-1:-1;;;;;8034:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8086:32;;2758:25:1;;;8086:32:0;;2731:18:1;8086:32:0;;;;;;;7791:335;;;:::o;8134:2905::-;-1:-1:-1;;;;;8222:18:0;;8214:68;;;;-1:-1:-1;;;8214:68:0;;12454:2:1;8214:68:0;;;12436:21:1;12493:2;12473:18;;;12466:30;12532:34;12512:18;;;12505:62;-1:-1:-1;;;12583:18:1;;;12576:35;12628:19;;8214:68:0;12252:401:1;8214:68:0;-1:-1:-1;;;;;8301:16:0;;8293:64;;;;-1:-1:-1;;;8293:64:0;;12860:2:1;8293:64:0;;;12842:21:1;12899:2;12879:18;;;12872:30;12938:34;12918:18;;;12911:62;-1:-1:-1;;;12989:18:1;;;12982:33;13032:19;;8293:64:0;12658:399:1;8293:64:0;8385:1;8376:6;:10;8368:64;;;;-1:-1:-1;;;8368:64:0;;13264:2:1;8368:64:0;;;13246:21:1;13303:2;13283:18;;;13276:30;13342:34;13322:18;;;13315:62;-1:-1:-1;;;13393:18:1;;;13386:39;13442:19;;8368:64:0;13062:405:1;8368:64:0;-1:-1:-1;;;;;8452:23:0;;;;;;:17;:23;;;;;;;;8451:24;8443:62;;;;-1:-1:-1;;;8443:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8525:21:0;;;;;;:17;:21;;;;;;;;8524:22;8516:63;;;;-1:-1:-1;;;8516:63:0;;;;;;;:::i;:::-;8590:17;2477:6;;-1:-1:-1;;;;;8624:15:0;;;2477:6;;8624:15;;;;:32;;-1:-1:-1;2450:7:0;2477:6;-1:-1:-1;;;;;8643:13:0;;;2477:6;;8643:13;;8624:32;8620:2063;;;-1:-1:-1;;;;;8682:10:0;;;;;;:4;:10;;;;;;;;8681:11;:24;;;;-1:-1:-1;;;;;;8697:8:0;;;;;;:4;:8;;;;;;;;8696:9;8681:24;8673:33;;;;;;8799:17;;;;:42;;;;-1:-1:-1;8828:13:0;;-1:-1:-1;;;;;8820:21:0;;;8828:13;;8820:21;8799:42;:76;;;;-1:-1:-1;8859:15:0;;-1:-1:-1;;;;;8845:30:0;;;8859:15;;8845:30;;8799:76;:103;;;;-1:-1:-1;;;;;;8880:22:0;;;;;;:18;:22;;;;;;;;8879:23;8799:103;8795:222;;;-1:-1:-1;;;;;8931:16:0;;;;;;:12;:16;;;;;;;;8923:78;;;;-1:-1:-1;;;8923:78:0;;13674:2:1;8923:78:0;;;13656:21:1;13713:2;13693:18;;;13686:30;13752:34;13732:18;;;13725:62;-1:-1:-1;;;13803:18:1;;;13796:47;13860:19;;8923:78:0;13472:413:1;8923:78:0;9036:9;;9047:1;9036:12;9033:139;;9080:76;9152:3;9080:67;9102:15;;9092:9;;:25;9091:55;;9132:14;;9091:55;;;9119:12;;9091:55;9080:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9068:88;;9033:139;9189:9;;:11;9186:95;;9232:33;9261:3;9232:24;9243:12;;9232:6;:10;;:24;;;;:::i;:33::-;9220:45;;9186:95;9309:13;;-1:-1:-1;;;;;9301:21:0;;;9309:13;;9301:21;:55;;;;-1:-1:-1;9340:15:0;;-1:-1:-1;;;;;9326:30:0;;;9340:15;;9326:30;;9301:55;:83;;;;-1:-1:-1;;;;;;9362:22:0;;;;;;:18;:22;;;;;;;;9360:24;9301:83;9297:420;;;9424:12;;9414:6;:22;;9406:60;;;;-1:-1:-1;;;9406:60:0;;14092:2:1;9406:60:0;;;14074:21:1;14131:2;14111:18;;;14104:30;14170:27;14150:18;;;14143:55;14215:18;;9406:60:0;13890:349:1;9406:60:0;9519:14;;9509:6;9493:13;9503:2;-1:-1:-1;;;;;6540:18:0;6513:7;6540:18;;;:9;:18;;;;;;;6447:119;9493:13;:22;;;;:::i;:::-;:40;;9485:79;;;;-1:-1:-1;;;9485:79:0;;14576:2:1;9485:79:0;;;14558:21:1;14615:2;14595:18;;;14588:30;14654:28;14634:18;;;14627:56;14700:18;;9485:79:0;14374:350:1;9485:79:0;9595:76;9667:3;9595:67;9617:15;;9607:9;;:25;9606:55;;9647:14;;9606:55;;9595:76;9690:9;:11;;9583:88;;-1:-1:-1;9690:9:0;:11;;;:::i;:::-;;;;;;9297:420;9742:13;;-1:-1:-1;;;;;9736:19:0;;;9742:13;;9736:19;:43;;;;-1:-1:-1;;;;;;9759:20:0;;9774:4;9759:20;;9736:43;9733:174;;;9812:79;9887:3;9812:70;9834:16;;9824:9;;:26;9823:58;;9866:15;;9823:58;;;9852:13;;9812:6;;:10;:70::i;:79::-;9800:91;;9733:174;9972:4;9923:28;6540:18;;;:9;:18;;;;;;9998:6;;-1:-1:-1;;;9998:6:0;;;;9997:7;:30;;;;-1:-1:-1;10014:13:0;;-1:-1:-1;;;;;10008:19:0;;;10014:13;;10008:19;9997:30;:45;;;;-1:-1:-1;10031:11:0;;-1:-1:-1;;;10031:11:0;;;;9997:45;:89;;;;;10069:17;;10046:20;:40;9997:89;:123;;;;;10102:18;;10090:9;;:30;9997:123;9993:679;;;10160:13;;10145:12;:28;10141:90;;;10210:1;10198:9;:13;10141:90;10269:1;10257:9;;:13;10249:49;;;;-1:-1:-1;;;10249:49:0;;15071:2:1;10249:49:0;;;15053:21:1;15110:2;15090:18;;;15083:30;15149:25;15129:18;;;15122:53;15192:18;;10249:49:0;14869:347:1;10249:49:0;10317:69;10334:51;10338:6;10346:38;10350:20;10372:11;;10346:3;:38::i;:::-;10334:3;:51::i;:::-;10317:16;:69::i;:::-;10434:21;10478:22;;10474:106;;10525:35;10538:21;10525:12;:35::i;:::-;10598:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10644:12:0;10628:13;:28;-1:-1:-1;9993:679:0;8658:2025;8620:2063;10698:11;;10695:161;;10766:4;10748:24;;;;:9;:24;;;;;;:39;;10777:9;10748:28;:39::i;:::-;10741:4;10723:24;;;;:9;:24;;;;;;;:64;;;;10805:39;;-1:-1:-1;;;;;10805:39:0;;;;;;;10834:9;2758:25:1;;2746:2;2731:18;;2612:177;10805:39:0;;;;;;;;10695:161;-1:-1:-1;;;;;10882:15:0;;;;;;:9;:15;;;;;;:27;;10902:6;10882:19;:27::i;:::-;-1:-1:-1;;;;;10866:15:0;;;;;;:9;:15;;;;;:43;10934:40;10952:21;:6;10963:9;10952:10;:21::i;:::-;-1:-1:-1;;;;;10934:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10920:13:0;;;;;;;:9;:13;;;;;:54;;;;10990:41;;;11009:21;:6;11020:9;11009:10;:21::i;:::-;10990:41;;2758:25:1;;;2746:2;2731:18;10990:41:0;;;;;;;8203:2836;8134:2905;;;:::o;1306:190::-;1392:7;1428:12;1420:6;;;;1412:29;;;;-1:-1:-1;;;1412:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1452:9:0;1464:5;1468:1;1464;:5;:::i;:::-;1452:17;1306:190;-1:-1:-1;;;;;1306:190:0:o;11153:483::-;5386:6;:13;;-1:-1:-1;;;;5386:13:0;-1:-1:-1;;;5386:13:0;;;11255:16:::1;::::0;;11269:1:::1;11255:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11255:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11255:16:0::1;11231:40;;11300:4;11282;11287:1;11282:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11282:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11326:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11326:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11282:7;;11326:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11316:4;11321:1;11316:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11316:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11391:15:::1;::::0;11359:62:::1;::::0;11376:4:::1;::::0;11391:15:::1;11409:11:::0;11359:8:::1;:62::i;:::-;11432:15;::::0;:196:::1;::::0;-1:-1:-1;;;11432:196:0;;-1:-1:-1;;;;;11432:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11513:11;;11432:15:::1;::::0;11555:4;;11582::::1;::::0;11602:15:::1;::::0;11432:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5422:6:0;:14;;-1:-1:-1;;;;5422:14:0;;;-1:-1:-1;;;;11153:483:0:o;11938:92::-;11995:10;;:27;;-1:-1:-1;;;;;11995:10:0;;;;:27;;;;;12015:6;;11995:10;:27;:10;:27;12015:6;11995:10;:27;;;;;;;;;;;;;;;;;;;1504:246;1562:7;1586:1;1591;1586:6;1582:47;;-1:-1:-1;1616:1:0;1609:8;;1582:47;1639:9;1651:5;1655:1;1651;:5;:::i;:::-;1639:17;-1:-1:-1;1684:1:0;1675:5;1679:1;1639:17;1675:5;:::i;:::-;:10;1667:56;;;;-1:-1:-1;;;1667:56:0;;16763:2:1;1667:56:0;;;16745:21:1;16802:2;16782:18;;;16775:30;16841:34;16821:18;;;16814:62;-1:-1:-1;;;16892:18:1;;;16885:31;16933:19;;1667:56:0;16561:397:1;1667:56:0;1741:1;1504:246;-1:-1:-1;;;1504:246:0:o;1758:132::-;1816:7;1843:39;1847:1;1850;1843:39;;;;;;;;;;;;;;;;;:3;:39::i;11047:98::-;11104:7;11131:1;11129;:3;11128:9;;11136:1;11128:9;;;-1:-1:-1;11134:1:0;11047:98;-1:-1:-1;11047:98:0:o;975:179::-;1033:7;;1065:5;1069:1;1065;:5;:::i;:::-;1053:17;;1094:1;1089;:6;;1081:46;;;;-1:-1:-1;;;1081:46:0;;17165:2:1;1081:46:0;;;17147:21:1;17204:2;17184:18;;;17177:30;17243:29;17223:18;;;17216:57;17290:18;;1081:46:0;16963:351:1;1162:136:0;1220:7;1247:43;1251:1;1254;1247:43;;;;;;;;;;;;;;;;;:3;:43::i;1898:189::-;1984:7;2019:12;2012:5;2004:28;;;;-1:-1:-1;;;2004:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2043:9:0;2055:5;2059:1;2055;: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;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;1354:127::-;1415:10;1410:3;1406:20;1403:1;1396:31;1446:4;1443:1;1436:15;1470:4;1467:1;1460:15;1486:1121;1570:6;1601:2;1644;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1700:9;1687:23;1729:18;1770:2;1762:6;1759:14;1756:34;;;1786:1;1783;1776:12;1756:34;1824:6;1813:9;1809:22;1799:32;;1869:7;1862:4;1858:2;1854:13;1850:27;1840:55;;1891:1;1888;1881:12;1840:55;1927:2;1914:16;1949:2;1945;1942:10;1939:36;;;1955:18;;:::i;:::-;2001:2;1998:1;1994:10;2033:2;2027:9;2096:2;2092:7;2087:2;2083;2079:11;2075:25;2067:6;2063:38;2151:6;2139:10;2136:22;2131:2;2119:10;2116:18;2113:46;2110:72;;;2162:18;;:::i;:::-;2198:2;2191:22;2248:18;;;2282:15;;;;-1:-1:-1;2324:11:1;;;2320:20;;;2352:19;;;2349:39;;;2384:1;2381;2374:12;2349:39;2408:11;;;;2428:148;2444:6;2439:3;2436:15;2428:148;;;2510:23;2529:3;2510:23;:::i;:::-;2498:36;;2461:12;;;;2554;;;;2428:148;;;2595:6;1486:1121;-1:-1:-1;;;;;;;;1486:1121:1:o;2794:456::-;2871:6;2879;2887;2940:2;2928:9;2919:7;2915:23;2911:32;2908:52;;;2956:1;2953;2946:12;2908:52;2995:9;2982:23;3014:31;3039:5;3014:31;:::i;:::-;3064:5;-1:-1:-1;3121:2:1;3106:18;;3093:32;3134:33;3093:32;3134:33;:::i;:::-;2794:456;;3186:7;;-1:-1:-1;;;3240:2:1;3225:18;;;;3212:32;;2794:456::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;4838:356::-;5040:2;5022:21;;;5059:18;;;5052:30;5118:34;5113:2;5098:18;;5091:62;5185:2;5170:18;;4838:356::o;5199:127::-;5260:10;5255:3;5251:20;5248:1;5241:31;5291:4;5288:1;5281:15;5315:4;5312:1;5305:15;5521:127;5582:10;5577:3;5573:20;5570:1;5563:31;5613:4;5610:1;5603:15;5637:4;5634:1;5627:15;5653:416;5742:1;5779:5;5742:1;5793:270;5814:7;5804:8;5801:21;5793:270;;;5873:4;5869:1;5865:6;5861:17;5855:4;5852:27;5849:53;;;5882:18;;:::i;:::-;5932:7;5922:8;5918:22;5915:55;;;5952:16;;;;5915:55;6031:22;;;;5991:15;;;;5793:270;;;5797:3;5653:416;;;;;:::o;6074:806::-;6123:5;6153:8;6143:80;;-1:-1:-1;6194:1:1;6208:5;;6143:80;6242:4;6232:76;;-1:-1:-1;6279:1:1;6293:5;;6232:76;6324:4;6342:1;6337:59;;;;6410:1;6405:130;;;;6317:218;;6337:59;6367:1;6358:10;;6381:5;;;6405:130;6442:3;6432:8;6429:17;6426:43;;;6449:18;;:::i;:::-;-1:-1:-1;;6505:1:1;6491:16;;6520:5;;6317:218;;6619:2;6609:8;6606:16;6600:3;6594:4;6591:13;6587:36;6581:2;6571:8;6568:16;6563:2;6557:4;6554:12;6550:35;6547:77;6544:159;;;-1:-1:-1;6656:19:1;;;6688:5;;6544:159;6735:34;6760:8;6754:4;6735:34;:::i;:::-;6805:6;6801:1;6797:6;6793:19;6784:7;6781:32;6778:58;;;6816:18;;:::i;:::-;6854:20;;6074:806;-1:-1:-1;;;6074:806:1:o;6885:140::-;6943:5;6972:47;7013:4;7003:8;6999:19;6993:4;6972:47;:::i;7030:168::-;7103:9;;;7134;;7151:15;;;7145:22;;7131:37;7121:71;;7172:18;;:::i;7203:349::-;7405:2;7387:21;;;7444:2;7424:18;;;7417:30;7483:27;7478:2;7463:18;;7456:55;7543:2;7528:18;;7203:349::o;7557:352::-;7759:2;7741:21;;;7798:2;7778:18;;;7771:30;7837;7832:2;7817:18;;7810:58;7900:2;7885:18;;7557:352::o;8627:251::-;8697:6;8750:2;8738:9;8729:7;8725:23;8721:32;8718:52;;;8766:1;8763;8756:12;8718:52;8798:9;8792:16;8817:31;8842:5;8817:31;:::i;9804:306::-;9892:6;9900;9908;9961:2;9949:9;9940:7;9936:23;9932:32;9929:52;;;9977:1;9974;9967:12;9929:52;10006:9;10000:16;9990:26;;10056:2;10045:9;10041:18;10035:25;10025:35;;10100:2;10089:9;10085:18;10079:25;10069:35;;9804:306;;;;;:::o;10394:277::-;10461:6;10514:2;10502:9;10493:7;10489:23;10485:32;10482:52;;;10530:1;10527;10520:12;10482:52;10562:9;10556:16;10615:5;10608:13;10601:21;10594:5;10591:32;10581:60;;10637:1;10634;10627:12;14244:125;14309:9;;;14330:10;;;14327:36;;;14343:18;;:::i;14729:135::-;14768:3;14789:17;;;14786:43;;14809:18;;:::i;:::-;-1:-1:-1;14856:1:1;14845:13;;14729:135::o;15221:128::-;15288:9;;;15309:11;;;15306:37;;;15323:18;;:::i;15354:980::-;15616:4;15664:3;15653:9;15649:19;15695:6;15684:9;15677:25;15721:2;15759:6;15754:2;15743:9;15739:18;15732:34;15802:3;15797:2;15786:9;15782:18;15775:31;15826:6;15861;15855:13;15892:6;15884;15877:22;15930:3;15919:9;15915:19;15908:26;;15969:2;15961:6;15957:15;15943:29;;15990:1;16000:195;16014:6;16011:1;16008:13;16000:195;;;16079:13;;-1:-1:-1;;;;;16075:39:1;16063:52;;16170:15;;;;16135:12;;;;16111:1;16029:9;16000:195;;;-1:-1:-1;;;;;;;16251:32:1;;;;16246:2;16231:18;;16224:60;-1:-1:-1;;;16315:3:1;16300:19;16293:35;16212:3;15354:980;-1:-1:-1;;;15354:980:1:o;16339:217::-;16379:1;16405;16395:132;;16449:10;16444:3;16440:20;16437:1;16430:31;16484:4;16481:1;16474:15;16512:4;16509:1;16502:15;16395:132;-1:-1:-1;16541:9:1;;16339:217::o

Swarm Source

ipfs://58d0ee7f930bd9fa7734e472d66dc1d6bfcb6377eac1a92ddc165f40d588228e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.