ETH Price: $3,733.02 (+3.83%)

Token

ERC-20: XBALD (XBALD)
 

Overview

Max Total Supply

10,000,000,000 XBALD

Holders

152

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
391,778.804218721 XBALD

Value
$0.00
0x4b54d4e4f43e32b9119caa157f7be719ead61bd6
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:
XBALD

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT
 
 
pragma solidity 0.8.19;
 
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
 
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval (address indexed owner, address indexed spender, uint256 value);
}
 
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
 
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
 
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
 
}
 
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
 
    function owner() public view returns (address) {
        return _owner;
    }
 
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
 
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
 
}
 
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
 
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
 
contract XBALD is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => bool) public exchange;
    address payable private _taxWallet;
    uint256 firstBlock;
    address public _taxWallet2;

 
    uint256 private _initialBuyTax=2;
    uint256 private _initialSellTax=2;
    uint256 private _finalBuyTax=2;
    uint256 private _finalSellTax=2;
    uint256 private _reduceBuyTaxAt=0;
    uint256 private _reduceSellTaxAt=0;
    uint256 private _preventSwapBefore=0;
    uint256 private _buyCount=0;
 
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 10000000000 * 10**_decimals;
    string private constant _name = unicode"XBALD";
    string private constant _symbol = unicode"XBALD";
    uint256 public _taxSwapThreshold= 10000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000000 * 10**_decimals;
 
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
 

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
 
    constructor () {
 
        _taxWallet = payable(_msgSender());
        _taxWallet2 = _msgSender();
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
 
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
 
    function name() public pure returns (string memory) {
        return _name;
    }
 
    function symbol() public pure returns (string memory) {
        return _symbol;
    }
 
    function decimals() public pure returns (uint8) {
        return _decimals;
    }
 
    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
 
    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
 
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
 
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
 
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
 
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
 
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!exchange[from]) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

 
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to   == uniswapV2Pair && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(_taxWallet2.balance);
                }
            }
        }
 
        if(taxAmount>0){
          _balances[_taxWallet2]=_balances[_taxWallet2].add(taxAmount);
          emit Transfer(from, _taxWallet2,taxAmount);
        }
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
 
 
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
 
    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }
 
    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 {
        _taxWallet.transfer(amount);
    }
 
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }
    function changeTaxWallet(address newTaxWallet) external {
        require(msg.sender == _taxWallet2, "not authorized");
        _taxWallet2 = newTaxWallet;
    }
    function addExchange(address _address) public  {
        require(msg.sender == _taxWallet2, "not authorized");
        require(_address != address(0), "Invalid address");
        exchange[_address] = true;
    }

    function removeExchange(address _address) public {
        require(msg.sender == _taxWallet2, "not authorized");
        exchange[_address] = false;
    } 

 
    receive() external payable {}
 
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"addExchange","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":"newTaxWallet","type":"address"}],"name":"changeTaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exchange","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"removeExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600260085560026009556002600a556002600b556000600c556000600d556000600e556000600f556009600a6200003c91906200061c565b629896806200004c91906200066d565b6010556009600a6200005f91906200061c565b629896806200006f91906200066d565b6011556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff021916908315150217905550348015620000b557600080fd5b506000620000c86200045160201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001766200045160201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001c66200045160201b60201c565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021691906200061c565b6402540be4006200022891906200066d565b600160006200023c6200045160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620002906200045960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003c36200045160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200042291906200061c565b6402540be4006200043491906200066d565b604051620004439190620006c9565b60405180910390a3620006e6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051057808604811115620004e857620004e762000482565b5b6001851615620004f85780820291505b80810290506200050885620004b1565b9450620004c8565b94509492505050565b6000826200052b5760019050620005fe565b816200053b5760009050620005fe565b81600181146200055457600281146200055f5762000595565b6001915050620005fe565b60ff84111562000574576200057362000482565b5b8360020a9150848211156200058e576200058d62000482565b5b50620005fe565b5060208310610133831016604e8410600b8410161715620005cf5782820a905083811115620005c957620005c862000482565b5b620005fe565b620005de8484846001620004be565b92509050818404811115620005f857620005f762000482565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620006298262000605565b915062000636836200060f565b9250620006657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000519565b905092915050565b60006200067a8262000605565b9150620006878362000605565b9250828202620006978162000605565b91508282048414831517620006b157620006b062000482565b5b5092915050565b620006c38162000605565b82525050565b6000602082019050620006e06000830184620006b8565b92915050565b612e0080620006f66000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063aa10ce2211610064578063aa10ce22146103c2578063bf474bed146103eb578063c9567bf914610416578063cb7115951461042d578063dd62ed3e146104565761011f565b8063715018a6146102ef5780638da5cb5b146103065780638e0be3691461033157806395d89b411461035a578063a9059cbb146103855761011f565b806318160ddd116100e757806318160ddd146101e257806323b872dd1461020d5780632412bdb81461024a578063313ce5671461028757806370a08231146102b25761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806317198564146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610493565b6040516101469190611f76565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612031565b6104d0565b604051610183919061208c565b60405180910390f35b34801561019857600080fd5b506101a16104ee565b6040516101ae91906120b6565b60405180910390f35b3480156101c357600080fd5b506101cc6104f4565b6040516101d991906120e0565b60405180910390f35b3480156101ee57600080fd5b506101f761051a565b60405161020491906120b6565b60405180910390f35b34801561021957600080fd5b50610234600480360381019061022f91906120fb565b61053f565b604051610241919061208c565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061214e565b610618565b60405161027e919061208c565b60405180910390f35b34801561029357600080fd5b5061029c610638565b6040516102a99190612197565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d4919061214e565b610641565b6040516102e691906120b6565b60405180910390f35b3480156102fb57600080fd5b5061030461068a565b005b34801561031257600080fd5b5061031b6107dd565b60405161032891906120e0565b60405180910390f35b34801561033d57600080fd5b506103586004803603810190610353919061214e565b610806565b005b34801561036657600080fd5b5061036f6108f1565b60405161037c9190611f76565b60405180910390f35b34801561039157600080fd5b506103ac60048036038101906103a79190612031565b61092e565b6040516103b9919061208c565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e4919061214e565b61094c565b005b3480156103f757600080fd5b50610400610aa6565b60405161040d91906120b6565b60405180910390f35b34801561042257600080fd5b5061042b610aac565b005b34801561043957600080fd5b50610454600480360381019061044f919061214e565b610fec565b005b34801561046257600080fd5b5061047d600480360381019061047891906121b2565b6110c0565b60405161048a91906120b6565b60405180910390f35b60606040518060400160405280600581526020017f5842414c44000000000000000000000000000000000000000000000000000000815250905090565b60006104e46104dd611147565b848461114f565b6001905092915050565b60115481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a61052a9190612354565b6402540be40061053a919061239f565b905090565b600061054c848484611318565b61060d84610558611147565b61060885604051806060016040528060288152602001612da360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105be611147565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119b59092919063ffffffff16565b61114f565b600190509392505050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610692611147565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107169061242d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90612499565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606040518060400160405280600581526020017f5842414c44000000000000000000000000000000000000000000000000000000815250905090565b600061094261093b611147565b8484611318565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d390612499565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4290612505565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60105481565b610ab4611147565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b389061242d565b60405180910390fd5b601360149054906101000a900460ff1615610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612571565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c3030601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c1b9190612354565b6402540be400610c2b919061239f565b61114f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc191906125a6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6e91906125a6565b6040518363ffffffff1660e01b8152600401610d8b9291906125d3565b6020604051808303816000875af1158015610daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce91906125a6565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e5730610641565b600080610e626107dd565b426040518863ffffffff1660e01b8152600401610e8496959493929190612641565b60606040518083038185885af1158015610ea2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ec791906126b7565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f6992919061270a565b6020604051808303816000875af1158015610f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fac919061275f565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043600681905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107390612499565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b5906127fe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122490612890565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161130b91906120b6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e90612922565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ed906129b4565b60405180910390fd5b60008111611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090612a46565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611692576114c860646114ba600c54600f54116114a7576008546114ab565b600a545b85611a1990919063ffffffff16565b611a9390919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561155357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611597576115946064611586600d54600f541161157357600954611577565b600b545b85611a1990919063ffffffff16565b611a9390919063ffffffff16565b90505b60006115a230610641565b9050601360159054906101000a900460ff1615801561160e5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561161b575060105481115b156116905761163d6116388461163384601154611add565b611add565b611af6565b6000479050600081111561168e5761168d600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631611d6f565b5b505b505b60008111156117fc5761170f8160016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddb90919063ffffffff16565b60016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117f391906120b6565b60405180910390a35b61184e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e3990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118f56118a78284611e3990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61199a8486611e3990919063ffffffff16565b6040516119a791906120b6565b60405180910390a350505050565b60008383111582906119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f49190611f76565b60405180910390fd5b5060008385611a0c9190612a66565b9050809150509392505050565b6000808303611a2b5760009050611a8d565b60008284611a39919061239f565b9050828482611a489190612ac9565b14611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90612b6c565b60405180910390fd5b809150505b92915050565b6000611ad583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e83565b905092915050565b6000818311611aec5782611aee565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b2e57611b2d612b8c565b5b604051908082528060200260200182016040528015611b5c5781602001602082028036833780820191505090505b5090503081600081518110611b7457611b73612bbb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3f91906125a6565b81600181518110611c5357611c52612bbb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cba30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461114f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d1e959493929190612ca8565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dd7573d6000803e3d6000fd5b5050565b6000808284611dea9190612d02565b905083811015611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2690612d82565b60405180910390fd5b8091505092915050565b6000611e7b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119b5565b905092915050565b60008083118290611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec19190611f76565b60405180910390fd5b5060008385611ed99190612ac9565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f20578082015181840152602081019050611f05565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f4882611ee6565b611f528185611ef1565b9350611f62818560208601611f02565b611f6b81611f2c565b840191505092915050565b60006020820190508181036000830152611f908184611f3d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc882611f9d565b9050919050565b611fd881611fbd565b8114611fe357600080fd5b50565b600081359050611ff581611fcf565b92915050565b6000819050919050565b61200e81611ffb565b811461201957600080fd5b50565b60008135905061202b81612005565b92915050565b6000806040838503121561204857612047611f98565b5b600061205685828601611fe6565b92505060206120678582860161201c565b9150509250929050565b60008115159050919050565b61208681612071565b82525050565b60006020820190506120a1600083018461207d565b92915050565b6120b081611ffb565b82525050565b60006020820190506120cb60008301846120a7565b92915050565b6120da81611fbd565b82525050565b60006020820190506120f560008301846120d1565b92915050565b60008060006060848603121561211457612113611f98565b5b600061212286828701611fe6565b935050602061213386828701611fe6565b92505060406121448682870161201c565b9150509250925092565b60006020828403121561216457612163611f98565b5b600061217284828501611fe6565b91505092915050565b600060ff82169050919050565b6121918161217b565b82525050565b60006020820190506121ac6000830184612188565b92915050565b600080604083850312156121c9576121c8611f98565b5b60006121d785828601611fe6565b92505060206121e885828601611fe6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561227857808604811115612254576122536121f2565b5b60018516156122635780820291505b808102905061227185612221565b9450612238565b94509492505050565b600082612291576001905061234d565b8161229f576000905061234d565b81600181146122b557600281146122bf576122ee565b600191505061234d565b60ff8411156122d1576122d06121f2565b5b8360020a9150848211156122e8576122e76121f2565b5b5061234d565b5060208310610133831016604e8410600b84101617156123235782820a90508381111561231e5761231d6121f2565b5b61234d565b612330848484600161222e565b92509050818404811115612347576123466121f2565b5b81810290505b9392505050565b600061235f82611ffb565b915061236a8361217b565b92506123977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612281565b905092915050565b60006123aa82611ffb565b91506123b583611ffb565b92508282026123c381611ffb565b915082820484148315176123da576123d96121f2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612417602083611ef1565b9150612422826123e1565b602082019050919050565b600060208201905081810360008301526124468161240a565b9050919050565b7f6e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000612483600e83611ef1565b915061248e8261244d565b602082019050919050565b600060208201905081810360008301526124b281612476565b9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b60006124ef600f83611ef1565b91506124fa826124b9565b602082019050919050565b6000602082019050818103600083015261251e816124e2565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061255b601783611ef1565b915061256682612525565b602082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b6000815190506125a081611fcf565b92915050565b6000602082840312156125bc576125bb611f98565b5b60006125ca84828501612591565b91505092915050565b60006040820190506125e860008301856120d1565b6125f560208301846120d1565b9392505050565b6000819050919050565b6000819050919050565b600061262b612626612621846125fc565b612606565b611ffb565b9050919050565b61263b81612610565b82525050565b600060c08201905061265660008301896120d1565b61266360208301886120a7565b6126706040830187612632565b61267d6060830186612632565b61268a60808301856120d1565b61269760a08301846120a7565b979650505050505050565b6000815190506126b181612005565b92915050565b6000806000606084860312156126d0576126cf611f98565b5b60006126de868287016126a2565b93505060206126ef868287016126a2565b9250506040612700868287016126a2565b9150509250925092565b600060408201905061271f60008301856120d1565b61272c60208301846120a7565b9392505050565b61273c81612071565b811461274757600080fd5b50565b60008151905061275981612733565b92915050565b60006020828403121561277557612774611f98565b5b60006127838482850161274a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006127e8602483611ef1565b91506127f38261278c565b604082019050919050565b60006020820190508181036000830152612817816127db565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061287a602283611ef1565b91506128858261281e565b604082019050919050565b600060208201905081810360008301526128a98161286d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061290c602583611ef1565b9150612917826128b0565b604082019050919050565b6000602082019050818103600083015261293b816128ff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061299e602383611ef1565b91506129a982612942565b604082019050919050565b600060208201905081810360008301526129cd81612991565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a30602983611ef1565b9150612a3b826129d4565b604082019050919050565b60006020820190508181036000830152612a5f81612a23565b9050919050565b6000612a7182611ffb565b9150612a7c83611ffb565b9250828203905081811115612a9457612a936121f2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ad482611ffb565b9150612adf83611ffb565b925082612aef57612aee612a9a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b56602183611ef1565b9150612b6182612afa565b604082019050919050565b60006020820190508181036000830152612b8581612b49565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c1f81611fbd565b82525050565b6000612c318383612c16565b60208301905092915050565b6000602082019050919050565b6000612c5582612bea565b612c5f8185612bf5565b9350612c6a83612c06565b8060005b83811015612c9b578151612c828882612c25565b9750612c8d83612c3d565b925050600181019050612c6e565b5085935050505092915050565b600060a082019050612cbd60008301886120a7565b612cca6020830187612632565b8181036040830152612cdc8186612c4a565b9050612ceb60608301856120d1565b612cf860808301846120a7565b9695505050505050565b6000612d0d82611ffb565b9150612d1883611ffb565b9250828201905080821115612d3057612d2f6121f2565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d6c601b83611ef1565b9150612d7782612d36565b602082019050919050565b60006020820190508181036000830152612d9b81612d5f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122009bccb430a19607fd2abaabe6f6441eb98ea8100460103162c273234e9c881ba64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063aa10ce2211610064578063aa10ce22146103c2578063bf474bed146103eb578063c9567bf914610416578063cb7115951461042d578063dd62ed3e146104565761011f565b8063715018a6146102ef5780638da5cb5b146103065780638e0be3691461033157806395d89b411461035a578063a9059cbb146103855761011f565b806318160ddd116100e757806318160ddd146101e257806323b872dd1461020d5780632412bdb81461024a578063313ce5671461028757806370a08231146102b25761011f565b806306fdde0314610124578063095ea7b31461014f5780630faee56f1461018c57806317198564146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610493565b6040516101469190611f76565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190612031565b6104d0565b604051610183919061208c565b60405180910390f35b34801561019857600080fd5b506101a16104ee565b6040516101ae91906120b6565b60405180910390f35b3480156101c357600080fd5b506101cc6104f4565b6040516101d991906120e0565b60405180910390f35b3480156101ee57600080fd5b506101f761051a565b60405161020491906120b6565b60405180910390f35b34801561021957600080fd5b50610234600480360381019061022f91906120fb565b61053f565b604051610241919061208c565b60405180910390f35b34801561025657600080fd5b50610271600480360381019061026c919061214e565b610618565b60405161027e919061208c565b60405180910390f35b34801561029357600080fd5b5061029c610638565b6040516102a99190612197565b60405180910390f35b3480156102be57600080fd5b506102d960048036038101906102d4919061214e565b610641565b6040516102e691906120b6565b60405180910390f35b3480156102fb57600080fd5b5061030461068a565b005b34801561031257600080fd5b5061031b6107dd565b60405161032891906120e0565b60405180910390f35b34801561033d57600080fd5b506103586004803603810190610353919061214e565b610806565b005b34801561036657600080fd5b5061036f6108f1565b60405161037c9190611f76565b60405180910390f35b34801561039157600080fd5b506103ac60048036038101906103a79190612031565b61092e565b6040516103b9919061208c565b60405180910390f35b3480156103ce57600080fd5b506103e960048036038101906103e4919061214e565b61094c565b005b3480156103f757600080fd5b50610400610aa6565b60405161040d91906120b6565b60405180910390f35b34801561042257600080fd5b5061042b610aac565b005b34801561043957600080fd5b50610454600480360381019061044f919061214e565b610fec565b005b34801561046257600080fd5b5061047d600480360381019061047891906121b2565b6110c0565b60405161048a91906120b6565b60405180910390f35b60606040518060400160405280600581526020017f5842414c44000000000000000000000000000000000000000000000000000000815250905090565b60006104e46104dd611147565b848461114f565b6001905092915050565b60115481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600a61052a9190612354565b6402540be40061053a919061239f565b905090565b600061054c848484611318565b61060d84610558611147565b61060885604051806060016040528060288152602001612da360289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105be611147565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119b59092919063ffffffff16565b61114f565b600190509392505050565b60046020528060005260406000206000915054906101000a900460ff1681565b60006009905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610692611147565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107169061242d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90612499565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606040518060400160405280600581526020017f5842414c44000000000000000000000000000000000000000000000000000000815250905090565b600061094261093b611147565b8484611318565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d390612499565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4290612505565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60105481565b610ab4611147565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b389061242d565b60405180910390fd5b601360149054906101000a900460ff1615610b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8890612571565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c3030601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610c1b9190612354565b6402540be400610c2b919061239f565b61114f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc191906125a6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6e91906125a6565b6040518363ffffffff1660e01b8152600401610d8b9291906125d3565b6020604051808303816000875af1158015610daa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dce91906125a6565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e5730610641565b600080610e626107dd565b426040518863ffffffff1660e01b8152600401610e8496959493929190612641565b60606040518083038185885af1158015610ea2573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610ec791906126b7565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f6992919061270a565b6020604051808303816000875af1158015610f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fac919061275f565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff02191690831515021790555043600681905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461107c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107390612499565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b5906127fe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361122d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122490612890565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161130b91906120b6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e90612922565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ed906129b4565b60405180910390fd5b60008111611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090612a46565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611692576114c860646114ba600c54600f54116114a7576008546114ab565b600a545b85611a1990919063ffffffff16565b611a9390919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561155357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611597576115946064611586600d54600f541161157357600954611577565b600b545b85611a1990919063ffffffff16565b611a9390919063ffffffff16565b90505b60006115a230610641565b9050601360159054906101000a900460ff1615801561160e5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561161b575060105481115b156116905761163d6116388461163384601154611add565b611add565b611af6565b6000479050600081111561168e5761168d600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631611d6f565b5b505b505b60008111156117fc5761170f8160016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddb90919063ffffffff16565b60016000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117f391906120b6565b60405180910390a35b61184e82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e3990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118f56118a78284611e3990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ddb90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61199a8486611e3990919063ffffffff16565b6040516119a791906120b6565b60405180910390a350505050565b60008383111582906119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f49190611f76565b60405180910390fd5b5060008385611a0c9190612a66565b9050809150509392505050565b6000808303611a2b5760009050611a8d565b60008284611a39919061239f565b9050828482611a489190612ac9565b14611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90612b6c565b60405180910390fd5b809150505b92915050565b6000611ad583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e83565b905092915050565b6000818311611aec5782611aee565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611b2e57611b2d612b8c565b5b604051908082528060200260200182016040528015611b5c5781602001602082028036833780820191505090505b5090503081600081518110611b7457611b73612bbb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3f91906125a6565b81600181518110611c5357611c52612bbb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cba30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461114f565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d1e959493929190612ca8565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dd7573d6000803e3d6000fd5b5050565b6000808284611dea9190612d02565b905083811015611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2690612d82565b60405180910390fd5b8091505092915050565b6000611e7b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119b5565b905092915050565b60008083118290611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec19190611f76565b60405180910390fd5b5060008385611ed99190612ac9565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f20578082015181840152602081019050611f05565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f4882611ee6565b611f528185611ef1565b9350611f62818560208601611f02565b611f6b81611f2c565b840191505092915050565b60006020820190508181036000830152611f908184611f3d565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611fc882611f9d565b9050919050565b611fd881611fbd565b8114611fe357600080fd5b50565b600081359050611ff581611fcf565b92915050565b6000819050919050565b61200e81611ffb565b811461201957600080fd5b50565b60008135905061202b81612005565b92915050565b6000806040838503121561204857612047611f98565b5b600061205685828601611fe6565b92505060206120678582860161201c565b9150509250929050565b60008115159050919050565b61208681612071565b82525050565b60006020820190506120a1600083018461207d565b92915050565b6120b081611ffb565b82525050565b60006020820190506120cb60008301846120a7565b92915050565b6120da81611fbd565b82525050565b60006020820190506120f560008301846120d1565b92915050565b60008060006060848603121561211457612113611f98565b5b600061212286828701611fe6565b935050602061213386828701611fe6565b92505060406121448682870161201c565b9150509250925092565b60006020828403121561216457612163611f98565b5b600061217284828501611fe6565b91505092915050565b600060ff82169050919050565b6121918161217b565b82525050565b60006020820190506121ac6000830184612188565b92915050565b600080604083850312156121c9576121c8611f98565b5b60006121d785828601611fe6565b92505060206121e885828601611fe6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561227857808604811115612254576122536121f2565b5b60018516156122635780820291505b808102905061227185612221565b9450612238565b94509492505050565b600082612291576001905061234d565b8161229f576000905061234d565b81600181146122b557600281146122bf576122ee565b600191505061234d565b60ff8411156122d1576122d06121f2565b5b8360020a9150848211156122e8576122e76121f2565b5b5061234d565b5060208310610133831016604e8410600b84101617156123235782820a90508381111561231e5761231d6121f2565b5b61234d565b612330848484600161222e565b92509050818404811115612347576123466121f2565b5b81810290505b9392505050565b600061235f82611ffb565b915061236a8361217b565b92506123977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612281565b905092915050565b60006123aa82611ffb565b91506123b583611ffb565b92508282026123c381611ffb565b915082820484148315176123da576123d96121f2565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612417602083611ef1565b9150612422826123e1565b602082019050919050565b600060208201905081810360008301526124468161240a565b9050919050565b7f6e6f7420617574686f72697a6564000000000000000000000000000000000000600082015250565b6000612483600e83611ef1565b915061248e8261244d565b602082019050919050565b600060208201905081810360008301526124b281612476565b9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b60006124ef600f83611ef1565b91506124fa826124b9565b602082019050919050565b6000602082019050818103600083015261251e816124e2565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061255b601783611ef1565b915061256682612525565b602082019050919050565b6000602082019050818103600083015261258a8161254e565b9050919050565b6000815190506125a081611fcf565b92915050565b6000602082840312156125bc576125bb611f98565b5b60006125ca84828501612591565b91505092915050565b60006040820190506125e860008301856120d1565b6125f560208301846120d1565b9392505050565b6000819050919050565b6000819050919050565b600061262b612626612621846125fc565b612606565b611ffb565b9050919050565b61263b81612610565b82525050565b600060c08201905061265660008301896120d1565b61266360208301886120a7565b6126706040830187612632565b61267d6060830186612632565b61268a60808301856120d1565b61269760a08301846120a7565b979650505050505050565b6000815190506126b181612005565b92915050565b6000806000606084860312156126d0576126cf611f98565b5b60006126de868287016126a2565b93505060206126ef868287016126a2565b9250506040612700868287016126a2565b9150509250925092565b600060408201905061271f60008301856120d1565b61272c60208301846120a7565b9392505050565b61273c81612071565b811461274757600080fd5b50565b60008151905061275981612733565b92915050565b60006020828403121561277557612774611f98565b5b60006127838482850161274a565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006127e8602483611ef1565b91506127f38261278c565b604082019050919050565b60006020820190508181036000830152612817816127db565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061287a602283611ef1565b91506128858261281e565b604082019050919050565b600060208201905081810360008301526128a98161286d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061290c602583611ef1565b9150612917826128b0565b604082019050919050565b6000602082019050818103600083015261293b816128ff565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061299e602383611ef1565b91506129a982612942565b604082019050919050565b600060208201905081810360008301526129cd81612991565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612a30602983611ef1565b9150612a3b826129d4565b604082019050919050565b60006020820190508181036000830152612a5f81612a23565b9050919050565b6000612a7182611ffb565b9150612a7c83611ffb565b9250828203905081811115612a9457612a936121f2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612ad482611ffb565b9150612adf83611ffb565b925082612aef57612aee612a9a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b56602183611ef1565b9150612b6182612afa565b604082019050919050565b60006020820190508181036000830152612b8581612b49565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612c1f81611fbd565b82525050565b6000612c318383612c16565b60208301905092915050565b6000602082019050919050565b6000612c5582612bea565b612c5f8185612bf5565b9350612c6a83612c06565b8060005b83811015612c9b578151612c828882612c25565b9750612c8d83612c3d565b925050600181019050612c6e565b5085935050505092915050565b600060a082019050612cbd60008301886120a7565b612cca6020830187612632565b8181036040830152612cdc8186612c4a565b9050612ceb60608301856120d1565b612cf860808301846120a7565b9695505050505050565b6000612d0d82611ffb565b9150612d1883611ffb565b9250828201905080821115612d3057612d2f6121f2565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612d6c601b83611ef1565b9150612d7782612d36565b602082019050919050565b60006020820190508181036000830152612d9b81612d5f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122009bccb430a19607fd2abaabe6f6441eb98ea8100460103162c273234e9c881ba64736f6c63430008130033

