ETH Price: $3,407.48 (+3.41%)

Token

SwiftaGo (SWIFF)
 

Overview

Max Total Supply

1,000,000,000 SWIFF

Holders

33

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
7,386,282.401921182 SWIFF

Value
$0.00
0xdc219bac81d42f601dc7c2f51e2536b528632fcd
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:
SWIFF

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-08
*/

// SPDX-License-Identifier: MIT

/*
Empowering Multiverse space, Decentralized Experience and Innovation.

Website: https://www.swifta.net
Telegram: https://t.me/swifta_erc
Twitter: https://twitter.com/swifta_erc
*/

pragma solidity 0.8.19;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    event OwnershipTransferred(address owner);
}
interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}
interface IUniswapRouter {
    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);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
interface IFactory{
    function createPair(address tokenA, address tokenB) external returns (address pairAddress);
}
contract SWIFF is IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isExcluded;
    string private constant _name = unicode"SwiftaGo";
    string private constant _symbol = unicode"SWIFF";
    uint8 private constant _decimals = 9;
    uint256 private _supply = 1000000000 * (10 ** _decimals);
    uint256 private swappedFeeTimes;
    bool private swapping;
    uint256 swapBetween;
    IUniswapRouter _uniswapRouter;
    address public pairAddress;
    bool private tradingOpened = false;
    bool private swapEnabled = true;
    uint256 private taxThreshold = ( _supply * 1000 ) / 100000;
    uint256 private taxTriggerAt = ( _supply * 10 ) / 100000;
    modifier lockSwap {swapping = true; _; swapping = false;}
    uint256 public maxtransaction = ( _supply * 200 ) / 10000;
    uint256 public maxSellTemp = ( _supply * 200 ) / 10000;
    uint256 public maWalletLimit = ( _supply * 200 ) / 10000;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private buyFee = 1400;
    uint256 private sellFee = 2300;
    uint256 private transferFee = 1400;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal developmentAddress = 0x3feeD39c1E93CF8687B466F7d05ef9e056EC3f76; 
    address internal marketingAddress = 0x3feeD39c1E93CF8687B466F7d05ef9e056EC3f76;
    address internal lpAddress = 0x3feeD39c1E93CF8687B466F7d05ef9e056EC3f76;

    constructor() Ownable(msg.sender) {
        IUniswapRouter _router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        _uniswapRouter = _router; pairAddress = _pair;
        isExcluded[lpAddress] = true;
        isExcluded[marketingAddress] = true;
        isExcluded[developmentAddress] = true;
        isExcluded[msg.sender] = true;
        _balances[msg.sender] = _supply;
        emit Transfer(address(0), msg.sender, _supply);
    }

    receive() external payable {}
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].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 balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function getOwner() external view override returns (address) { return owner; }
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    
    function symbol() public pure returns (string memory) {return _symbol;}
    function name() public pure returns (string memory) {return _name;}
    function decimals() public pure returns (uint8) {return _decimals;}    
    function getTokenAmounts(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (isExcluded[recipient]) {return maxtransaction;}
        if(getBuySellFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getBuySellFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getBuySellFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }
    function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _supply.mul(_buy).div(10000); uint256 newTransfer = _supply.mul(_sell).div(10000); uint256 newWallet = _supply.mul(_wallet).div(10000);
        maxtransaction = newTx; maxSellTemp = newTransfer; maWalletLimit = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }
    function swapTokensToEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        _approve(address(this), address(_uniswapRouter), tokenAmount);
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
    function swapBack(uint256 tokens) private lockSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensToEth(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketingAddress).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(developmentAddress).transfer(contractBalance);}
    }
    function shouldRemoveClog(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= taxTriggerAt;
        bool aboveThreshold = balanceOf(address(this)) >= taxThreshold;
        return !swapping && swapEnabled && tradingOpened && aboveMin && !isExcluded[sender] && recipient == pairAddress && swappedFeeTimes >= swapBetween && aboveThreshold;
    }
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(_uniswapRouter), tokenAmount);
        _uniswapRouter.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpAddress,
            block.timestamp);
    }
    function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        liquidityFee = _liquidity; marketingFee = _marketing; burnFee = _burn; developmentFee = _development; buyFee = _total; sellFee = _sell; transferFee = _trans;
        require(buyFee <= denominator.div(1) && sellFee <= denominator.div(1) && transferFee <= denominator.div(1), "buyFee and sellFee cannot be more than 20%");
    }
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isExcluded[sender] && !isExcluded[recipient]){require(tradingOpened, "tradingOpened");}
        if(!isExcluded[sender] && !isExcluded[recipient] && recipient != address(pairAddress) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= maWalletLimit, "Exceeds maximum wallet amount.");}
        if(sender != pairAddress){require(amount <= maxSellTemp || isExcluded[sender] || isExcluded[recipient], "TX Limit Exceeded");}
        require(amount <= maxtransaction || isExcluded[sender] || isExcluded[recipient], "TX Limit Exceeded"); 
        if(recipient == pairAddress && !isExcluded[sender]){swappedFeeTimes += uint256(1);}
        if(shouldRemoveClog(sender, recipient, amount)){swapBack(taxThreshold); swappedFeeTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = !isExcluded[sender] ? getTokenAmounts(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
    function startTrading() external onlyOwner {tradingOpened = true;}
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _supply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function getBuySellFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pairAddress){return sellFee;}
        if(sender == pairAddress){return buyFee;}
        return transferFee;
    }
}

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":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTemp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxtransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004c9565b6200002290633b9aca00620004e1565b60048190556009805461ffff60a01b1916600160a81b179055620186a0906200004e906103e8620004e1565b6200005a9190620004fb565b600a55620186a0600454600a620000729190620004e1565b6200007e9190620004fb565b600b5561271060045460c8620000959190620004e1565b620000a19190620004fb565b600c5561271060045460c8620000b89190620004e1565b620000c49190620004fb565b600d5561271060045460c8620000db9190620004e1565b620000e79190620004fb565b600e556000600f8190556010819055606460115560125561057860138190556108fc60145560155561271060165560178054733feed39c1e93cf8687b466f7d05ef9e056ec3f766001600160a01b03199182168117909255601880548216831790556019805490911690911790553480156200016257600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001f091906200051e565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026491906200051e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d891906200051e565b600880546001600160a01b038086166001600160a01b03199283161790925560098054838516921691909117905560195481166000908152600360209081526040808320805460ff199081166001908117909255601854861685528285208054821683179055601754909516845281842080548616821790553380855282852080549096168217909555600454925280832082905551939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620003a491815260200190565b60405180910390a3505062000549565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200040b578160001904821115620003ef57620003ef620003b4565b80851615620003fd57918102915b93841c9390800290620003cf565b509250929050565b6000826200042457506001620004c3565b816200043357506000620004c3565b81600181146200044c5760028114620004575762000477565b6001915050620004c3565b60ff8411156200046b576200046b620003b4565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200049c575081810a620004c3565b620004a88383620003ca565b8060001904821115620004bf57620004bf620003b4565b0290505b92915050565b6000620004da60ff84168362000413565b9392505050565b8082028115828204841417620004c357620004c3620003b4565b6000826200051957634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200053157600080fd5b81516001600160a01b0381168114620004da57600080fd5b6118b680620005596000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb14610369578063cb7f97d714610389578063cba0e996146103a9578063d7819b19146103d9578063dd62ed3e146103ef578063f2fde38b1461043557600080fd5b8063715018a6146102b4578063893d20e8146102c957806395d89b41146102fb5780639cc3535114610329578063a8b089821461034957600080fd5b806323b872dd116100f257806323b872dd146101fc578063293230b81461021c5780632f54bf6e14610233578063313ce5671461026257806370a082311461027e57600080fd5b806306fdde031461013a578063095ea7b31461017d578063133f8949146101ad57806318160ddd146101d1578063182fc6c9146101e657600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526008815267537769667461476f60c01b60208201525b6040516101749190611550565b60405180910390f35b34801561018957600080fd5b5061019d6101983660046115b6565b610455565b6040519015158152602001610174565b3480156101b957600080fd5b506101c3600c5481565b604051908152602001610174565b3480156101dd57600080fd5b506101c361046c565b3480156101f257600080fd5b506101c3600d5481565b34801561020857600080fd5b5061019d6102173660046115e2565b6104dd565b34801561022857600080fd5b50610231610547565b005b34801561023f57600080fd5b5061019d61024e366004611623565b6000546001600160a01b0391821691161490565b34801561026e57600080fd5b5060405160098152602001610174565b34801561028a57600080fd5b506101c3610299366004611623565b6001600160a01b031660009081526001602052604090205490565b3480156102c057600080fd5b5061023161058f565b3480156102d557600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610174565b34801561030757600080fd5b5060408051808201909152600581526429aba4a32360d91b6020820152610167565b34801561033557600080fd5b50610231610344366004611640565b6105fe565b34801561035557600080fd5b506009546102e3906001600160a01b031681565b34801561037557600080fd5b5061019d6103843660046115b6565b61073f565b34801561039557600080fd5b506102316103a436600461166c565b61074c565b3480156103b557600080fd5b5061019d6103c4366004611623565b60036020526000908152604090205460ff1681565b3480156103e557600080fd5b506101c3600e5481565b3480156103fb57600080fd5b506101c361040a3660046116b8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044157600080fd5b50610231610450366004611623565b610841565b60006104623384846108bf565b5060015b92915050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d5460045491926104d89290916104d291906109e3565b906109e3565b905090565b60006104ea8484846109ef565b61053c843361053785604051806060016040528060288152602001611859602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f40565b6108bf565b5060015b9392505050565b6000546001600160a01b0316331461057a5760405162461bcd60e51b8152600401610571906116f1565b60405180910390fd5b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b95760405162461bcd60e51b8152600401610571906116f1565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106285760405162461bcd60e51b8152600401610571906116f1565b600061064b61271061064586600454610f6c90919063ffffffff16565b90610f78565b9050600061066a61271061064586600454610f6c90919063ffffffff16565b9050600061068961271061064586600454610f6c90919063ffffffff16565b600c849055600d839055600e819055905060006106b56103e861064560056106af61046c565b90610f6c565b90508084101580156106c75750808310155b80156106d35750808210155b6107365760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610571565b50505050505050565b60006104623384846109ef565b6000546001600160a01b031633146107765760405162461bcd60e51b8152600401610571906116f1565b600f8790556010869055601285905560118490556013839055601482905560158190556016546107a7906001610f78565b601354111580156107c757506016546107c1906001610f78565b60145411155b80156107e257506016546107dc906001610f78565b60155411155b6107365760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610571565b6000546001600160a01b0316331461086b5760405162461bcd60e51b8152600401610571906116f1565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610571565b6001600160a01b0382166109825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610571565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105408284611727565b6001600160a01b038316610a535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610571565b6001600160a01b038216610ab55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610571565b6001600160a01b038316600090815260016020526040902054811115610b375760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610571565b6001600160a01b03831660009081526003602052604090205460ff16158015610b7957506001600160a01b03821660009081526003602052604090205460ff16155b15610bc757600954600160a01b900460ff16610bc75760405162461bcd60e51b815260206004820152600d60248201526c1d1c98591a5b99d3dc195b9959609a1b6044820152606401610571565b6001600160a01b03831660009081526003602052604090205460ff16158015610c0957506001600160a01b03821660009081526003602052604090205460ff16155b8015610c2357506009546001600160a01b03838116911614155b8015610c3a57506001600160a01b03821661dead14155b15610cb357600e546001600160a01b038316600090815260016020526040902054610c659083610f84565b1115610cb35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610571565b6009546001600160a01b03848116911614610d5457600d5481111580610cf157506001600160a01b03831660009081526003602052604090205460ff165b80610d1457506001600160a01b03821660009081526003602052604090205460ff165b610d545760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610571565b600c5481111580610d7d57506001600160a01b03831660009081526003602052604090205460ff165b80610da057506001600160a01b03821660009081526003602052604090205460ff165b610de05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610571565b6009546001600160a01b038381169116148015610e1657506001600160a01b03831660009081526003602052604090205460ff16155b15610e3457600160056000828254610e2e919061173a565b90915550505b610e3f838383610f90565b15610e5557610e4f600a5461104a565b60006005555b6001600160a01b038316600090815260016020526040902054610e7890826109e3565b6001600160a01b038416600090815260016020908152604080832093909355600390529081205460ff1615610ead5781610eb8565b610eb88484846111c7565b6001600160a01b038416600090815260016020526040902054909150610ede9082610f84565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f329085815260200190565b60405180910390a350505050565b60008184841115610f645760405162461bcd60e51b81526004016105719190611550565b505050900390565b6000610540828461174d565b60006105408284611764565b6000610540828461173a565b600b54600a543060009081526001602052604081205460065491938510159211159060ff16158015610fcb5750600954600160a81b900460ff165b8015610fe05750600954600160a01b900460ff165b8015610fe95750815b801561100e57506001600160a01b03861660009081526003602052604090205460ff16155b801561102757506009546001600160a01b038681169116145b8015611037575060075460055410155b80156110405750805b9695505050505050565b6006805460ff19166001908117909155601154601054600f54600093611084936002936106af93919261107e928391610f84565b90610f84565b905060006110a182610645600f5486610f6c90919063ffffffff16565b905060006110af84836109e3565b9050476110bb826112f7565b60006110c747836109e3565b905060006110ea6110e3600f54886109e390919063ffffffff16565b8390610f78565b90506000611103600f5483610f6c90919063ffffffff16565b90508015611115576111158682611451565b60105460009061112a906106af856002610f6c565b9050801561116e576018546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561116c573d6000803e3d6000fd5b505b4780156111b1576017546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111af573d6000803e3d6000fd5b505b50506006805460ff191690555050505050505050565b6001600160a01b03821660009081526003602052604081205460ff16156111f15750600c54610540565b60006111fd8585611505565b11156112f05760006112206112128686611505565b6016546106af908690610f78565b3060009081526001602052604090205490915061123d9082610f84565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128e9085815260200190565b60405180910390a360006012541180156112b257506012546112b08686611505565b115b156112de576112de3061dead6112d96012546106af60165489610f7890919063ffffffff16565b6109ef565b6112e883826109e3565b915050610540565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061132c5761132c611786565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a9919061179c565b816001815181106113bc576113bc611786565b6001600160a01b0392831660209182029290920101526008546113e291309116846108bf565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141b9085906000908690309042906004016117b9565b600060405180830381600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b505050505050565b6008546114699030906001600160a01b0316846108bf565b60085460195460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156114d9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114fe919061182a565b5050505050565b6009546000906001600160a01b03908116908316036115275750601454610466565b6009546001600160a01b03908116908416036115465750601354610466565b5060155492915050565b600060208083528351808285015260005b8181101561157d57858101830151858201604001528201611561565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115b357600080fd5b50565b600080604083850312156115c957600080fd5b82356115d48161159e565b946020939093013593505050565b6000806000606084860312156115f757600080fd5b83356116028161159e565b925060208401356116128161159e565b929592945050506040919091013590565b60006020828403121561163557600080fd5b81356105408161159e565b60008060006060848603121561165557600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a03121561168757600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156116cb57600080fd5b82356116d68161159e565b915060208301356116e68161159e565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561046657610466611711565b8082018082111561046657610466611711565b808202811582820484141761046657610466611711565b60008261178157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ae57600080fd5b81516105408161159e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118095784516001600160a01b0316835293830193918301916001016117e4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561183f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220728195153c4677ccb98a28d8c333dc4cb1d941633ea09ef3ca3a1b86373523d564736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb14610369578063cb7f97d714610389578063cba0e996146103a9578063d7819b19146103d9578063dd62ed3e146103ef578063f2fde38b1461043557600080fd5b8063715018a6146102b4578063893d20e8146102c957806395d89b41146102fb5780639cc3535114610329578063a8b089821461034957600080fd5b806323b872dd116100f257806323b872dd146101fc578063293230b81461021c5780632f54bf6e14610233578063313ce5671461026257806370a082311461027e57600080fd5b806306fdde031461013a578063095ea7b31461017d578063133f8949146101ad57806318160ddd146101d1578063182fc6c9146101e657600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526008815267537769667461476f60c01b60208201525b6040516101749190611550565b60405180910390f35b34801561018957600080fd5b5061019d6101983660046115b6565b610455565b6040519015158152602001610174565b3480156101b957600080fd5b506101c3600c5481565b604051908152602001610174565b3480156101dd57600080fd5b506101c361046c565b3480156101f257600080fd5b506101c3600d5481565b34801561020857600080fd5b5061019d6102173660046115e2565b6104dd565b34801561022857600080fd5b50610231610547565b005b34801561023f57600080fd5b5061019d61024e366004611623565b6000546001600160a01b0391821691161490565b34801561026e57600080fd5b5060405160098152602001610174565b34801561028a57600080fd5b506101c3610299366004611623565b6001600160a01b031660009081526001602052604090205490565b3480156102c057600080fd5b5061023161058f565b3480156102d557600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610174565b34801561030757600080fd5b5060408051808201909152600581526429aba4a32360d91b6020820152610167565b34801561033557600080fd5b50610231610344366004611640565b6105fe565b34801561035557600080fd5b506009546102e3906001600160a01b031681565b34801561037557600080fd5b5061019d6103843660046115b6565b61073f565b34801561039557600080fd5b506102316103a436600461166c565b61074c565b3480156103b557600080fd5b5061019d6103c4366004611623565b60036020526000908152604090205460ff1681565b3480156103e557600080fd5b506101c3600e5481565b3480156103fb57600080fd5b506101c361040a3660046116b8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561044157600080fd5b50610231610450366004611623565b610841565b60006104623384846108bf565b5060015b92915050565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead60009081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d5460045491926104d89290916104d291906109e3565b906109e3565b905090565b60006104ea8484846109ef565b61053c843361053785604051806060016040528060288152602001611859602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610f40565b6108bf565b5060015b9392505050565b6000546001600160a01b0316331461057a5760405162461bcd60e51b8152600401610571906116f1565b60405180910390fd5b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b95760405162461bcd60e51b8152600401610571906116f1565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106285760405162461bcd60e51b8152600401610571906116f1565b600061064b61271061064586600454610f6c90919063ffffffff16565b90610f78565b9050600061066a61271061064586600454610f6c90919063ffffffff16565b9050600061068961271061064586600454610f6c90919063ffffffff16565b600c849055600d839055600e819055905060006106b56103e861064560056106af61046c565b90610f6c565b90508084101580156106c75750808310155b80156106d35750808210155b6107365760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610571565b50505050505050565b60006104623384846109ef565b6000546001600160a01b031633146107765760405162461bcd60e51b8152600401610571906116f1565b600f8790556010869055601285905560118490556013839055601482905560158190556016546107a7906001610f78565b601354111580156107c757506016546107c1906001610f78565b60145411155b80156107e257506016546107dc906001610f78565b60155411155b6107365760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610571565b6000546001600160a01b0316331461086b5760405162461bcd60e51b8152600401610571906116f1565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610571565b6001600160a01b0382166109825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610571565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105408284611727565b6001600160a01b038316610a535760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610571565b6001600160a01b038216610ab55760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610571565b6001600160a01b038316600090815260016020526040902054811115610b375760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610571565b6001600160a01b03831660009081526003602052604090205460ff16158015610b7957506001600160a01b03821660009081526003602052604090205460ff16155b15610bc757600954600160a01b900460ff16610bc75760405162461bcd60e51b815260206004820152600d60248201526c1d1c98591a5b99d3dc195b9959609a1b6044820152606401610571565b6001600160a01b03831660009081526003602052604090205460ff16158015610c0957506001600160a01b03821660009081526003602052604090205460ff16155b8015610c2357506009546001600160a01b03838116911614155b8015610c3a57506001600160a01b03821661dead14155b15610cb357600e546001600160a01b038316600090815260016020526040902054610c659083610f84565b1115610cb35760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610571565b6009546001600160a01b03848116911614610d5457600d5481111580610cf157506001600160a01b03831660009081526003602052604090205460ff165b80610d1457506001600160a01b03821660009081526003602052604090205460ff165b610d545760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610571565b600c5481111580610d7d57506001600160a01b03831660009081526003602052604090205460ff165b80610da057506001600160a01b03821660009081526003602052604090205460ff165b610de05760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610571565b6009546001600160a01b038381169116148015610e1657506001600160a01b03831660009081526003602052604090205460ff16155b15610e3457600160056000828254610e2e919061173a565b90915550505b610e3f838383610f90565b15610e5557610e4f600a5461104a565b60006005555b6001600160a01b038316600090815260016020526040902054610e7890826109e3565b6001600160a01b038416600090815260016020908152604080832093909355600390529081205460ff1615610ead5781610eb8565b610eb88484846111c7565b6001600160a01b038416600090815260016020526040902054909150610ede9082610f84565b6001600160a01b0380851660008181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f329085815260200190565b60405180910390a350505050565b60008184841115610f645760405162461bcd60e51b81526004016105719190611550565b505050900390565b6000610540828461174d565b60006105408284611764565b6000610540828461173a565b600b54600a543060009081526001602052604081205460065491938510159211159060ff16158015610fcb5750600954600160a81b900460ff165b8015610fe05750600954600160a01b900460ff165b8015610fe95750815b801561100e57506001600160a01b03861660009081526003602052604090205460ff16155b801561102757506009546001600160a01b038681169116145b8015611037575060075460055410155b80156110405750805b9695505050505050565b6006805460ff19166001908117909155601154601054600f54600093611084936002936106af93919261107e928391610f84565b90610f84565b905060006110a182610645600f5486610f6c90919063ffffffff16565b905060006110af84836109e3565b9050476110bb826112f7565b60006110c747836109e3565b905060006110ea6110e3600f54886109e390919063ffffffff16565b8390610f78565b90506000611103600f5483610f6c90919063ffffffff16565b90508015611115576111158682611451565b60105460009061112a906106af856002610f6c565b9050801561116e576018546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561116c573d6000803e3d6000fd5b505b4780156111b1576017546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111af573d6000803e3d6000fd5b505b50506006805460ff191690555050505050505050565b6001600160a01b03821660009081526003602052604081205460ff16156111f15750600c54610540565b60006111fd8585611505565b11156112f05760006112206112128686611505565b6016546106af908690610f78565b3060009081526001602052604090205490915061123d9082610f84565b30600081815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128e9085815260200190565b60405180910390a360006012541180156112b257506012546112b08686611505565b115b156112de576112de3061dead6112d96012546106af60165489610f7890919063ffffffff16565b6109ef565b6112e883826109e3565b915050610540565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061132c5761132c611786565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611385573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a9919061179c565b816001815181106113bc576113bc611786565b6001600160a01b0392831660209182029290920101526008546113e291309116846108bf565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141b9085906000908690309042906004016117b9565b600060405180830381600087803b15801561143557600080fd5b505af1158015611449573d6000803e3d6000fd5b505050505050565b6008546114699030906001600160a01b0316846108bf565b60085460195460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156114d9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906114fe919061182a565b5050505050565b6009546000906001600160a01b03908116908316036115275750601454610466565b6009546001600160a01b03908116908416036115465750601354610466565b5060155492915050565b600060208083528351808285015260005b8181101561157d57858101830151858201604001528201611561565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115b357600080fd5b50565b600080604083850312156115c957600080fd5b82356115d48161159e565b946020939093013593505050565b6000806000606084860312156115f757600080fd5b83356116028161159e565b925060208401356116128161159e565b929592945050506040919091013590565b60006020828403121561163557600080fd5b81356105408161159e565b60008060006060848603121561165557600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a03121561168757600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156116cb57600080fd5b82356116d68161159e565b915060208301356116e68161159e565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561046657610466611711565b8082018082111561046657610466611711565b808202811582820484141761046657610466611711565b60008261178157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117ae57600080fd5b81516105408161159e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118095784516001600160a01b0316835293830193918301916001016117e4565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561183f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220728195153c4677ccb98a28d8c333dc4cb1d941633ea09ef3ca3a1b86373523d564736f6c63430008130033

