ETH Price: $2,472.02 (+0.66%)
 

Overview

Max Total Supply

7,777,420,699 PEPEZAR

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
17,622,240.593384861 PEPEZAR

Value
$0.00
0xc059Bf39e1A7eB9Df8A8606DA5c86a4BFabF5421
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
PEPEZAR

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 300 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-17
*/

/**

Web: https://www.hogwartspepe.vip
TG: https://t.me/hogwartspepe
Twitter: https://twitter.com/HogwartsPepe

*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.14;
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
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract PEPEZAR is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Hogwarts Pepe";
    string private constant _symbol = "PEPEZAR";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 7777420699 * 10**9; // 7.7B
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 10; 
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 20;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    mapping (address => bool) public preTrader;
    address payable private _developmentAddress = payable(0x5702a18C3Af3fba2FA2E06b44e83A60992A0da22);
    address payable private _marketingAddress = payable(0x5702a18C3Af3fba2FA2E06b44e83A60992A0da22);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;

    uint256 public _maxTxAmount = 155548413 * 10**9; // 2% 
    uint256 public _maxWalletSize = 155548413 * 10**9; // 2%
    uint256 public _swapTokensAtAmount = 50000 * 10**9;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = 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 tokenFromReflection(_rOwned[account]);
    }

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

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

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

    function 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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

        	if (from != owner() && to != owner() && !preTrader[from] && !preTrader[to]) {

            //Trade start check
            if (!tradingOpen) {
                require(preTrader[from], "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    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 sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function allowPreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 preTrader[accounts[i]] = true;
        }
    }

    function removePreTrading(address[] calldata accounts) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
                 delete preTrader[accounts[i]];
        }
    }
}

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":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"allowPreTrading","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":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preTrader","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"removePreTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a676beef2eb50aa4e006000196200035f565b620000289060001962000382565b60065560006008819055600a60098190558190556014600b819055600c829055600d819055600e91909155600f819055601380546001600160a01b0319908116735702a18c3af3fba2fa2e06b44e83a60992a0da229081179092558254161790556016805461ffff60a81b1916600160b01b1790556702289e751e3da2006017819055601855652d79883d2000601955348015620000c557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa15801562000183573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a99190620003a8565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d9190620003a8565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200026b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002919190620003a8565b601680546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601354851684528284208054821683179055601454909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef676beef2eb50aa4e006040516200035091815260200190565b60405180910390a350620003da565b6000826200037d57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620003a357634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620003bb57600080fd5b81516001600160a01b0381168114620003d357600080fd5b9392505050565b61207e80620003ea6000396000f3fe6080604052600436106101f15760003560e01c80637d1db4a51161010d578063a9059cbb116100a0578063c3c8cd801161006f578063c3c8cd80146105d7578063c492f046146105ec578063dd62ed3e1461060c578063ea1644d514610652578063f2fde38b1461067257600080fd5b8063a9059cbb14610537578063b5a6522314610557578063bdd795ef14610577578063bfd79284146105a757600080fd5b80638f9a55c0116100dc5780638f9a55c0146104b157806395d89b41146104c757806398a5c315146104f7578063a2a957bb1461051757600080fd5b80637d1db4a5146104305780637f2feddc146104465780638da5cb5b146104735780638f70ccf71461049157600080fd5b806349bd5a5e116101855780636fc3eaec116101545780636fc3eaec146103c657806370a08231146103db578063715018a6146103fb57806374010ece1461041057600080fd5b806349bd5a5e1461034657806367aadb7e146103665780636b999053146103865780636d8aa8f8146103a657600080fd5b806318160ddd116101c157806318160ddd146102cf57806323b872dd146102f45780632fd689e314610314578063313ce5671461032a57600080fd5b8062b8cf2a146101fd57806306fdde031461021f578063095ea7b3146102675780631694505e1461029757600080fd5b366101f857005b600080fd5b34801561020957600080fd5b5061021d610218366004611b73565b610692565b005b34801561022b57600080fd5b5060408051808201909152600d81526c486f677761727473205065706560981b60208201525b60405161025e9190611c38565b60405180910390f35b34801561027357600080fd5b50610287610282366004611c8d565b610731565b604051901515815260200161025e565b3480156102a357600080fd5b506015546102b7906001600160a01b031681565b6040516001600160a01b03909116815260200161025e565b3480156102db57600080fd5b50676beef2eb50aa4e005b60405190815260200161025e565b34801561030057600080fd5b5061028761030f366004611cb9565b610748565b34801561032057600080fd5b506102e660195481565b34801561033657600080fd5b506040516009815260200161025e565b34801561035257600080fd5b506016546102b7906001600160a01b031681565b34801561037257600080fd5b5061021d610381366004611d46565b6107b1565b34801561039257600080fd5b5061021d6103a1366004611d88565b610849565b3480156103b257600080fd5b5061021d6103c1366004611db5565b610894565b3480156103d257600080fd5b5061021d6108dc565b3480156103e757600080fd5b506102e66103f6366004611d88565b610927565b34801561040757600080fd5b5061021d610949565b34801561041c57600080fd5b5061021d61042b366004611dd0565b6109bd565b34801561043c57600080fd5b506102e660175481565b34801561045257600080fd5b506102e6610461366004611d88565b60116020526000908152604090205481565b34801561047f57600080fd5b506000546001600160a01b03166102b7565b34801561049d57600080fd5b5061021d6104ac366004611db5565b6109ec565b3480156104bd57600080fd5b506102e660185481565b3480156104d357600080fd5b506040805180820190915260078152662822a822ad20a960c91b6020820152610251565b34801561050357600080fd5b5061021d610512366004611dd0565b610a34565b34801561052357600080fd5b5061021d610532366004611de9565b610a63565b34801561054357600080fd5b50610287610552366004611c8d565b610aa1565b34801561056357600080fd5b5061021d610572366004611d46565b610aae565b34801561058357600080fd5b50610287610592366004611d88565b60126020526000908152604090205460ff1681565b3480156105b357600080fd5b506102876105c2366004611d88565b60106020526000908152604090205460ff1681565b3480156105e357600080fd5b5061021d610b4a565b3480156105f857600080fd5b5061021d610607366004611e1b565b610b9e565b34801561061857600080fd5b506102e6610627366004611e6f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561065e57600080fd5b5061021d61066d366004611dd0565b610c3f565b34801561067e57600080fd5b5061021d61068d366004611d88565b610c6e565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016106bc90611ea8565b60405180910390fd5b60005b815181101561072d576001601060008484815181106106e9576106e9611edd565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061072581611f09565b9150506106c8565b5050565b600061073e338484610d58565b5060015b92915050565b6000610755848484610e7c565b6107a784336107a285604051806060016040528060288152602001612021602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061140d565b610d58565b5060019392505050565b6000546001600160a01b031633146107db5760405162461bcd60e51b81526004016106bc90611ea8565b60005b8181101561084457601260008484848181106107fc576107fc611edd565b90506020020160208101906108119190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191690558061083c81611f09565b9150506107de565b505050565b6000546001600160a01b031633146108735760405162461bcd60e51b81526004016106bc90611ea8565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108be5760405162461bcd60e51b81526004016106bc90611ea8565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061091157506014546001600160a01b0316336001600160a01b0316145b61091a57600080fd5b4761092481611447565b50565b6001600160a01b03811660009081526002602052604081205461074290611481565b6000546001600160a01b031633146109735760405162461bcd60e51b81526004016106bc90611ea8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109e75760405162461bcd60e51b81526004016106bc90611ea8565b601755565b6000546001600160a01b03163314610a165760405162461bcd60e51b81526004016106bc90611ea8565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b81526004016106bc90611ea8565b601955565b6000546001600160a01b03163314610a8d5760405162461bcd60e51b81526004016106bc90611ea8565b600893909355600a91909155600955600b55565b600061073e338484610e7c565b6000546001600160a01b03163314610ad85760405162461bcd60e51b81526004016106bc90611ea8565b60005b8181101561084457600160126000858585818110610afb57610afb611edd565b9050602002016020810190610b109190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b4281611f09565b915050610adb565b6013546001600160a01b0316336001600160a01b03161480610b7f57506014546001600160a01b0316336001600160a01b0316145b610b8857600080fd5b6000610b9330610927565b905061092481611505565b6000546001600160a01b03163314610bc85760405162461bcd60e51b81526004016106bc90611ea8565b60005b82811015610c39578160056000868685818110610bea57610bea611edd565b9050602002016020810190610bff9190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c3181611f09565b915050610bcb565b50505050565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016106bc90611ea8565b601855565b6000546001600160a01b03163314610c985760405162461bcd60e51b81526004016106bc90611ea8565b6001600160a01b038116610cfd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106bc565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610dba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106bc565b6001600160a01b038216610e1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106bc565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ee05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106bc565b6001600160a01b038216610f425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106bc565b60008111610fa45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106bc565b6000546001600160a01b03848116911614801590610fd057506000546001600160a01b03838116911614155b8015610ff557506001600160a01b03831660009081526012602052604090205460ff16155b801561101a57506001600160a01b03821660009081526012602052604090205460ff16155b1561130657601654600160a01b900460ff166110be576001600160a01b03831660009081526012602052604090205460ff166110be5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106bc565b6017548111156111105760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106bc565b6001600160a01b03831660009081526010602052604090205460ff1615801561115257506001600160a01b03821660009081526010602052604090205460ff16155b6111aa5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106bc565b6016546001600160a01b0383811691161461122f57601854816111cc84610927565b6111d69190611f22565b1061122f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106bc565b600061123a30610927565b6019546017549192508210159082106112535760175491505b80801561126a5750601654600160a81b900460ff16155b801561128457506016546001600160a01b03868116911614155b80156112995750601654600160b01b900460ff165b80156112be57506001600160a01b03851660009081526005602052604090205460ff16155b80156112e357506001600160a01b03841660009081526005602052604090205460ff16155b15611303576112f182611505565b4780156113015761130147611447565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061134857506001600160a01b03831660009081526005602052604090205460ff165b8061137a57506016546001600160a01b0385811691161480159061137a57506016546001600160a01b03848116911614155b1561138757506000611401565b6016546001600160a01b0385811691161480156113b257506015546001600160a01b03848116911614155b156113c457600854600c55600954600d555b6016546001600160a01b0384811691161480156113ef57506015546001600160a01b03858116911614155b1561140157600a54600c55600b54600d555b610c398484848461167f565b600081848411156114315760405162461bcd60e51b81526004016106bc9190611c38565b50600061143e8486611f3a565b95945050505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561072d573d6000803e3d6000fd5b60006006548211156114e85760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106bc565b60006114f26116ad565b90506114fe83826116d0565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061154d5761154d611edd565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190611f51565b816001815181106115dd576115dd611edd565b6001600160a01b0392831660209182029290920101526015546116039130911684610d58565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061163c908590600090869030904290600401611f6e565b600060405180830381600087803b15801561165657600080fd5b505af115801561166a573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b8061168c5761168c611712565b611697848484611740565b80610c3957610c39600e54600c55600f54600d55565b60008060006116ba611837565b90925090506116c982826116d0565b9250505090565b60006114fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611877565b600c541580156117225750600d54155b1561172957565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611752876118a5565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506117849087611902565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117b39086611944565b6001600160a01b0389166000908152600260205260409020556117d5816119a3565b6117df84836119ed565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161182491815260200190565b60405180910390a3505050505050505050565b6006546000908190676beef2eb50aa4e0061185282826116d0565b82101561186e57505060065492676beef2eb50aa4e0092509050565b90939092509050565b600081836118985760405162461bcd60e51b81526004016106bc9190611c38565b50600061143e8486611fdf565b60008060008060008060008060006118c28a600c54600d54611a11565b92509250925060006118d26116ad565b905060008060006118e58e878787611a66565b919e509c509a509598509396509194505050505091939550919395565b60006114fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061140d565b6000806119518385611f22565b9050838110156114fe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106bc565b60006119ad6116ad565b905060006119bb8383611ab6565b306000908152600260205260409020549091506119d89082611944565b30600090815260026020526040902055505050565b6006546119fa9083611902565b600655600754611a0a9082611944565b6007555050565b6000808080611a2b6064611a258989611ab6565b906116d0565b90506000611a3e6064611a258a89611ab6565b90506000611a5682611a508b86611902565b90611902565b9992985090965090945050505050565b6000808080611a758886611ab6565b90506000611a838887611ab6565b90506000611a918888611ab6565b90506000611aa382611a508686611902565b939b939a50919850919650505050505050565b600082600003611ac857506000610742565b6000611ad48385612001565b905082611ae18583611fdf565b146114fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106bc565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461092457600080fd5b8035611b6e81611b4e565b919050565b60006020808385031215611b8657600080fd5b823567ffffffffffffffff80821115611b9e57600080fd5b818501915085601f830112611bb257600080fd5b813581811115611bc457611bc4611b38565b8060051b604051601f19603f83011681018181108582111715611be957611be9611b38565b604052918252848201925083810185019188831115611c0757600080fd5b938501935b82851015611c2c57611c1d85611b63565b84529385019392850192611c0c565b98975050505050505050565b600060208083528351808285015260005b81811015611c6557858101830151858201604001528201611c49565b81811115611c77576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611ca057600080fd5b8235611cab81611b4e565b946020939093013593505050565b600080600060608486031215611cce57600080fd5b8335611cd981611b4e565b92506020840135611ce981611b4e565b929592945050506040919091013590565b60008083601f840112611d0c57600080fd5b50813567ffffffffffffffff811115611d2457600080fd5b6020830191508360208260051b8501011115611d3f57600080fd5b9250929050565b60008060208385031215611d5957600080fd5b823567ffffffffffffffff811115611d7057600080fd5b611d7c85828601611cfa565b90969095509350505050565b600060208284031215611d9a57600080fd5b81356114fe81611b4e565b80358015158114611b6e57600080fd5b600060208284031215611dc757600080fd5b6114fe82611da5565b600060208284031215611de257600080fd5b5035919050565b60008060008060808587031215611dff57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611e3057600080fd5b833567ffffffffffffffff811115611e4757600080fd5b611e5386828701611cfa565b9094509250611e66905060208501611da5565b90509250925092565b60008060408385031215611e8257600080fd5b8235611e8d81611b4e565b91506020830135611e9d81611b4e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611f1b57611f1b611ef3565b5060010190565b60008219821115611f3557611f35611ef3565b500190565b600082821015611f4c57611f4c611ef3565b500390565b600060208284031215611f6357600080fd5b81516114fe81611b4e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fbe5784516001600160a01b031683529383019391830191600101611f99565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ffc57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561201b5761201b611ef3565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c0adf10c55648c0dc6bd7b34e31ca08ce6464cbfc3336d486e247258cec62be264736f6c634300080e0033

Deployed Bytecode

0x6080604052600436106101f15760003560e01c80637d1db4a51161010d578063a9059cbb116100a0578063c3c8cd801161006f578063c3c8cd80146105d7578063c492f046146105ec578063dd62ed3e1461060c578063ea1644d514610652578063f2fde38b1461067257600080fd5b8063a9059cbb14610537578063b5a6522314610557578063bdd795ef14610577578063bfd79284146105a757600080fd5b80638f9a55c0116100dc5780638f9a55c0146104b157806395d89b41146104c757806398a5c315146104f7578063a2a957bb1461051757600080fd5b80637d1db4a5146104305780637f2feddc146104465780638da5cb5b146104735780638f70ccf71461049157600080fd5b806349bd5a5e116101855780636fc3eaec116101545780636fc3eaec146103c657806370a08231146103db578063715018a6146103fb57806374010ece1461041057600080fd5b806349bd5a5e1461034657806367aadb7e146103665780636b999053146103865780636d8aa8f8146103a657600080fd5b806318160ddd116101c157806318160ddd146102cf57806323b872dd146102f45780632fd689e314610314578063313ce5671461032a57600080fd5b8062b8cf2a146101fd57806306fdde031461021f578063095ea7b3146102675780631694505e1461029757600080fd5b366101f857005b600080fd5b34801561020957600080fd5b5061021d610218366004611b73565b610692565b005b34801561022b57600080fd5b5060408051808201909152600d81526c486f677761727473205065706560981b60208201525b60405161025e9190611c38565b60405180910390f35b34801561027357600080fd5b50610287610282366004611c8d565b610731565b604051901515815260200161025e565b3480156102a357600080fd5b506015546102b7906001600160a01b031681565b6040516001600160a01b03909116815260200161025e565b3480156102db57600080fd5b50676beef2eb50aa4e005b60405190815260200161025e565b34801561030057600080fd5b5061028761030f366004611cb9565b610748565b34801561032057600080fd5b506102e660195481565b34801561033657600080fd5b506040516009815260200161025e565b34801561035257600080fd5b506016546102b7906001600160a01b031681565b34801561037257600080fd5b5061021d610381366004611d46565b6107b1565b34801561039257600080fd5b5061021d6103a1366004611d88565b610849565b3480156103b257600080fd5b5061021d6103c1366004611db5565b610894565b3480156103d257600080fd5b5061021d6108dc565b3480156103e757600080fd5b506102e66103f6366004611d88565b610927565b34801561040757600080fd5b5061021d610949565b34801561041c57600080fd5b5061021d61042b366004611dd0565b6109bd565b34801561043c57600080fd5b506102e660175481565b34801561045257600080fd5b506102e6610461366004611d88565b60116020526000908152604090205481565b34801561047f57600080fd5b506000546001600160a01b03166102b7565b34801561049d57600080fd5b5061021d6104ac366004611db5565b6109ec565b3480156104bd57600080fd5b506102e660185481565b3480156104d357600080fd5b506040805180820190915260078152662822a822ad20a960c91b6020820152610251565b34801561050357600080fd5b5061021d610512366004611dd0565b610a34565b34801561052357600080fd5b5061021d610532366004611de9565b610a63565b34801561054357600080fd5b50610287610552366004611c8d565b610aa1565b34801561056357600080fd5b5061021d610572366004611d46565b610aae565b34801561058357600080fd5b50610287610592366004611d88565b60126020526000908152604090205460ff1681565b3480156105b357600080fd5b506102876105c2366004611d88565b60106020526000908152604090205460ff1681565b3480156105e357600080fd5b5061021d610b4a565b3480156105f857600080fd5b5061021d610607366004611e1b565b610b9e565b34801561061857600080fd5b506102e6610627366004611e6f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561065e57600080fd5b5061021d61066d366004611dd0565b610c3f565b34801561067e57600080fd5b5061021d61068d366004611d88565b610c6e565b6000546001600160a01b031633146106c55760405162461bcd60e51b81526004016106bc90611ea8565b60405180910390fd5b60005b815181101561072d576001601060008484815181106106e9576106e9611edd565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061072581611f09565b9150506106c8565b5050565b600061073e338484610d58565b5060015b92915050565b6000610755848484610e7c565b6107a784336107a285604051806060016040528060288152602001612021602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061140d565b610d58565b5060019392505050565b6000546001600160a01b031633146107db5760405162461bcd60e51b81526004016106bc90611ea8565b60005b8181101561084457601260008484848181106107fc576107fc611edd565b90506020020160208101906108119190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191690558061083c81611f09565b9150506107de565b505050565b6000546001600160a01b031633146108735760405162461bcd60e51b81526004016106bc90611ea8565b6001600160a01b03166000908152601060205260409020805460ff19169055565b6000546001600160a01b031633146108be5760405162461bcd60e51b81526004016106bc90611ea8565b60168054911515600160b01b0260ff60b01b19909216919091179055565b6013546001600160a01b0316336001600160a01b0316148061091157506014546001600160a01b0316336001600160a01b0316145b61091a57600080fd5b4761092481611447565b50565b6001600160a01b03811660009081526002602052604081205461074290611481565b6000546001600160a01b031633146109735760405162461bcd60e51b81526004016106bc90611ea8565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109e75760405162461bcd60e51b81526004016106bc90611ea8565b601755565b6000546001600160a01b03163314610a165760405162461bcd60e51b81526004016106bc90611ea8565b60168054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b03163314610a5e5760405162461bcd60e51b81526004016106bc90611ea8565b601955565b6000546001600160a01b03163314610a8d5760405162461bcd60e51b81526004016106bc90611ea8565b600893909355600a91909155600955600b55565b600061073e338484610e7c565b6000546001600160a01b03163314610ad85760405162461bcd60e51b81526004016106bc90611ea8565b60005b8181101561084457600160126000858585818110610afb57610afb611edd565b9050602002016020810190610b109190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b4281611f09565b915050610adb565b6013546001600160a01b0316336001600160a01b03161480610b7f57506014546001600160a01b0316336001600160a01b0316145b610b8857600080fd5b6000610b9330610927565b905061092481611505565b6000546001600160a01b03163314610bc85760405162461bcd60e51b81526004016106bc90611ea8565b60005b82811015610c39578160056000868685818110610bea57610bea611edd565b9050602002016020810190610bff9190611d88565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610c3181611f09565b915050610bcb565b50505050565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016106bc90611ea8565b601855565b6000546001600160a01b03163314610c985760405162461bcd60e51b81526004016106bc90611ea8565b6001600160a01b038116610cfd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106bc565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610dba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106bc565b6001600160a01b038216610e1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106bc565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ee05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106bc565b6001600160a01b038216610f425760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106bc565b60008111610fa45760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106bc565b6000546001600160a01b03848116911614801590610fd057506000546001600160a01b03838116911614155b8015610ff557506001600160a01b03831660009081526012602052604090205460ff16155b801561101a57506001600160a01b03821660009081526012602052604090205460ff16155b1561130657601654600160a01b900460ff166110be576001600160a01b03831660009081526012602052604090205460ff166110be5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016106bc565b6017548111156111105760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016106bc565b6001600160a01b03831660009081526010602052604090205460ff1615801561115257506001600160a01b03821660009081526010602052604090205460ff16155b6111aa5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b60648201526084016106bc565b6016546001600160a01b0383811691161461122f57601854816111cc84610927565b6111d69190611f22565b1061122f5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016106bc565b600061123a30610927565b6019546017549192508210159082106112535760175491505b80801561126a5750601654600160a81b900460ff16155b801561128457506016546001600160a01b03868116911614155b80156112995750601654600160b01b900460ff165b80156112be57506001600160a01b03851660009081526005602052604090205460ff16155b80156112e357506001600160a01b03841660009081526005602052604090205460ff16155b15611303576112f182611505565b4780156113015761130147611447565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061134857506001600160a01b03831660009081526005602052604090205460ff165b8061137a57506016546001600160a01b0385811691161480159061137a57506016546001600160a01b03848116911614155b1561138757506000611401565b6016546001600160a01b0385811691161480156113b257506015546001600160a01b03848116911614155b156113c457600854600c55600954600d555b6016546001600160a01b0384811691161480156113ef57506015546001600160a01b03858116911614155b1561140157600a54600c55600b54600d555b610c398484848461167f565b600081848411156114315760405162461bcd60e51b81526004016106bc9190611c38565b50600061143e8486611f3a565b95945050505050565b6014546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561072d573d6000803e3d6000fd5b60006006548211156114e85760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016106bc565b60006114f26116ad565b90506114fe83826116d0565b9392505050565b6016805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061154d5761154d611edd565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190611f51565b816001815181106115dd576115dd611edd565b6001600160a01b0392831660209182029290920101526015546116039130911684610d58565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061163c908590600090869030904290600401611f6e565b600060405180830381600087803b15801561165657600080fd5b505af115801561166a573d6000803e3d6000fd5b50506016805460ff60a81b1916905550505050565b8061168c5761168c611712565b611697848484611740565b80610c3957610c39600e54600c55600f54600d55565b60008060006116ba611837565b90925090506116c982826116d0565b9250505090565b60006114fe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611877565b600c541580156117225750600d54155b1561172957565b600c8054600e55600d8054600f5560009182905555565b600080600080600080611752876118a5565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506117849087611902565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546117b39086611944565b6001600160a01b0389166000908152600260205260409020556117d5816119a3565b6117df84836119ed565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161182491815260200190565b60405180910390a3505050505050505050565b6006546000908190676beef2eb50aa4e0061185282826116d0565b82101561186e57505060065492676beef2eb50aa4e0092509050565b90939092509050565b600081836118985760405162461bcd60e51b81526004016106bc9190611c38565b50600061143e8486611fdf565b60008060008060008060008060006118c28a600c54600d54611a11565b92509250925060006118d26116ad565b905060008060006118e58e878787611a66565b919e509c509a509598509396509194505050505091939550919395565b60006114fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061140d565b6000806119518385611f22565b9050838110156114fe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016106bc565b60006119ad6116ad565b905060006119bb8383611ab6565b306000908152600260205260409020549091506119d89082611944565b30600090815260026020526040902055505050565b6006546119fa9083611902565b600655600754611a0a9082611944565b6007555050565b6000808080611a2b6064611a258989611ab6565b906116d0565b90506000611a3e6064611a258a89611ab6565b90506000611a5682611a508b86611902565b90611902565b9992985090965090945050505050565b6000808080611a758886611ab6565b90506000611a838887611ab6565b90506000611a918888611ab6565b90506000611aa382611a508686611902565b939b939a50919850919650505050505050565b600082600003611ac857506000610742565b6000611ad48385612001565b905082611ae18583611fdf565b146114fe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106bc565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461092457600080fd5b8035611b6e81611b4e565b919050565b60006020808385031215611b8657600080fd5b823567ffffffffffffffff80821115611b9e57600080fd5b818501915085601f830112611bb257600080fd5b813581811115611bc457611bc4611b38565b8060051b604051601f19603f83011681018181108582111715611be957611be9611b38565b604052918252848201925083810185019188831115611c0757600080fd5b938501935b82851015611c2c57611c1d85611b63565b84529385019392850192611c0c565b98975050505050505050565b600060208083528351808285015260005b81811015611c6557858101830151858201604001528201611c49565b81811115611c77576000604083870101525b50601f01601f1916929092016040019392505050565b60008060408385031215611ca057600080fd5b8235611cab81611b4e565b946020939093013593505050565b600080600060608486031215611cce57600080fd5b8335611cd981611b4e565b92506020840135611ce981611b4e565b929592945050506040919091013590565b60008083601f840112611d0c57600080fd5b50813567ffffffffffffffff811115611d2457600080fd5b6020830191508360208260051b8501011115611d3f57600080fd5b9250929050565b60008060208385031215611d5957600080fd5b823567ffffffffffffffff811115611d7057600080fd5b611d7c85828601611cfa565b90969095509350505050565b600060208284031215611d9a57600080fd5b81356114fe81611b4e565b80358015158114611b6e57600080fd5b600060208284031215611dc757600080fd5b6114fe82611da5565b600060208284031215611de257600080fd5b5035919050565b60008060008060808587031215611dff57600080fd5b5050823594602084013594506040840135936060013592509050565b600080600060408486031215611e3057600080fd5b833567ffffffffffffffff811115611e4757600080fd5b611e5386828701611cfa565b9094509250611e66905060208501611da5565b90509250925092565b60008060408385031215611e8257600080fd5b8235611e8d81611b4e565b91506020830135611e9d81611b4e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611f1b57611f1b611ef3565b5060010190565b60008219821115611f3557611f35611ef3565b500190565b600082821015611f4c57611f4c611ef3565b500390565b600060208284031215611f6357600080fd5b81516114fe81611b4e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611fbe5784516001600160a01b031683529383019391830191600101611f99565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611ffc57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561201b5761201b611ef3565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c0adf10c55648c0dc6bd7b34e31ca08ce6464cbfc3336d486e247258cec62be264736f6c634300080e0033

Deployed Bytecode Sourcemap

4191:14016:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12975:169;;;;;;;;;;-1:-1:-1;12975:169:0;;;;;:::i;:::-;;:::i;:::-;;6764:83;;;;;;;;;;-1:-1:-1;6834:5:0;;;;;;;;;;;;-1:-1:-1;;;6834:5:0;;;;6764:83;;;;;;;:::i;:::-;;;;;;;;7689:193;;;;;;;;;;-1:-1:-1;7689:193:0;;;;;:::i;:::-;;:::i;:::-;;;2657:14:1;;2650:22;2632:41;;2620:2;2605:18;7689:193:0;2492:187:1;5599:41:0;;;;;;;;;;-1:-1:-1;5599:41:0;;;;-1:-1:-1;;;;;5599:41:0;;;;;;-1:-1:-1;;;;;2874:55:1;;;2856:74;;2844:2;2829:18;5599:41:0;2684:252:1;7041:95:0;;;;;;;;;;-1:-1:-1;4745:18:0;7041:95;;;3087:25:1;;;3075:2;3060:18;7041:95:0;2941:177:1;7890:446:0;;;;;;;;;;-1:-1:-1;7890:446:0;;;;;:::i;:::-;;:::i;5912:50::-;;;;;;;;;;;;;;;;6950:83;;;;;;;;;;-1:-1:-1;6950:83:0;;4419:1;3726:36:1;;3714:2;3699:18;6950:83:0;3584:184:1;5647:28:0;;;;;;;;;;-1:-1:-1;5647:28:0;;;;-1:-1:-1;;;;;5647:28:0;;;18008:196;;;;;;;;;;-1:-1:-1;18008:196:0;;;;;:::i;:::-;;:::i;13152:92::-;;;;;;;;;;-1:-1:-1;13152:92:0;;;;;:::i;:::-;;:::i;17184:101::-;;;;;;;;;;-1:-1:-1;17184:101:0;;;;;:::i;:::-;;:::i;12732:235::-;;;;;;;;;;;;;:::i;7144:138::-;;;;;;;;;;-1:-1:-1;7144:138:0;;;;;:::i;:::-;;:::i;1678:148::-;;;;;;;;;;;;;:::i;17324:108::-;;;;;;;;;;-1:-1:-1;17324:108:0;;;;;:::i;:::-;;:::i;5789:47::-;;;;;;;;;;;;;;;;5292:43;;;;;;;;;;-1:-1:-1;5292:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;1464:79;;;;;;;;;;-1:-1:-1;1502:7:0;1529:6;-1:-1:-1;;;;;1529:6:0;1464:79;;12379:101;;;;;;;;;;-1:-1:-1;12379:101:0;;;;;:::i;:::-;;:::i;5850:49::-;;;;;;;;;;;;;;;;6855:87;;;;;;;;;;-1:-1:-1;6927:7:0;;;;;;;;;;;;-1:-1:-1;;;6927:7:0;;;;6855:87;;16993:139;;;;;;;;;;-1:-1:-1;16993:139:0;;;;;:::i;:::-;;:::i;16650:291::-;;;;;;;;;;-1:-1:-1;16650:291:0;;;;;:::i;:::-;;:::i;7290:199::-;;;;;;;;;;-1:-1:-1;7290:199:0;;;;;:::i;:::-;;:::i;17805:195::-;;;;;;;;;;-1:-1:-1;17805:195:0;;;;;:::i;:::-;;:::i;5342:42::-;;;;;;;;;;-1:-1:-1;5342:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5254:36;;;;;;;;;;-1:-1:-1;5254:36:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;12488:236;;;;;;;;;;;;;:::i;17563:234::-;;;;;;;;;;-1:-1:-1;17563:234:0;;;;;:::i;:::-;;:::i;7497:184::-;;;;;;;;;;-1:-1:-1;7497:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7646:18:0;;;7614:7;7646:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7497:184;17440:115;;;;;;;;;;-1:-1:-1;17440:115:0;;;;;:::i;:::-;;:::i;1834:244::-;;;;;;;;;;-1:-1:-1;1834:244:0;;;;;:::i;:::-;;:::i;12975:169::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;;;;;;;;;13051:9:::1;13046:91;13070:5;:12;13066:1;:16;13046:91;;;13121:4;13104;:14;13109:5;13115:1;13109:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13104:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13104:14:0;:21;;-1:-1:-1;;13104:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13084:3;::::1;::::0;::::1;:::i;:::-;;;;13046:91;;;;12975:169:::0;:::o;7689:193::-;7791:4;7813:39;303:10;7836:7;7845:6;7813:8;:39::i;:::-;-1:-1:-1;7870:4:0;7689:193;;;;;:::o;7890:446::-;8022:4;8039:36;8049:6;8057:9;8068:6;8039:9;:36::i;:::-;8086:220;8109:6;303:10;8157:138;8213:6;8157:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8157:19:0;;;;;;:11;:19;;;;;;;;303:10;8157:33;;;;;;;;;;:37;:138::i;:::-;8086:8;:220::i;:::-;-1:-1:-1;8324:4:0;7890:446;;;;;:::o;18008:196::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;18095:9:::1;18091:106;18110:19:::0;;::::1;18091:106;;;18163:9;:22;18173:8;;18182:1;18173:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18163:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18163:22:0;18156:29;;-1:-1:-1;;18156:29:0::1;::::0;;18131:3;::::1;::::0;::::1;:::i;:::-;;;;18091:106;;;;18008:196:::0;;:::o;13152:92::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13216:12:0::1;13231:5;13216:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;13216:20:0::1;::::0;;13152:92::o;17184:101::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;17251:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;17251:26:0::1;-1:-1:-1::0;;;;17251:26:0;;::::1;::::0;;;::::1;::::0;;17184:101::o;12732:235::-;12798:19;;-1:-1:-1;;;;;12798:19:0;303:10;-1:-1:-1;;;;;12782:35:0;;:72;;;-1:-1:-1;12837:17:0;;-1:-1:-1;;;;;12837:17:0;303:10;-1:-1:-1;;;;;12821:33:0;;12782:72;12774:81;;;;;;12895:21;12927:32;12895:21;12927:12;:32::i;:::-;12763:204;12732:235::o;7144:138::-;-1:-1:-1;;;;;7257:16:0;;7210:7;7257:16;;;:7;:16;;;;;;7237:37;;:19;:37::i;1678:148::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;1785:1:::1;1769:6:::0;;1748:40:::1;::::0;-1:-1:-1;;;;;1769:6:0;;::::1;::::0;1748:40:::1;::::0;1785:1;;1748:40:::1;1816:1;1799:19:::0;;-1:-1:-1;;;;;;1799:19:0::1;::::0;;1678:148::o;17324:108::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;17398:12:::1;:26:::0;17324:108::o;12379:101::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;12446:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;12446:26:0::1;-1:-1:-1::0;;;;12446:26:0;;::::1;::::0;;;::::1;::::0;;12379:101::o;16993:139::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;17084:19:::1;:40:::0;16993:139::o;16650:291::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;16784:14:::1;:30:::0;;;;16825:15:::1;:32:::0;;;;16868:12:::1;:26:::0;16905:13:::1;:28:::0;16650:291::o;7290:199::-;7395:4;7417:42;303:10;7441:9;7452:6;7417:9;:42::i;17805:195::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;17891:9:::1;17887:106;17906:19:::0;;::::1;17887:106;;;17977:4;17952:9;:22;17962:8;;17971:1;17962:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17952:22:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17952:22:0;:29;;-1:-1:-1;;17952:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17927:3;::::1;::::0;::::1;:::i;:::-;;;;17887:106;;12488:236:::0;12554:19;;-1:-1:-1;;;;;12554:19:0;303:10;-1:-1:-1;;;;;12538:35:0;;:72;;;-1:-1:-1;12593:17:0;;-1:-1:-1;;;;;12593:17:0;303:10;-1:-1:-1;;;;;12577:33:0;;12538:72;12530:81;;;;;;12622:23;12648:24;12666:4;12648:9;:24::i;:::-;12622:50;;12683:33;12700:15;12683:16;:33::i;17563:234::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;17680:9:::1;17676:114;17695:19:::0;;::::1;17676:114;;;17770:8;17736:18;:31;17755:8;;17764:1;17755:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17736:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17736:31:0;:42;;-1:-1:-1;;17736:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17716:3;::::1;::::0;::::1;:::i;:::-;;;;17676:114;;;;17563:234:::0;;;:::o;17440:115::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;17517:14:::1;:30:::0;17440:115::o;1834:244::-;1591:6;;-1:-1:-1;;;;;1591:6:0;303:10;1591:22;1583:67;;;;-1:-1:-1;;;1583:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1923:22:0;::::1;1915:73;;;::::0;-1:-1:-1;;;1915:73:0;;7865:2:1;1915:73:0::1;::::0;::::1;7847:21:1::0;7904:2;7884:18;;;7877:30;7943:34;7923:18;;;7916:62;-1:-1:-1;;;7994:18:1;;;7987:36;8040:19;;1915:73:0::1;7663:402:1::0;1915:73:0::1;2025:6;::::0;;2004:38:::1;::::0;-1:-1:-1;;;;;2004:38:0;;::::1;::::0;2025:6;::::1;::::0;2004:38:::1;::::0;::::1;2053:6;:17:::0;;-1:-1:-1;;;;;;2053:17:0::1;-1:-1:-1::0;;;;;2053:17:0;;;::::1;::::0;;;::::1;::::0;;1834:244::o;9027:369::-;-1:-1:-1;;;;;9154:19:0;;9146:68;;;;-1:-1:-1;;;9146:68:0;;8272:2:1;9146:68:0;;;8254:21:1;8311:2;8291:18;;;8284:30;8350:34;8330:18;;;8323:62;-1:-1:-1;;;8401:18:1;;;8394:34;8445:19;;9146:68:0;8070:400:1;9146:68:0;-1:-1:-1;;;;;9233:21:0;;9225:68;;;;-1:-1:-1;;;9225:68:0;;8677:2:1;9225:68:0;;;8659:21:1;8716:2;8696:18;;;8689:30;8755:34;8735:18;;;8728:62;-1:-1:-1;;;8806:18:1;;;8799:32;8848:19;;9225:68:0;8475:398:1;9225:68:0;-1:-1:-1;;;;;9304:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9356:32;;3087:25:1;;;9356:32:0;;3060:18:1;9356:32:0;;;;;;;9027:369;;;:::o;9404:2369::-;-1:-1:-1;;;;;9526:18:0;;9518:68;;;;-1:-1:-1;;;9518:68:0;;9080:2:1;9518:68:0;;;9062:21:1;9119:2;9099:18;;;9092:30;9158:34;9138:18;;;9131:62;-1:-1:-1;;;9209:18:1;;;9202:35;9254:19;;9518:68:0;8878:401:1;9518:68:0;-1:-1:-1;;;;;9605:16:0;;9597:64;;;;-1:-1:-1;;;9597:64:0;;9486:2:1;9597:64:0;;;9468:21:1;9525:2;9505:18;;;9498:30;9564:34;9544:18;;;9537:62;-1:-1:-1;;;9615:18:1;;;9608:33;9658:19;;9597:64:0;9284:399:1;9597:64:0;9689:1;9680:6;:10;9672:64;;;;-1:-1:-1;;;9672:64:0;;9890:2:1;9672:64:0;;;9872:21:1;9929:2;9909:18;;;9902:30;9968:34;9948:18;;;9941:62;-1:-1:-1;;;10019:18:1;;;10012:39;10068:19;;9672:64:0;9688:405:1;9672:64:0;1502:7;1529:6;-1:-1:-1;;;;;9754:15:0;;;1529:6;;9754:15;;;;:32;;-1:-1:-1;1502:7:0;1529:6;-1:-1:-1;;;;;9773:13:0;;;1529:6;;9773:13;;9754:32;:52;;;;-1:-1:-1;;;;;;9791:15:0;;;;;;:9;:15;;;;;;;;9790:16;9754:52;:70;;;;-1:-1:-1;;;;;;9811:13:0;;;;;;:9;:13;;;;;;;;9810:14;9754:70;9750:1297;;;9881:11;;-1:-1:-1;;;9881:11:0;;;;9876:144;;-1:-1:-1;;;;;9921:15:0;;;;;;:9;:15;;;;;;;;9913:91;;;;-1:-1:-1;;;9913:91:0;;10300:2:1;9913:91:0;;;10282:21:1;10339:2;10319:18;;;10312:30;10378:34;10358:18;;;10351:62;10449:33;10429:18;;;10422:61;10500:19;;9913:91:0;10098:427:1;9913:91:0;10054:12;;10044:6;:22;;10036:63;;;;-1:-1:-1;;;10036:63:0;;10732:2:1;10036:63:0;;;10714:21:1;10771:2;10751:18;;;10744:30;10810;10790:18;;;10783:58;10858:18;;10036:63:0;10530:352:1;10036:63:0;-1:-1:-1;;;;;10123:10:0;;;;;;:4;:10;;;;;;;;10122:11;:24;;;;-1:-1:-1;;;;;;10138:8:0;;;;;;:4;:8;;;;;;;;10137:9;10122:24;10114:72;;;;-1:-1:-1;;;10114:72:0;;11089:2:1;10114:72:0;;;11071:21:1;11128:2;11108:18;;;11101:30;11167:34;11147:18;;;11140:62;-1:-1:-1;;;11218:18:1;;;11211:33;11261:19;;10114:72:0;10887:399:1;10114:72:0;10212:13;;-1:-1:-1;;;;;10206:19:0;;;10212:13;;10206:19;10203:146;;10279:14;;10270:6;10254:13;10264:2;10254:9;:13::i;:::-;:22;;;;:::i;:::-;:39;10246:87;;;;-1:-1:-1;;;10246:87:0;;11626:2:1;10246:87:0;;;11608:21:1;11665:2;11645:18;;;11638:30;11704:34;11684:18;;;11677:62;-1:-1:-1;;;11755:18:1;;;11748:33;11798:19;;10246:87:0;11424:399:1;10246:87:0;10365:28;10396:24;10414:4;10396:9;:24::i;:::-;10474:19;;10537:12;;10365:55;;-1:-1:-1;10450:43:0;;;;10513:36;;10510:124;;10606:12;;10583:35;;10510:124;10654:7;:18;;;;-1:-1:-1;10666:6:0;;-1:-1:-1;;;10666:6:0;;;;10665:7;10654:18;:43;;;;-1:-1:-1;10684:13:0;;-1:-1:-1;;;;;10676:21:0;;;10684:13;;10676:21;;10654:43;:58;;;;-1:-1:-1;10701:11:0;;-1:-1:-1;;;10701:11:0;;;;10654:58;:87;;;;-1:-1:-1;;;;;;10717:24:0;;;;;;:18;:24;;;;;;;;10716:25;10654:87;:114;;;;-1:-1:-1;;;;;;10746:22:0;;;;;;:18;:22;;;;;;;;10745:23;10654:114;10650:386;;;10789:38;10806:20;10789:16;:38::i;:::-;10875:21;10919:22;;10915:106;;10966:35;10979:21;10966:12;:35::i;:::-;10770:266;10650:386;9826:1221;;9750:1297;-1:-1:-1;;;;;11123:24:0;;11059:12;11123:24;;;:18;:24;;;;;;11074:4;;11123:24;;;:50;;-1:-1:-1;;;;;;11151:22:0;;;;;;:18;:22;;;;;;;;11123:50;11122:102;;;-1:-1:-1;11187:13:0;;-1:-1:-1;;;;;11179:21:0;;;11187:13;;11179:21;;;;:44;;-1:-1:-1;11210:13:0;;-1:-1:-1;;;;;11204:19:0;;;11210:13;;11204:19;;11179:44;11118:594;;;-1:-1:-1;11251:5:0;11118:594;;;11334:13;;-1:-1:-1;;;;;11326:21:0;;;11334:13;;11326:21;:55;;;;-1:-1:-1;11365:15:0;;-1:-1:-1;;;;;11351:30:0;;;11365:15;;11351:30;;11326:55;11323:162;;;11414:14;;11402:9;:26;11457:12;;11447:7;:22;11323:162;11544:13;;-1:-1:-1;;;;;11538:19:0;;;11544:13;;11538:19;:55;;;;-1:-1:-1;11577:15:0;;-1:-1:-1;;;;;11561:32:0;;;11577:15;;11561:32;;11538:55;11534:165;;;11626:15;;11614:9;:27;11670:13;;11660:7;:23;11534:165;11724:41;11739:4;11745:2;11749:6;11757:7;11724:14;:41::i;2442:224::-;2562:7;2598:12;2590:6;;;;2582:29;;;;-1:-1:-1;;;2582:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2622:9:0;2634:5;2638:1;2634;:5;:::i;:::-;2622:17;2442:224;-1:-1:-1;;;;;2442:224:0:o;12272:99::-;12329:17;;:34;;-1:-1:-1;;;;;12329:17:0;;;;:34;;;;;12356:6;;12329:17;:34;:17;:34;12356:6;12329:17;:34;;;;;;;;;;;;;;;;;;;8344:323;8439:7;8497;;8486;:18;;8464:110;;;;-1:-1:-1;;;8464:110:0;;12160:2:1;8464:110:0;;;12142:21:1;12199:2;12179:18;;;12172:30;12238:34;12218:18;;;12211:62;-1:-1:-1;;;12289:18:1;;;12282:40;12339:19;;8464:110:0;11958:406:1;8464:110:0;8585:19;8607:10;:8;:10::i;:::-;8585:32;-1:-1:-1;8635:24:0;:7;8585:32;8635:11;:24::i;:::-;8628:31;8344:323;-1:-1:-1;;;8344:323:0:o;11781:483::-;6056:6;:13;;-1:-1:-1;;;;6056:13:0;-1:-1:-1;;;6056:13:0;;;11883:16:::1;::::0;;11897:1:::1;11883:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11883:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11883:16:0::1;11859:40;;11928:4;11910;11915:1;11910:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11910:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11954:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11954:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11910:7;;11954:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11944:4;11949:1;11944:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11944:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12019:15:::1;::::0;11987:62:::1;::::0;12004:4:::1;::::0;12019:15:::1;12037:11:::0;11987:8:::1;:62::i;:::-;12060:15;::::0;:196:::1;::::0;-1:-1:-1;;;12060:196:0;;-1:-1:-1;;;;;12060:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12141:11;;12060:15:::1;::::0;12183:4;;12210::::1;::::0;12230:15:::1;::::0;12060:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;6092:6:0;:14;;-1:-1:-1;;;;6092:14:0;;;-1:-1:-1;;;;11781:483:0:o;13252:282::-;13408:7;13403:28;;13417:14;:12;:14::i;:::-;13442:44;13460:6;13468:9;13479:6;13442:17;:44::i;:::-;13502:7;13497:29;;13511:15;8958:17;;8946:9;:29;8996:15;;8986:7;:25;8902:117;16213:164;16255:7;16276:15;16293;16312:19;:17;:19::i;:::-;16275:56;;-1:-1:-1;16275:56:0;-1:-1:-1;16349:20:0;16275:56;;16349:11;:20::i;:::-;16342:27;;;;16213:164;:::o;2928:132::-;2986:7;3013:39;3017:1;3020;3013:39;;;;;;;;;;;;;;;;;:3;:39::i;8675:219::-;8722:9;;:14;:30;;;;-1:-1:-1;8740:7:0;;:12;8722:30;8718:43;;;8675:219::o;8718:43::-;8793:9;;;8773:17;:29;8831:7;;;8813:15;:25;-1:-1:-1;8851:13:0;;;;8875:11;8675:219::o;13542:610::-;13689:15;13719:23;13757:12;13784:23;13822:12;13849:13;13876:19;13887:7;13876:10;:19::i;:::-;-1:-1:-1;;;;;13924:15:0;;;;;;:7;:15;;;;;;13674:221;;-1:-1:-1;13674:221:0;;-1:-1:-1;13674:221:0;;-1:-1:-1;13674:221:0;-1:-1:-1;13674:221:0;-1:-1:-1;13674:221:0;-1:-1:-1;13924:28:0;;13674:221;13924:19;:28::i;:::-;-1:-1:-1;;;;;13906:15:0;;;;;;;:7;:15;;;;;;:46;;;;13984:18;;;;;;;:39;;14007:15;13984:22;:39::i;:::-;-1:-1:-1;;;;;13963:18:0;;;;;;:7;:18;;;;;:60;14034:16;14044:5;14034:9;:16::i;:::-;14061:23;14073:4;14079;14061:11;:23::i;:::-;14117:9;-1:-1:-1;;;;;14100:44:0;14109:6;-1:-1:-1;;;;;14100:44:0;;14128:15;14100:44;;;;3087:25:1;;3075:2;3060:18;;2941:177;14100:44:0;;;;;;;;13663:489;;;;;;13542:610;;;:::o;16385:257::-;16483:7;;16436;;;;4745:18;16551:20;16483:7;4745:18;16551:11;:20::i;:::-;16541:7;:30;16537:61;;;-1:-1:-1;;16581:7:0;;;4745:18;;-1:-1:-1;16385:257:0;-1:-1:-1;16385:257:0:o;16537:61::-;16617:7;;16626;;-1:-1:-1;16385:257:0;-1:-1:-1;16385:257:0:o;3068:223::-;3188:7;3223:12;3216:5;3208:28;;;;-1:-1:-1;;;3208:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3247:9:0;3259:5;3263:1;3259;:5;:::i;14571:615::-;14671:7;14693;14715;14737;14759;14781;14817:23;14842:12;14856:13;14886:40;14898:7;14907:9;;14918:7;;14886:11;:40::i;:::-;14816:110;;;;;;14937:19;14959:10;:8;:10::i;:::-;14937:32;;14981:15;14998:23;15023:12;15052:46;15064:7;15073:4;15079:5;15086:11;15052;:46::i;:::-;14980:118;;-1:-1:-1;14980:118:0;-1:-1:-1;14980:118:0;-1:-1:-1;15149:15:0;;-1:-1:-1;15166:4:0;;-1:-1:-1;15172:5:0;;-1:-1:-1;;;;;14571:615:0;;;;;;;:::o;2298:136::-;2356:7;2383:43;2387:1;2390;2383:43;;;;;;;;;;;;;;;;;:3;:43::i;2111:179::-;2169:7;;2201:5;2205:1;2201;:5;:::i;:::-;2189:17;;2230:1;2225;:6;;2217:46;;;;-1:-1:-1;;;2217:46:0;;14080:2:1;2217:46:0;;;14062:21:1;14119:2;14099:18;;;14092:30;14158:29;14138:18;;;14131:57;14205:18;;2217:46:0;13878:351:1;14160:211:0;14213:19;14235:10;:8;:10::i;:::-;14213:32;-1:-1:-1;14256:13:0;14272:22;:5;14213:32;14272:9;:22::i;:::-;14346:4;14330:22;;;;:7;:22;;;;;;14256:38;;-1:-1:-1;14330:33:0;;14256:38;14330:26;:33::i;:::-;14321:4;14305:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;14160:211:0:o;14379:147::-;14457:7;;:17;;14469:4;14457:11;:17::i;:::-;14447:7;:27;14498:10;;:20;;14513:4;14498:14;:20::i;:::-;14485:10;:33;-1:-1:-1;;14379:147:0:o;15194:469::-;15363:7;;;;15457:30;15483:3;15457:21;:7;15469:8;15457:11;:21::i;:::-;:25;;:30::i;:::-;15442:45;-1:-1:-1;15498:13:0;15514:28;15538:3;15514:19;:7;15526:6;15514:11;:19::i;:28::-;15498:44;-1:-1:-1;15553:23:0;15579:28;15498:44;15579:17;:7;15591:4;15579:11;:17::i;:::-;:21;;:28::i;:::-;15553:54;15643:4;;-1:-1:-1;15649:5:0;;-1:-1:-1;15194:469:0;;-1:-1:-1;;;;;15194:469:0:o;15671:534::-;15865:7;;;;15962:24;:7;15974:11;15962;:24::i;:::-;15944:42;-1:-1:-1;15997:12:0;16012:21;:4;16021:11;16012:8;:21::i;:::-;15997:36;-1:-1:-1;16044:13:0;16060:22;:5;16070:11;16060:9;:22::i;:::-;16044:38;-1:-1:-1;16093:23:0;16119:28;16044:38;16119:17;:7;16131:4;16119:11;:17::i;:28::-;16166:7;;;;-1:-1:-1;16192:4:0;;-1:-1:-1;15671:534:0;;-1:-1:-1;;;;;;;15671:534:0:o;2674:246::-;2732:7;2756:1;2761;2756:6;2752:47;;-1:-1:-1;2786:1:0;2779:8;;2752:47;2809:9;2821:5;2825:1;2821;:5;:::i;:::-;2809:17;-1:-1:-1;2854:1:0;2845:5;2849:1;2809:17;2845:5;:::i;:::-;:10;2837:56;;;;-1:-1:-1;;;2837:56:0;;14609:2:1;2837:56:0;;;14591:21:1;14648:2;14628:18;;;14621:30;14687:34;14667:18;;;14660:62;-1:-1:-1;;;14738:18:1;;;14731:31;14779:19;;2837:56:0;14407:397:1;14:127;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:154;-1:-1:-1;;;;;225:5:1;221:54;214:5;211:65;201:93;;290:1;287;280:12;305:134;373:20;;402:31;373:20;402:31;:::i;:::-;305:134;;;:::o;444:1121::-;528:6;559:2;602;590:9;581:7;577:23;573:32;570:52;;;618:1;615;608:12;570:52;658:9;645:23;687:18;728:2;720:6;717:14;714:34;;;744:1;741;734:12;714:34;782:6;771:9;767:22;757:32;;827:7;820:4;816:2;812:13;808:27;798:55;;849:1;846;839:12;798:55;885:2;872:16;907:2;903;900:10;897:36;;;913:18;;:::i;:::-;959:2;956:1;952:10;991:2;985:9;1054:2;1050:7;1045:2;1041;1037:11;1033:25;1025:6;1021:38;1109:6;1097:10;1094:22;1089:2;1077:10;1074:18;1071:46;1068:72;;;1120:18;;:::i;:::-;1156:2;1149:22;1206:18;;;1240:15;;;;-1:-1:-1;1282:11:1;;;1278:20;;;1310:19;;;1307:39;;;1342:1;1339;1332:12;1307:39;1366:11;;;;1386:148;1402:6;1397:3;1394:15;1386:148;;;1468:23;1487:3;1468:23;:::i;:::-;1456:36;;1419:12;;;;1512;;;;1386:148;;;1553:6;444:1121;-1:-1:-1;;;;;;;;444:1121:1:o;1570:597::-;1682:4;1711:2;1740;1729:9;1722:21;1772:6;1766:13;1815:6;1810:2;1799:9;1795:18;1788:34;1840:1;1850:140;1864:6;1861:1;1858:13;1850:140;;;1959:14;;;1955:23;;1949:30;1925:17;;;1944:2;1921:26;1914:66;1879:10;;1850:140;;;2008:6;2005:1;2002:13;1999:91;;;2078:1;2073:2;2064:6;2053:9;2049:22;2045:31;2038:42;1999:91;-1:-1:-1;2151:2:1;2130:15;-1:-1:-1;;2126:29:1;2111:45;;;;2158:2;2107:54;;1570:597;-1:-1:-1;;;1570:597:1:o;2172:315::-;2240:6;2248;2301:2;2289:9;2280:7;2276:23;2272:32;2269:52;;;2317:1;2314;2307:12;2269:52;2356:9;2343:23;2375:31;2400:5;2375:31;:::i;:::-;2425:5;2477:2;2462:18;;;;2449:32;;-1:-1:-1;;;2172:315:1:o;3123:456::-;3200:6;3208;3216;3269:2;3257:9;3248:7;3244:23;3240:32;3237:52;;;3285:1;3282;3275:12;3237:52;3324:9;3311:23;3343:31;3368:5;3343:31;:::i;:::-;3393:5;-1:-1:-1;3450:2:1;3435:18;;3422:32;3463:33;3422:32;3463:33;:::i;:::-;3123:456;;3515:7;;-1:-1:-1;;;3569:2:1;3554:18;;;;3541:32;;3123:456::o;4004:367::-;4067:8;4077:6;4131:3;4124:4;4116:6;4112:17;4108:27;4098:55;;4149:1;4146;4139:12;4098:55;-1:-1:-1;4172:20:1;;4215:18;4204:30;;4201:50;;;4247:1;4244;4237:12;4201:50;4284:4;4276:6;4272:17;4260:29;;4344:3;4337:4;4327:6;4324:1;4320:14;4312:6;4308:27;4304:38;4301:47;4298:67;;;4361:1;4358;4351:12;4298:67;4004:367;;;;;:::o;4376:437::-;4462:6;4470;4523:2;4511:9;4502:7;4498:23;4494:32;4491:52;;;4539:1;4536;4529:12;4491:52;4579:9;4566:23;4612:18;4604:6;4601:30;4598:50;;;4644:1;4641;4634:12;4598:50;4683:70;4745:7;4736:6;4725:9;4721:22;4683:70;:::i;:::-;4772:8;;4657:96;;-1:-1:-1;4376:437:1;-1:-1:-1;;;;4376:437:1:o;4818:247::-;4877:6;4930:2;4918:9;4909:7;4905:23;4901:32;4898:52;;;4946:1;4943;4936:12;4898:52;4985:9;4972:23;5004:31;5029:5;5004:31;:::i;5070:160::-;5135:20;;5191:13;;5184:21;5174:32;;5164:60;;5220:1;5217;5210:12;5235:180;5291:6;5344:2;5332:9;5323:7;5319:23;5315:32;5312:52;;;5360:1;5357;5350:12;5312:52;5383:26;5399:9;5383:26;:::i;5420:180::-;5479:6;5532:2;5520:9;5511:7;5507:23;5503:32;5500:52;;;5548:1;5545;5538:12;5500:52;-1:-1:-1;5571:23:1;;5420:180;-1:-1:-1;5420:180:1:o;5605:385::-;5691:6;5699;5707;5715;5768:3;5756:9;5747:7;5743:23;5739:33;5736:53;;;5785:1;5782;5775:12;5736:53;-1:-1:-1;;5808:23:1;;;5878:2;5863:18;;5850:32;;-1:-1:-1;5929:2:1;5914:18;;5901:32;;5980:2;5965:18;5952:32;;-1:-1:-1;5605:385:1;-1:-1:-1;5605:385:1:o;5995:505::-;6087:6;6095;6103;6156:2;6144:9;6135:7;6131:23;6127:32;6124:52;;;6172:1;6169;6162:12;6124:52;6212:9;6199:23;6245:18;6237:6;6234:30;6231:50;;;6277:1;6274;6267:12;6231:50;6316:70;6378:7;6369:6;6358:9;6354:22;6316:70;:::i;:::-;6405:8;;-1:-1:-1;6290:96:1;-1:-1:-1;6459:35:1;;-1:-1:-1;6490:2:1;6475:18;;6459:35;:::i;:::-;6449:45;;5995:505;;;;;:::o;6505:388::-;6573:6;6581;6634:2;6622:9;6613:7;6609:23;6605:32;6602:52;;;6650:1;6647;6640:12;6602:52;6689:9;6676:23;6708:31;6733:5;6708:31;:::i;:::-;6758:5;-1:-1:-1;6815:2:1;6800:18;;6787:32;6828:33;6787:32;6828:33;:::i;:::-;6880:7;6870:17;;;6505:388;;;;;:::o;6898:356::-;7100:2;7082:21;;;7119:18;;;7112:30;7178:34;7173:2;7158:18;;7151:62;7245:2;7230:18;;6898:356::o;7259:127::-;7320:10;7315:3;7311:20;7308:1;7301:31;7351:4;7348:1;7341:15;7375:4;7372:1;7365:15;7391:127;7452:10;7447:3;7443:20;7440:1;7433:31;7483:4;7480:1;7473:15;7507:4;7504:1;7497:15;7523:135;7562:3;7583:17;;;7580:43;;7603:18;;:::i;:::-;-1:-1:-1;7650:1:1;7639:13;;7523:135::o;11291:128::-;11331:3;11362:1;11358:6;11355:1;11352:13;11349:39;;;11368:18;;:::i;:::-;-1:-1:-1;11404:9:1;;11291:128::o;11828:125::-;11868:4;11896:1;11893;11890:8;11887:34;;;11901:18;;:::i;:::-;-1:-1:-1;11938:9:1;;11828:125::o;12369:251::-;12439:6;12492:2;12480:9;12471:7;12467:23;12463:32;12460:52;;;12508:1;12505;12498:12;12460:52;12540:9;12534:16;12559:31;12584:5;12559:31;:::i;12625:1026::-;12887:4;12935:3;12924:9;12920:19;12966:6;12955:9;12948:25;12992:2;13030:6;13025:2;13014:9;13010:18;13003:34;13073:3;13068:2;13057:9;13053:18;13046:31;13097:6;13132;13126:13;13163:6;13155;13148:22;13201:3;13190:9;13186:19;13179:26;;13240:2;13232:6;13228:15;13214:29;;13261:1;13271:218;13285:6;13282:1;13279:13;13271:218;;;13350:13;;-1:-1:-1;;;;;13346:62:1;13334:75;;13464:15;;;;13429:12;;;;13307:1;13300:9;13271:218;;;-1:-1:-1;;;;;;;13545:55:1;;;;13540:2;13525:18;;13518:83;-1:-1:-1;;;13632:3:1;13617:19;13610:35;13506:3;12625:1026;-1:-1:-1;;;12625:1026:1:o;13656:217::-;13696:1;13722;13712:132;;13766:10;13761:3;13757:20;13754:1;13747:31;13801:4;13798:1;13791:15;13829:4;13826:1;13819:15;13712:132;-1:-1:-1;13858:9:1;;13656:217::o;14234:168::-;14274:7;14340:1;14336;14332:6;14328:14;14325:1;14322:21;14317:1;14310:9;14303:17;14299:45;14296:71;;;14347:18;;:::i;:::-;-1:-1:-1;14387:9:1;;14234:168::o

Swarm Source

ipfs://c0adf10c55648c0dc6bd7b34e31ca08ce6464cbfc3336d486e247258cec62be2
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.