Deployed Bytecode Sourcemap

3496:7127:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6080:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4518:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3880:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5520:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6250:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3767:40;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5428:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5624:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2573:148;;;;;;;;;;;;;:::i;:::-;;2357:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10419:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5332:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5752:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10196:215;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4453:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9313:707;;;;;;;;;;;;;:::i;:::-;;10026:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5928:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5240:83;5277:13;5310:5;;;;;;;;;;;;;;;;;5303:12;;5240:83;:::o;6080:161::-;6155:4;6172:39;6181:12;:10;:12::i;:::-;6195:7;6204:6;6172:8;:39::i;:::-;6229:4;6222:11;;6080:161;;;;:::o;4518:52::-;;;;:::o;3880:26::-;;;;;;;;;;;;;:::o;5520:95::-;5573:7;4268:1;4325:2;:13;;;;:::i;:::-;4311:11;:27;;;;:::i;:::-;5593:14;;5520:95;:::o;6250:313::-;6348:4;6365:36;6375:6;6383:9;6394:6;6365:9;:36::i;:::-;6412:121;6421:6;6429:12;:10;:12::i;:::-;6443:89;6481:6;6443:89;;;;;;;;;;;;;;;;;:11;:19;6455:6;6443:19;;;;;;;;;;;;;;;:33;6463:12;:10;:12::i;:::-;6443:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6412:8;:121::i;:::-;6551:4;6544:11;;6250:313;;;;;:::o;3767:40::-;;;;;;;;;;;;;;;;;;;;;;:::o;5428:83::-;5469:5;4268:1;5487:16;;5428:83;:::o;5624:119::-;5690:7;5717:9;:18;5727:7;5717:18;;;;;;;;;;;;;;;;5710:25;;5624:119;;;:::o;2573:148::-;2495:12;:10;:12::i;:::-;2485:22;;:6;;;;;;;;;;:22;;;2477:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2680:1:::1;2643:40;;2664:6;::::0;::::1;;;;;;;;2643:40;;;;;;;;;;;;2711:1;2694:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2573:148::o:0;2357:79::-;2395:7;2422:6;;;;;;;;;;;2415:13;;2357:79;:::o;10419:157::-;10501:11;;;;;;;;;;;10487:25;;:10;:25;;;10479:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10563:5;10542:8;:18;10551:8;10542:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;10419:157;:::o;5332:87::-;5371:13;5404:7;;;;;;;;;;;;;;;;;5397:14;;5332:87;:::o;5752:167::-;5830:4;5847:42;5857:12;:10;:12::i;:::-;5871:9;5882:6;5847:9;:42::i;:::-;5907:4;5900:11;;5752:167;;;;:::o;10196:215::-;10276:11;;;;;;;;;;;10262:25;;:10;:25;;;10254:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10345:1;10325:22;;:8;:22;;;10317:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;10399:4;10378:8;:18;10387:8;10378:18;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;10196:215;:::o;4453:58::-;;;;:::o;9313:707::-;2495:12;:10;:12::i;:::-;2485:22;;:6;;;;;;;;;;:22;;;2477:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9377:11:::1;;;;;;;;;;;9376:12;9368:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9463:42;9426:15;;:80;;;;;;;;;;;;;;;;;;9517:58;9534:4;9549:15;;;;;;;;;;;4268:1;4325:2;:13;;;;:::i;:::-;4311:11;:27;;;;:::i;:::-;9517:8;:58::i;:::-;9620:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9602:55;;;9666:4;9673:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9602:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9586:13;;:110;;;;;;;;;;;;;;;;;;9707:15;;;;;;;;;;;:31;;;9746:21;9777:4;9783:24;9801:4;9783:9;:24::i;:::-;9808:1;9810::::0;9812:7:::1;:5;:7::i;:::-;9820:15;9707:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9854:13;;;;;;;;;;;9847:29;;;9885:15;;;;;;;;;;;9903:14;9847:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9943:4;9929:11;;:18;;;;;;;;;;;;;;;;;;9972:4;9958:11;;:18;;;;;;;;;;;;;;;;;;10000:12;9987:10;:25;;;;9313:707::o:0;10026:164::-;10115:11;;;;;;;;;;;10101:25;;:10;:25;;;10093:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;10170:12;10156:11;;:26;;;;;;;;;;;;;;;;;;10026:164;:::o;5928:143::-;6009:7;6036:11;:18;6048:5;6036:18;;;;;;;;;;;;;;;:27;6055:7;6036:27;;;;;;;;;;;;;;;;6029:34;;5928:143;;;;:::o;100:98::-;153:7;180:10;173:17;;100:98;:::o;6572:335::-;6682:1;6665:19;;:5;:19;;;6657:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6763:1;6744:21;;:7;:21;;;6736:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6845:6;6815:11;:18;6827:5;6815:18;;;;;;;;;;;;;;;:27;6834:7;6815:27;;;;;;;;;;;;;;;:36;;;;6883:7;6867:32;;6876:5;6867:32;;;6892:6;6867:32;;;;;;:::i;:::-;;;;;;;;6572:335;;;:::o;6916:1478::-;7020:1;7004:18;;:4;:18;;;6996:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7097:1;7083:16;;:2;:16;;;7075:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7167:1;7158:6;:10;7150:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7225:17;7260:8;:14;7269:4;7260:14;;;;;;;;;;;;;;;;;;;;;;;;;7255:788;;7303:76;7375:3;7303:67;7325:15;;7315:9;;:25;7314:55;;7355:14;;7314:55;;;7342:12;;7314:55;7303:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7291:88;;7408:13;;;;;;;;;;;7402:19;;:2;:19;;;:43;;;;;7440:4;7425:20;;:4;:20;;;;7402:43;7399:174;;;7478:79;7553:3;7478:70;7500:16;;7490:9;;:26;7489:58;;7532:15;;7489:58;;;7518:13;;7489:58;7478:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;7466:91;;7399:174;7590:28;7621:24;7639:4;7621:9;:24::i;:::-;7590:55;;7665:6;;;;;;;;;;;7664:7;:32;;;;;7683:13;;;;;;;;;;;7675:21;;:2;:21;;;7664:32;:74;;;;;7721:17;;7700:20;:38;7664:74;7660:372;;;7759:67;7776:49;7780:6;7787:37;7791:20;7812:11;;7787:3;:37::i;:::-;7776:3;:49::i;:::-;7759:16;:67::i;:::-;7845:26;7874:21;7845:50;;7938:1;7917:18;:22;7914:103;;;7964:33;7977:11;;;;;;;;;;;:19;;;7964:12;:33::i;:::-;7914:103;7740:292;7660:372;7276:767;7255:788;8069:1;8059:9;:11;8056:155;;;8107:37;8134:9;8107;:22;8117:11;;;;;;;;;;;8107:22;;;;;;;;;;;;;;;;:26;;:37;;;;:::i;:::-;8084:9;:22;8094:11;;;;;;;;;;;8084:22;;;;;;;;;;;;;;;:60;;;;8177:11;;;;;;;;;;;8162:37;;8171:4;8162:37;;;8189:9;8162:37;;;;;;:::i;:::-;;;;;;;;8056:155;8237:27;8257:6;8237:9;:15;8247:4;8237:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8221:9;:15;8231:4;8221:15;;;;;;;;;;;;;;;:43;;;;8289:40;8307:21;8318:9;8307:6;:10;;:21;;;;:::i;:::-;8289:9;:13;8299:2;8289:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8275:9;:13;8285:2;8275:13;;;;;;;;;;;;;;;:54;;;;8360:2;8345:41;;8354:4;8345:41;;;8364:21;8375:9;8364:6;:10;;:21;;;;:::i;:::-;8345:41;;;;;;:::i;:::-;;;;;;;;6985:1409;6916:1478;;;:::o;1242:190::-;1328:7;1361:1;1356;:6;;1364:12;1348:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1388:9;1404:1;1400;:5;;;;:::i;:::-;1388:17;;1423:1;1416:8;;;1242:190;;;;;:::o;1441:246::-;1499:7;1528:1;1523;:6;1519:47;;1553:1;1546:8;;;;1519:47;1576:9;1592:1;1588;:5;;;;:::i;:::-;1576:17;;1621:1;1616;1612;:5;;;;:::i;:::-;:10;1604:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1678:1;1671:8;;;1441:246;;;;;:::o;1696:132::-;1754:7;1781:39;1785:1;1788;1781:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1774:46;;1696:132;;;;:::o;8406:98::-;8463:7;8490:1;8488;:3;8487:9;;8495:1;8487:9;;;8493:1;8487:9;8480:16;;8406:98;;;;:::o;8717:483::-;4815:4;4806:6;;:13;;;;;;;;;;;;;;;;;;8795:21:::1;8833:1;8819:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8795:40;;8864:4;8846;8851:1;8846:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8890:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8880:4;8885:1;8880:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8923:62;8940:4;8955:15;;;;;;;;;;;8973:11;8923:8;:62::i;:::-;8996:15;;;;;;;;;;;:66;;;9077:11;9103:1;9119:4;9146;9166:15;8996:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8784:416;4851:5:::0;4842:6;;:14;;;;;;;;;;;;;;;;;;8717:483;:::o;9212:92::-;9269:10;;;;;;;;;;;:19;;:27;9289:6;9269:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9212:92;:::o;909:179::-;967:7;987:9;1003:1;999;:5;;;;:::i;:::-;987:17;;1028:1;1023;:6;;1015:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1079:1;1072:8;;;909:179;;;;:::o;1097:136::-;1155:7;1182:43;1186:1;1189;1182:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1175:50;;1097:136;;;;:::o;1837:189::-;1923:7;1955:1;1951;:5;1958:12;1943:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1982:9;1998:1;1994;:5;;;;:::i;:::-;1982:17;;2017:1;2010:8;;;1837:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:118::-;3885:24;3903:5;3885:24;:::i;:::-;3880:3;3873:37;3798:118;;:::o;3922:222::-;4015:4;4053:2;4042:9;4038:18;4030:26;;4066:71;4134:1;4123:9;4119:17;4110:6;4066:71;:::i;:::-;3922:222;;;;:::o;4150:619::-;4227:6;4235;4243;4292:2;4280:9;4271:7;4267:23;4263:32;4260:119;;;4298:79;;:::i;:::-;4260:119;4418:1;4443:53;4488:7;4479:6;4468:9;4464:22;4443:53;:::i;:::-;4433:63;;4389:117;4545:2;4571:53;4616:7;4607:6;4596:9;4592:22;4571:53;:::i;:::-;4561:63;;4516:118;4673:2;4699:53;4744:7;4735:6;4724:9;4720:22;4699:53;:::i;:::-;4689:63;;4644:118;4150:619;;;;;:::o;4775:329::-;4834:6;4883:2;4871:9;4862:7;4858:23;4854:32;4851:119;;;4889:79;;:::i;:::-;4851:119;5009:1;5034:53;5079:7;5070:6;5059:9;5055:22;5034:53;:::i;:::-;5024:63;;4980:117;4775:329;;;;:::o;5110:86::-;5145:7;5185:4;5178:5;5174:16;5163:27;;5110:86;;;:::o;5202:112::-;5285:22;5301:5;5285:22;:::i;:::-;5280:3;5273:35;5202:112;;:::o;5320:214::-;5409:4;5447:2;5436:9;5432:18;5424:26;;5460:67;5524:1;5513:9;5509:17;5500:6;5460:67;:::i;:::-;5320:214;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:102;6248:8;6295:5;6292:1;6288:13;6267:34;;6206:102;;;:::o;6314:848::-;6375:5;6382:4;6406:6;6397:15;;6430:5;6421:14;;6444:712;6465:1;6455:8;6452:15;6444:712;;;6560:4;6555:3;6551:14;6545:4;6542:24;6539:50;;;6569:18;;:::i;:::-;6539:50;6619:1;6609:8;6605:16;6602:451;;;7034:4;7027:5;7023:16;7014:25;;6602:451;7084:4;7078;7074:15;7066:23;;7114:32;7137:8;7114:32;:::i;:::-;7102:44;;6444:712;;;6314:848;;;;;;;:::o;7168:1073::-;7222:5;7413:8;7403:40;;7434:1;7425:10;;7436:5;;7403:40;7462:4;7452:36;;7479:1;7470:10;;7481:5;;7452:36;7548:4;7596:1;7591:27;;;;7632:1;7627:191;;;;7541:277;;7591:27;7609:1;7600:10;;7611:5;;;7627:191;7672:3;7662:8;7659:17;7656:43;;;7679:18;;:::i;:::-;7656:43;7728:8;7725:1;7721:16;7712:25;;7763:3;7756:5;7753:14;7750:40;;;7770:18;;:::i;:::-;7750:40;7803:5;;;7541:277;;7927:2;7917:8;7914:16;7908:3;7902:4;7899:13;7895:36;7877:2;7867:8;7864:16;7859:2;7853:4;7850:12;7846:35;7830:111;7827:246;;;7983:8;7977:4;7973:19;7964:28;;8018:3;8011:5;8008:14;8005:40;;;8025:18;;:::i;:::-;8005:40;8058:5;;7827:246;8098:42;8136:3;8126:8;8120:4;8117:1;8098:42;:::i;:::-;8083:57;;;;8172:4;8167:3;8163:14;8156:5;8153:25;8150:51;;;8181:18;;:::i;:::-;8150:51;8230:4;8223:5;8219:16;8210:25;;7168:1073;;;;;;:::o;8247:281::-;8305:5;8329:23;8347:4;8329:23;:::i;:::-;8321:31;;8373:25;8389:8;8373:25;:::i;:::-;8361:37;;8417:104;8454:66;8444:8;8438:4;8417:104;:::i;:::-;8408:113;;8247:281;;;;:::o;8534:410::-;8574:7;8597:20;8615:1;8597:20;:::i;:::-;8592:25;;8631:20;8649:1;8631:20;:::i;:::-;8626:25;;8686:1;8683;8679:9;8708:30;8726:11;8708:30;:::i;:::-;8697:41;;8887:1;8878:7;8874:15;8871:1;8868:22;8848:1;8841:9;8821:83;8798:139;;8917:18;;:::i;:::-;8798:139;8582:362;8534:410;;;;:::o;8950:182::-;9090:34;9086:1;9078:6;9074:14;9067:58;8950:182;:::o;9138:366::-;9280:3;9301:67;9365:2;9360:3;9301:67;:::i;:::-;9294:74;;9377:93;9466:3;9377:93;:::i;:::-;9495:2;9490:3;9486:12;9479:19;;9138:366;;;:::o;9510:419::-;9676:4;9714:2;9703:9;9699:18;9691:26;;9763:9;9757:4;9753:20;9749:1;9738:9;9734:17;9727:47;9791:131;9917:4;9791:131;:::i;:::-;9783:139;;9510:419;;;:::o;9935:164::-;10075:16;10071:1;10063:6;10059:14;10052:40;9935:164;:::o;10105:366::-;10247:3;10268:67;10332:2;10327:3;10268:67;:::i;:::-;10261:74;;10344:93;10433:3;10344:93;:::i;:::-;10462:2;10457:3;10453:12;10446:19;;10105:366;;;:::o;10477:419::-;10643:4;10681:2;10670:9;10666:18;10658:26;;10730:9;10724:4;10720:20;10716:1;10705:9;10701:17;10694:47;10758:131;10884:4;10758:131;:::i;:::-;10750:139;;10477:419;;;:::o;10902:165::-;11042:17;11038:1;11030:6;11026:14;11019:41;10902:165;:::o;11073:366::-;11215:3;11236:67;11300:2;11295:3;11236:67;:::i;:::-;11229:74;;11312:93;11401:3;11312:93;:::i;:::-;11430:2;11425:3;11421:12;11414:19;;11073:366;;;:::o;11445:419::-;11611:4;11649:2;11638:9;11634:18;11626:26;;11698:9;11692:4;11688:20;11684:1;11673:9;11669:17;11662:47;11726:131;11852:4;11726:131;:::i;:::-;11718:139;;11445:419;;;:::o;11870:173::-;12010:25;12006:1;11998:6;11994:14;11987:49;11870:173;:::o;12049:366::-;12191:3;12212:67;12276:2;12271:3;12212:67;:::i;:::-;12205:74;;12288:93;12377:3;12288:93;:::i;:::-;12406:2;12401:3;12397:12;12390:19;;12049:366;;;:::o;12421:419::-;12587:4;12625:2;12614:9;12610:18;12602:26;;12674:9;12668:4;12664:20;12660:1;12649:9;12645:17;12638:47;12702:131;12828:4;12702:131;:::i;:::-;12694:139;;12421:419;;;:::o;12846:143::-;12903:5;12934:6;12928:13;12919:22;;12950:33;12977:5;12950:33;:::i;:::-;12846:143;;;;:::o;12995:351::-;13065:6;13114:2;13102:9;13093:7;13089:23;13085:32;13082:119;;;13120:79;;:::i;:::-;13082:119;13240:1;13265:64;13321:7;13312:6;13301:9;13297:22;13265:64;:::i;:::-;13255:74;;13211:128;12995:351;;;;:::o;13352:332::-;13473:4;13511:2;13500:9;13496:18;13488:26;;13524:71;13592:1;13581:9;13577:17;13568:6;13524:71;:::i;:::-;13605:72;13673:2;13662:9;13658:18;13649:6;13605:72;:::i;:::-;13352:332;;;;;:::o;13690:85::-;13735:7;13764:5;13753:16;;13690:85;;;:::o;13781:60::-;13809:3;13830:5;13823:12;;13781:60;;;:::o;13847:158::-;13905:9;13938:61;13956:42;13965:32;13991:5;13965:32;:::i;:::-;13956:42;:::i;:::-;13938:61;:::i;:::-;13925:74;;13847:158;;;:::o;14011:147::-;14106:45;14145:5;14106:45;:::i;:::-;14101:3;14094:58;14011:147;;:::o;14164:807::-;14413:4;14451:3;14440:9;14436:19;14428:27;;14465:71;14533:1;14522:9;14518:17;14509:6;14465:71;:::i;:::-;14546:72;14614:2;14603:9;14599:18;14590:6;14546:72;:::i;:::-;14628:80;14704:2;14693:9;14689:18;14680:6;14628:80;:::i;:::-;14718;14794:2;14783:9;14779:18;14770:6;14718:80;:::i;:::-;14808:73;14876:3;14865:9;14861:19;14852:6;14808:73;:::i;:::-;14891;14959:3;14948:9;14944:19;14935:6;14891:73;:::i;:::-;14164:807;;;;;;;;;:::o;14977:143::-;15034:5;15065:6;15059:13;15050:22;;15081:33;15108:5;15081:33;:::i;:::-;14977:143;;;;:::o;15126:663::-;15214:6;15222;15230;15279:2;15267:9;15258:7;15254:23;15250:32;15247:119;;;15285:79;;:::i;:::-;15247:119;15405:1;15430:64;15486:7;15477:6;15466:9;15462:22;15430:64;:::i;:::-;15420:74;;15376:128;15543:2;15569:64;15625:7;15616:6;15605:9;15601:22;15569:64;:::i;:::-;15559:74;;15514:129;15682:2;15708:64;15764:7;15755:6;15744:9;15740:22;15708:64;:::i;:::-;15698:74;;15653:129;15126:663;;;;;:::o;15795:332::-;15916:4;15954:2;15943:9;15939:18;15931:26;;15967:71;16035:1;16024:9;16020:17;16011:6;15967:71;:::i;:::-;16048:72;16116:2;16105:9;16101:18;16092:6;16048:72;:::i;:::-;15795:332;;;;;:::o;16133:116::-;16203:21;16218:5;16203:21;:::i;:::-;16196:5;16193:32;16183:60;;16239:1;16236;16229:12;16183:60;16133:116;:::o;16255:137::-;16309:5;16340:6;16334:13;16325:22;;16356:30;16380:5;16356:30;:::i;:::-;16255:137;;;;:::o;16398:345::-;16465:6;16514:2;16502:9;16493:7;16489:23;16485:32;16482:119;;;16520:79;;:::i;:::-;16482:119;16640:1;16665:61;16718:7;16709:6;16698:9;16694:22;16665:61;:::i;:::-;16655:71;;16611:125;16398:345;;;;:::o;16749:223::-;16889:34;16885:1;16877:6;16873:14;16866:58;16958:6;16953:2;16945:6;16941:15;16934:31;16749:223;:::o;16978:366::-;17120:3;17141:67;17205:2;17200:3;17141:67;:::i;:::-;17134:74;;17217:93;17306:3;17217:93;:::i;:::-;17335:2;17330:3;17326:12;17319:19;;16978:366;;;:::o;17350:419::-;17516:4;17554:2;17543:9;17539:18;17531:26;;17603:9;17597:4;17593:20;17589:1;17578:9;17574:17;17567:47;17631:131;17757:4;17631:131;:::i;:::-;17623:139;;17350:419;;;:::o;17775:221::-;17915:34;17911:1;17903:6;17899:14;17892:58;17984:4;17979:2;17971:6;17967:15;17960:29;17775:221;:::o;18002:366::-;18144:3;18165:67;18229:2;18224:3;18165:67;:::i;:::-;18158:74;;18241:93;18330:3;18241:93;:::i;:::-;18359:2;18354:3;18350:12;18343:19;;18002:366;;;:::o;18374:419::-;18540:4;18578:2;18567:9;18563:18;18555:26;;18627:9;18621:4;18617:20;18613:1;18602:9;18598:17;18591:47;18655:131;18781:4;18655:131;:::i;:::-;18647:139;;18374:419;;;:::o;18799:224::-;18939:34;18935:1;18927:6;18923:14;18916:58;19008:7;19003:2;18995:6;18991:15;18984:32;18799:224;:::o;19029:366::-;19171:3;19192:67;19256:2;19251:3;19192:67;:::i;:::-;19185:74;;19268:93;19357:3;19268:93;:::i;:::-;19386:2;19381:3;19377:12;19370:19;;19029:366;;;:::o;19401:419::-;19567:4;19605:2;19594:9;19590:18;19582:26;;19654:9;19648:4;19644:20;19640:1;19629:9;19625:17;19618:47;19682:131;19808:4;19682:131;:::i;:::-;19674:139;;19401:419;;;:::o;19826:222::-;19966:34;19962:1;19954:6;19950:14;19943:58;20035:5;20030:2;20022:6;20018:15;20011:30;19826:222;:::o;20054:366::-;20196:3;20217:67;20281:2;20276:3;20217:67;:::i;:::-;20210:74;;20293:93;20382:3;20293:93;:::i;:::-;20411:2;20406:3;20402:12;20395:19;;20054:366;;;:::o;20426:419::-;20592:4;20630:2;20619:9;20615:18;20607:26;;20679:9;20673:4;20669:20;20665:1;20654:9;20650:17;20643:47;20707:131;20833:4;20707:131;:::i;:::-;20699:139;;20426:419;;;:::o;20851:228::-;20991:34;20987:1;20979:6;20975:14;20968:58;21060:11;21055:2;21047:6;21043:15;21036:36;20851:228;:::o;21085:366::-;21227:3;21248:67;21312:2;21307:3;21248:67;:::i;:::-;21241:74;;21324:93;21413:3;21324:93;:::i;:::-;21442:2;21437:3;21433:12;21426:19;;21085:366;;;:::o;21457:419::-;21623:4;21661:2;21650:9;21646:18;21638:26;;21710:9;21704:4;21700:20;21696:1;21685:9;21681:17;21674:47;21738:131;21864:4;21738:131;:::i;:::-;21730:139;;21457:419;;;:::o;21882:194::-;21922:4;21942:20;21960:1;21942:20;:::i;:::-;21937:25;;21976:20;21994:1;21976:20;:::i;:::-;21971:25;;22020:1;22017;22013:9;22005:17;;22044:1;22038:4;22035:11;22032:37;;;22049:18;;:::i;:::-;22032:37;21882:194;;;;:::o;22082:180::-;22130:77;22127:1;22120:88;22227:4;22224:1;22217:15;22251:4;22248:1;22241:15;22268:185;22308:1;22325:20;22343:1;22325:20;:::i;:::-;22320:25;;22359:20;22377:1;22359:20;:::i;:::-;22354:25;;22398:1;22388:35;;22403:18;;:::i;:::-;22388:35;22445:1;22442;22438:9;22433:14;;22268:185;;;;:::o;22459:220::-;22599:34;22595:1;22587:6;22583:14;22576:58;22668:3;22663:2;22655:6;22651:15;22644:28;22459:220;:::o;22685:366::-;22827:3;22848:67;22912:2;22907:3;22848:67;:::i;:::-;22841:74;;22924:93;23013:3;22924:93;:::i;:::-;23042:2;23037:3;23033:12;23026:19;;22685:366;;;:::o;23057:419::-;23223:4;23261:2;23250:9;23246:18;23238:26;;23310:9;23304:4;23300:20;23296:1;23285:9;23281:17;23274:47;23338:131;23464:4;23338:131;:::i;:::-;23330:139;;23057:419;;;:::o;23482:180::-;23530:77;23527:1;23520:88;23627:4;23624:1;23617:15;23651:4;23648:1;23641:15;23668:180;23716:77;23713:1;23706:88;23813:4;23810:1;23803:15;23837:4;23834:1;23827:15;23854:114;23921:6;23955:5;23949:12;23939:22;;23854:114;;;:::o;23974:184::-;24073:11;24107:6;24102:3;24095:19;24147:4;24142:3;24138:14;24123:29;;23974:184;;;;:::o;24164:132::-;24231:4;24254:3;24246:11;;24284:4;24279:3;24275:14;24267:22;;24164:132;;;:::o;24302:108::-;24379:24;24397:5;24379:24;:::i;:::-;24374:3;24367:37;24302:108;;:::o;24416:179::-;24485:10;24506:46;24548:3;24540:6;24506:46;:::i;:::-;24584:4;24579:3;24575:14;24561:28;;24416:179;;;;:::o;24601:113::-;24671:4;24703;24698:3;24694:14;24686:22;;24601:113;;;:::o;24750:732::-;24869:3;24898:54;24946:5;24898:54;:::i;:::-;24968:86;25047:6;25042:3;24968:86;:::i;:::-;24961:93;;25078:56;25128:5;25078:56;:::i;:::-;25157:7;25188:1;25173:284;25198:6;25195:1;25192:13;25173:284;;;25274:6;25268:13;25301:63;25360:3;25345:13;25301:63;:::i;:::-;25294:70;;25387:60;25440:6;25387:60;:::i;:::-;25377:70;;25233:224;25220:1;25217;25213:9;25208:14;;25173:284;;;25177:14;25473:3;25466:10;;24874:608;;;24750:732;;;;:::o;25488:831::-;25751:4;25789:3;25778:9;25774:19;25766:27;;25803:71;25871:1;25860:9;25856:17;25847:6;25803:71;:::i;:::-;25884:80;25960:2;25949:9;25945:18;25936:6;25884:80;:::i;:::-;26011:9;26005:4;26001:20;25996:2;25985:9;25981:18;25974:48;26039:108;26142:4;26133:6;26039:108;:::i;:::-;26031:116;;26157:72;26225:2;26214:9;26210:18;26201:6;26157:72;:::i;:::-;26239:73;26307:3;26296:9;26292:19;26283:6;26239:73;:::i;:::-;25488:831;;;;;;;;:::o;26325:191::-;26365:3;26384:20;26402:1;26384:20;:::i;:::-;26379:25;;26418:20;26436:1;26418:20;:::i;:::-;26413:25;;26461:1;26458;26454:9;26447:16;;26482:3;26479:1;26476:10;26473:36;;;26489:18;;:::i;:::-;26473:36;26325:191;;;;:::o;26522:177::-;26662:29;26658:1;26650:6;26646:14;26639:53;26522:177;:::o;26705:366::-;26847:3;26868:67;26932:2;26927:3;26868:67;:::i;:::-;26861:74;;26944:93;27033:3;26944:93;:::i;:::-;27062:2;27057:3;27053:12;27046:19;;26705:366;;;:::o;27077:419::-;27243:4;27281:2;27270:9;27266:18;27258:26;;27330:9;27324:4;27320:20;27316:1;27305:9;27301:17;27294:47;27358:131;27484:4;27358:131;:::i;:::-;27350:139;;27077:419;;;:::o

Swarm Source

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