Deployed Bytecode Sourcemap

3759:9743:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7299:67;;;;;;;;;;-1:-1:-1;7359:5:0;;;;;;;;;;;;-1:-1:-1;;;7359:5:0;;;;7299:67;;;;;;;:::i;:::-;;;;;;;;12994:133;;;;;;;;;;-1:-1:-1;12994:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;12994:133:0;1023:187:1;4652:57:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4652:57:0;1215:177:1;13133:127:0;;;;;;;;;;;;;:::i;4716:54::-;;;;;;;;;;;;;;;;6089:309;;;;;;;;;;-1:-1:-1;6089:309:0;;;;;:::i;:::-;;:::i;12922:66::-;;;;;;;;;;;;;:::i;:::-;;1731:87;;;;;;;;;;-1:-1:-1;1731:87:0;;;;;:::i;:::-;1786:4;1811:5;-1:-1:-1;;;;;1800:16:0;;;1811:5;;1800:16;;1731:87;7372:67;;;;;;;;;;-1:-1:-1;7372:67:0;;4150:1;2252:36:1;;2240:2;2225:18;7372:67:0;2110:184:1;6745:103:0;;;;;;;;;;-1:-1:-1;6745:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6828:18:0;6811:7;6828:18;;;:9;:18;;;;;;;6745:103;1824:106;;;;;;;;;;;;;:::i;6999:78::-;;;;;;;;;;-1:-1:-1;7051:7:0;7069:5;-1:-1:-1;;;;;7069:5:0;6999:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6999:78:0;2299:203:1;7222:71:0;;;;;;;;;;-1:-1:-1;7284:7:0;;;;;;;;;;;;-1:-1:-1;;;7284:7:0;;;;7222:71;;8120:538;;;;;;;;;;-1:-1:-1;8120:538:0;;;;;:::i;:::-;;:::i;4349:26::-;;;;;;;;;;-1:-1:-1;4349:26:0;;;;-1:-1:-1;;;;;4349:26:0;;;6854:139;;;;;;;;;;-1:-1:-1;6854:139:0;;;;;:::i;:::-;;:::i;10954:518::-;;;;;;;;;;-1:-1:-1;10954:518:0;;;;;:::i;:::-;;:::i;3954:43::-;;;;;;;;;;-1:-1:-1;3954:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4777:56;;;;;;;;;;;;;;;;7083:127;;;;;;;;;;-1:-1:-1;7083:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7181:18:0;;;7164:7;7181:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7083:127;1936:111;;;;;;;;;;-1:-1:-1;1936:111:0;;;;;:::i;:::-;;:::i;12994:133::-;13069:4;13076:37;13085:10;13097:7;13106:6;13076:8;:37::i;:::-;-1:-1:-1;13121:4:0;12994:133;;;;;:::o;13133:127::-;6828:9;:18;;;;5184:42;13186:7;6828:18;;;;;13203:7;;13186;;13203:55;;6828:18;;13203:28;;:7;:11;:28::i;:::-;:32;;:55::i;:::-;13196:62;;13133:127;:::o;6089:309::-;6187:4;6204:36;6214:6;6222:9;6233:6;6204:9;:36::i;:::-;6251:117;6260:6;6268:10;6280:87;6316:6;6280:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6280:19:0;;;;;;:11;:19;;;;;;;;6300:10;6280:31;;;;;;;;;:87;:35;:87::i;:::-;6251:8;:117::i;:::-;-1:-1:-1;6386:4:0;6089:309;;;;;;:::o;12922:66::-;1786:4;1811:5;-1:-1:-1;;;;;1811:5:0;1698:10;1800:16;1682:38;;;;-1:-1:-1;;;1682:38:0;;;;;;;:::i;:::-;;;;;;;;;12966:13:::1;:20:::0;;-1:-1:-1;;;;12966:20:0::1;-1:-1:-1::0;;;12966:20:0::1;::::0;;12922:66::o;1824:106::-;1786:4;1811:5;-1:-1:-1;;;;;1811:5:0;1698:10;1800:16;1682:38;;;;-1:-1:-1;;;1682:38:0;;;;;;;:::i;:::-;1887:1:::1;1871:18:::0;;-1:-1:-1;;;;;;1871:18:0::1;::::0;;1896:32:::1;::::0;2445:51:1;;;1896:32:0::1;::::0;2433:2:1;2418:18;1896:32:0::1;;;;;;;1824:106::o:0;8120:538::-;1786:4;1811:5;-1:-1:-1;;;;;1811:5:0;1698:10;1800:16;1682:38;;;;-1:-1:-1;;;1682:38:0;;;;;;;:::i;:::-;8226:13:::1;8242:28;8264:5;8242:17;8254:4;8242:7;;:11;;:17;;;;:::i;:::-;:21:::0;::::1;:28::i;:::-;8226:44;;8272:19;8294:29;8317:5;8294:18;8306:5;8294:7;;:11;;:18;;;;:::i;:29::-;8272:51;;8325:17;8345:31;8370:5;8345:20;8357:7;8345;;:11;;:20;;;;:::i;:31::-;8387:14;:22:::0;;;8411:11:::1;:25:::0;;;8438:13:::1;:25:::0;;;8325:51;-1:-1:-1;;8490:30:0::1;8515:4;8490:20;8508:1;8490:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;8474:46;;8548:5;8539;:14;;:38;;;;;8572:5;8557:11;:20;;8539:38;:60;;;;;8594:5;8581:9;:18;;8539:60;8531:119;;;::::0;-1:-1:-1;;;8531:119:0;;4614:2:1;8531:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;8531:119:0::1;4412:410:1::0;8531:119:0::1;8215:443;;;;8120:538:::0;;;:::o;6854:139::-;6932:4;6939:40;6949:10;6961:9;6972:6;6939:9;:40::i;10954:518::-;1786:4;1811:5;-1:-1:-1;;;;;1811:5:0;1698:10;1800:16;1682:38;;;;-1:-1:-1;;;1682:38:0;;;;;;;:::i;:::-;11144:12:::1;:25:::0;;;11171:12:::1;:25:::0;;;11198:7:::1;:15:::0;;;11215:14:::1;:29:::0;;;11246:6:::1;:15:::0;;;11263:7:::1;:15:::0;;;11280:11:::1;:20:::0;;;11329:11:::1;::::0;:18:::1;::::0;-1:-1:-1;11329:15:0::1;:18::i;:::-;11319:6;;:28;;:61;;;;-1:-1:-1::0;11362:11:0::1;::::0;:18:::1;::::0;11378:1:::1;11362:15;:18::i;:::-;11351:7;;:29;;11319:61;:98;;;;-1:-1:-1::0;11399:11:0::1;::::0;:18:::1;::::0;11415:1:::1;11399:15;:18::i;:::-;11384:11;;:33;;11319:98;11311:153;;;::::0;-1:-1:-1;;;11311:153:0;;5029:2:1;11311:153:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:40;5208:19;;11311:153:0::1;4827:406:1::0;1936:111:0;1786:4;1811:5;-1:-1:-1;;;;;1811:5:0;1698:10;1800:16;1682:38;;;;-1:-1:-1;;;1682:38:0;;;;;;;:::i;:::-;2002:5:::1;:11:::0;;-1:-1:-1;;;;;;2002:11:0::1;-1:-1:-1::0;;;;;2002:11:0;::::1;::::0;;::::1;::::0;;;2020:25:::1;::::0;2445:51:1;;;2020:25:0::1;::::0;2433:2:1;2418:18;2020:25:0::1;;;;;;;1936:111:::0;:::o;6404:335::-;-1:-1:-1;;;;;6497:19:0;;6489:68;;;;-1:-1:-1;;;6489:68:0;;5656:2:1;6489:68:0;;;5638:21:1;5695:2;5675:18;;;5668:30;5734:34;5714:18;;;5707:62;-1:-1:-1;;;5785:18:1;;;5778:34;5829:19;;6489:68:0;5454:400:1;6489:68:0;-1:-1:-1;;;;;6576:21:0;;6568:68;;;;-1:-1:-1;;;6568:68:0;;6061:2:1;6568:68:0;;;6043:21:1;6100:2;6080:18;;;6073:30;6139:34;6119:18;;;6112:62;-1:-1:-1;;;6190:18:1;;;6183:32;6232:19;;6568:68:0;5859:398:1;6568:68:0;-1:-1:-1;;;;;6647:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6699:32;;1361:25:1;;;6699:32:0;;1334:18:1;6699:32:0;;;;;;;6404:335;;;:::o;384:98::-;442:7;469:5;473:1;469;:5;:::i;11478:1438::-;-1:-1:-1;;;;;11575:20:0;;11567:70;;;;-1:-1:-1;;;11567:70:0;;6729:2:1;11567:70:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:35;6903:19;;11567:70:0;6527:401:1;11567:70:0;-1:-1:-1;;;;;11656:23:0;;11648:71;;;;-1:-1:-1;;;11648:71:0;;7135:2:1;11648:71:0;;;7117:21:1;7174:2;7154:18;;;7147:30;7213:34;7193:18;;;7186:62;-1:-1:-1;;;7264:18:1;;;7257:33;7307:19;;11648:71:0;6933:399:1;11648:71:0;-1:-1:-1;;;;;6828:18:0;;6811:7;6828:18;;;:9;:18;;;;;;11738:6;:27;;11730:88;;;;-1:-1:-1;;;11730:88:0;;7539:2:1;11730:88:0;;;7521:21:1;7578:2;7558:18;;;7551:30;7617:34;7597:18;;;7590:62;-1:-1:-1;;;7668:18:1;;;7661:47;7725:19;;11730:88:0;7337:413:1;11730:88:0;-1:-1:-1;;;;;11833:18:0;;;;;;:10;:18;;;;;;;;11832:19;:45;;;;-1:-1:-1;;;;;;11856:21:0;;;;;;:10;:21;;;;;;;;11855:22;11832:45;11829:91;;;11887:13;;-1:-1:-1;;;11887:13:0;;;;11879:39;;;;-1:-1:-1;;;11879:39:0;;7957:2:1;11879:39:0;;;7939:21:1;7996:2;7976:18;;;7969:30;-1:-1:-1;;;8015:18:1;;;8008:43;8068:18;;11879:39:0;7755:337:1;11879:39:0;-1:-1:-1;;;;;11934:18:0;;;;;;:10;:18;;;;;;;;11933:19;:45;;;;-1:-1:-1;;;;;;11957:21:0;;;;;;:10;:21;;;;;;;;11956:22;11933:45;:82;;;;-1:-1:-1;12003:11:0;;-1:-1:-1;;;;;11982:33:0;;;12003:11;;11982:33;;11933:82;:112;;;;-1:-1:-1;;;;;;12019:26:0;;5184:42;12019:26;;11933:112;11930:223;;;12103:13;;-1:-1:-1;;;;;12066:20:0;;;;;;:9;:20;;;;;;:32;;12091:6;12066:24;:32::i;:::-;12065:51;;12057:94;;;;-1:-1:-1;;;12057:94:0;;8299:2:1;12057:94:0;;;8281:21:1;8338:2;8318:18;;;8311:30;8377:32;8357:18;;;8350:60;8427:18;;12057:94:0;8097:354:1;12057:94:0;12176:11;;-1:-1:-1;;;;;12166:21:0;;;12176:11;;12166:21;12163:126;;12207:11;;12197:6;:21;;:43;;;-1:-1:-1;;;;;;12222:18:0;;;;;;:10;:18;;;;;;;;12197:43;:68;;;-1:-1:-1;;;;;;12244:21:0;;;;;;:10;:21;;;;;;;;12197:68;12189:98;;;;-1:-1:-1;;;12189:98:0;;8658:2:1;12189:98:0;;;8640:21:1;8697:2;8677:18;;;8670:30;-1:-1:-1;;;8716:18:1;;;8709:47;8773:18;;12189:98:0;8456:341:1;12189:98:0;12317:14;;12307:6;:24;;:46;;;-1:-1:-1;;;;;;12335:18:0;;;;;;:10;:18;;;;;;;;12307:46;:71;;;-1:-1:-1;;;;;;12357:21:0;;;;;;:10;:21;;;;;;;;12307:71;12299:101;;;;-1:-1:-1;;;12299:101:0;;8658:2:1;12299:101:0;;;8640:21:1;8697:2;8677:18;;;8670:30;-1:-1:-1;;;8716:18:1;;;8709:47;8773:18;;12299:101:0;8456:341:1;12299:101:0;12428:11;;-1:-1:-1;;;;;12415:24:0;;;12428:11;;12415:24;:47;;;;-1:-1:-1;;;;;;12444:18:0;;;;;;:10;:18;;;;;;;;12443:19;12415:47;12412:83;;;12491:1;12464:15;;:29;;;;;;;:::i;:::-;;;;-1:-1:-1;;12412:83:0;12508:43;12525:6;12533:9;12544:6;12508:16;:43::i;:::-;12505:102;;;12553:22;12562:12;;12553:8;:22::i;:::-;12603:1;12577:15;:28;12505:102;-1:-1:-1;;;;;12637:17:0;;;;;;:9;:17;;;;;;:29;;12659:6;12637:21;:29::i;:::-;-1:-1:-1;;;;;12617:17:0;;;;;;:9;:17;;;;;;;;:49;;;;12703:10;:18;;;;;;;;12702:19;:73;;12769:6;12702:73;;;12724:42;12740:6;12748:9;12759:6;12724:15;:42::i;:::-;-1:-1:-1;;;;;12809:20:0;;;;;;:9;:20;;;;;;12677:98;;-1:-1:-1;12809:40:0;;12677:98;12809:24;:40::i;:::-;-1:-1:-1;;;;;12786:20:0;;;;;;;:9;:20;;;;;;;:63;;;;12865:43;;;;;;;;;;12893:14;1361:25:1;;1349:2;1334:18;;1215:177;12865:43:0;;;;;;;;11556:1360;11478:1438;;;:::o;808:240::-;928:7;989:12;981:6;;;;973:29;;;;-1:-1:-1;;;973:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;1024:5:0;;;808:240::o;490:98::-;548:7;575:5;579:1;575;:5;:::i;596:98::-;654:7;681:5;685:1;681;:5;:::i;278:98::-;336:7;363:5;367:1;363;:5;:::i;10182:410::-;10325:12;;10398;;10388:4;10282;6828:18;;;:9;:18;;;;;;10429:8;;10282:4;;10315:22;;;;-1:-1:-1;10370:40:0;;10429:8;;10428:9;:24;;;;-1:-1:-1;10441:11:0;;-1:-1:-1;;;10441:11:0;;;;10428:24;:41;;;;-1:-1:-1;10456:13:0;;-1:-1:-1;;;10456:13:0;;;;10428:41;:53;;;;;10473:8;10428:53;:76;;;;-1:-1:-1;;;;;;10486:18:0;;;;;;:10;:18;;;;;;;;10485:19;10428:76;:104;;;;-1:-1:-1;10521:11:0;;-1:-1:-1;;;;;10508:24:0;;;10521:11;;10508:24;10428:104;:138;;;;;10555:11;;10536:15;;:30;;10428:138;:156;;;;;10570:14;10428:156;10421:163;10182:410;-1:-1:-1;;;;;;10182:410:0:o;9127:1049::-;4608:8;:15;;-1:-1:-1;;4608:15:0;4619:4;4608:15;;;;;;9255:14:::1;::::0;9237:12:::1;::::0;9213::::1;::::0;4608:8;;9212:66:::1;::::0;9276:1:::1;::::0;9213:57:::1;::::0;9255:14;;9213:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;9212:66::-;9189:89;;9289:32;9324:42;9353:12;9324:24;9335:12;;9324:6;:10;;:24;;;;:::i;:42::-;9289:77:::0;-1:-1:-1;9377:14:0::1;9394:36;:6:::0;9289:77;9394:10:::1;:36::i;:::-;9377:53:::0;-1:-1:-1;9466:21:0::1;9498:23;9377:53:::0;9498:15:::1;:23::i;:::-;9532:20;9555:41;:21;9581:14:::0;9555:25:::1;:41::i;:::-;9532:64;;9607:19;9628:48;9645:30;9662:12;;9645;:16;;:30;;;;:::i;:::-;9628:12:::0;;:16:::1;:48::i;:::-;9607:69;;9687:29;9719;9735:12;;9719:11;:15;;:29;;;;:::i;:::-;9687:61:::0;-1:-1:-1;9762:34:0;;9759:103:::1;;9798:61;9811:24;9837:21;9798:12;:61::i;:::-;9918:12;::::0;9872:20:::1;::::0;9895:36:::1;::::0;:18:::1;:11:::0;9911:1:::1;9895:15;:18::i;:36::-;9872:59:::0;-1:-1:-1;9945:16:0;;9942:71:::1;;9971:16;::::0;9963:48:::1;::::0;-1:-1:-1;;;;;9971:16:0;;::::1;::::0;9963:48;::::1;;;::::0;9998:12;;9971:16:::1;9963:48:::0;9971:16;9963:48;9998:12;9971:16;9963:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9942:71;10049:21;10084:28:::0;;10081:88:::1;;10122:18;::::0;10114:53:::1;::::0;-1:-1:-1;;;;;10122:18:0;;::::1;::::0;10114:53;::::1;;;::::0;10151:15;;10122:18:::1;10114:53:::0;10122:18;10114:53;10151:15;10122:18;10114:53;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10081:88;-1:-1:-1::0;;4628:8:0;:16;;-1:-1:-1;;4628:16:0;;;-1:-1:-1;;;;;;;;9127:1049:0:o;7449:665::-;-1:-1:-1;;;;;7567:21:0;;7543:7;7567:21;;;:10;:21;;;;;;;;7563:51;;;-1:-1:-1;7598:14:0;;7591:21;;7563:51;7662:1;7627:32;7641:6;7649:9;7627:13;:32::i;:::-;:36;7624:468;;;7675:17;7695:61;7723:32;7737:6;7745:9;7723:13;:32::i;:::-;7706:11;;7695:23;;:6;;:10;:23::i;:61::-;7812:4;7794:24;;;;:9;:24;;;;;;7675:81;;-1:-1:-1;7794:39:0;;7675:81;7794:28;:39::i;:::-;7785:4;7767:24;;;;:9;:24;;;;;;;:66;;;;7849:42;;-1:-1:-1;;;;;7849:42:0;;;;;;;7881:9;1361:25:1;;1349:2;1334:18;;1215:177;7849:42:0;;;;;;;;7923:1;7905:7;;:20;:66;;;;;7964:7;;7929:32;7943:6;7951:9;7929:13;:32::i;:::-;:42;7905:66;7902:150;;;7973:77;7991:4;5184:42;8013:36;8041:7;;8013:23;8024:11;;8013:6;:10;;:23;;;;:::i;:36::-;7973:9;:77::i;:::-;8069:21;:6;8080:9;8069:10;:21::i;:::-;8062:28;;;;;7624:468;-1:-1:-1;8100:6:0;7449:665;-1:-1:-1;;7449:665:0:o;8664:457::-;8753:16;;;8767:1;8753:16;;;;;;;;8729:21;;8753:16;;;;;;;;;;-1:-1:-1;8753:16:0;8729:40;;8798:4;8780;8785:1;8780:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8780:23:0;;;:7;;;;;;;;;;:23;;;;8824:14;;:21;;;-1:-1:-1;;;8824:21:0;;;;:14;;;;;:19;;:21;;;;;8780:7;;8824:21;;;;;:14;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8814:4;8819:1;8814:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8814:31:0;;;:7;;;;;;;;;:31;8888:14;;8856:61;;8873:4;;8888:14;8905:11;8856:8;:61::i;:::-;8928:14;;:185;;-1:-1:-1;;;8928:185:0;;-1:-1:-1;;;;;8928:14:0;;;;:65;;:185;;9008:11;;8928:14;;9050:4;;9077;;9097:15;;8928:185;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8718:403;8664:457;:::o;10598:350::-;10711:14;;10679:61;;10696:4;;-1:-1:-1;;;;;10711:14:0;10728:11;10679:8;:61::i;:::-;10751:14;;10900:9;;10751:189;;-1:-1:-1;;;10751:189:0;;10822:4;10751:189;;;11173:34:1;11223:18;;;11216:34;;;10751:14:0;11266:18:1;;;11259:34;;;11309:18;;;11302:34;-1:-1:-1;;;;;10900:9:0;;;11352:19:1;;;11345:44;10924:15:0;11405:19:1;;;11398:35;10751:14:0;;;:30;;10789:9;;11107:19:1;;10751:189:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10598:350;;:::o;13266:233::-;13383:11;;13347:7;;-1:-1:-1;;;;;13383:11:0;;;13370:24;;;;13367:45;;-1:-1:-1;13403:7:0;;13396:14;;13367:45;13435:11;;-1:-1:-1;;;;;13435:11:0;;;13425:21;;;;13422:41;;-1:-1:-1;13455:6:0;;13448:13;;13422:41;-1:-1:-1;13480:11:0;;13266:233;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6262:127::-;6323:10;6318:3;6314:20;6311:1;6304:31;6354:4;6351:1;6344:15;6378:4;6375:1;6368:15;6394:128;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8802:125::-;8867:9;;;8888:10;;;8885:36;;;8901:18;;:::i;8932:168::-;9005:9;;;9036;;9053:15;;;9047:22;;9033:37;9023:71;;9074:18;;:::i;9105:217::-;9145:1;9171;9161:132;;9215:10;9210:3;9206:20;9203:1;9196:31;9250:4;9247:1;9240:15;9278:4;9275:1;9268:15;9161:132;-1:-1:-1;9307:9:1;;9105:217::o;9459:127::-;9520:10;9515:3;9511:20;9508:1;9501:31;9551:4;9548:1;9541:15;9575:4;9572:1;9565:15;9591:251;9661:6;9714:2;9702:9;9693:7;9689:23;9685:32;9682:52;;;9730:1;9727;9720:12;9682:52;9762:9;9756:16;9781:31;9806:5;9781:31;:::i;9847:980::-;10109:4;10157:3;10146:9;10142:19;10188:6;10177:9;10170:25;10214:2;10252:6;10247:2;10236:9;10232:18;10225:34;10295:3;10290:2;10279:9;10275:18;10268:31;10319:6;10354;10348:13;10385:6;10377;10370:22;10423:3;10412:9;10408:19;10401:26;;10462:2;10454:6;10450:15;10436:29;;10483:1;10493:195;10507:6;10504:1;10501:13;10493:195;;;10572:13;;-1:-1:-1;;;;;10568:39:1;10556:52;;10663:15;;;;10628:12;;;;10604:1;10522:9;10493:195;;;-1:-1:-1;;;;;;;10744:32:1;;;;10739:2;10724:18;;10717:60;-1:-1:-1;;;10808:3:1;10793:19;10786:35;10705:3;9847:980;-1:-1:-1;;;9847:980:1:o;11444:306::-;11532:6;11540;11548;11601:2;11589:9;11580:7;11576:23;11572:32;11569:52;;;11617:1;11614;11607:12;11569:52;11646:9;11640:16;11630:26;;11696:2;11685:9;11681:18;11675:25;11665:35;;11740:2;11729:9;11725:18;11719:25;11709:35;;11444:306;;;;;:::o

Swarm Source

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