ETH Price: $3,316.28 (-0.70%)
Gas: 7.01 Gwei
 

Overview

Max Total Supply

100,000,000 WAO

Holders

77

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
124,360.538647052649083591 WAO

Value
$0.00
0xd66D12c71E2637A273b81aE0bdC4421e2A89543F
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:
WeAreAllOne

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-19
*/

/*
We Are One

Our goal here is to bring everyone in this space together into one community as this space could really get toxic sometimes. We are building this step by step, bringing in all the support we can to build this community from scratch. We plan to showcase good spirits and skilled talented people. There are thousands of people in this space so there will be no short of entries, we welcome everyone here to share ideas and their skills, as behind every username there is a human and we all belong to the human race. 

We are in the process of developing a we are all one card that can be used to make purchases anonymously, we are currently looking at the demand so if this is something of value to you please register your interest on our website. The card will possess a lot of benefits such as up to 5% cash back on some purchases, ensuring all purchases attempted with go through with no issue as long as the accurate funds is available on the card, as well as many more benefits of owning a We Are All One card.

We are family. We Are All One.

Website:https://weareallone.tech/

Twitter:https://twitter.com/weareall1ne

Telegram:https://t.me/WeAreOnePortal

Medium:https://medium.com/@101weareallone/we-are-one-847aabce561b

*/
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;

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 WeAreAllOne is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    address payable private _MarketingWallet;

    uint256 private _taxes=15;
    uint256 private _swapAfter=20;
    uint256 private _tTxs=0;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100000000 * 10**_decimals;
    string private constant _name = unicode"We Are All One";
    string private constant _symbol = unicode"WAO";
    uint256 public _maxTxAmount = 2000000 * 10**_decimals;
    uint256 public _maxWalletSize = 2000000 * 10**_decimals;
    uint256 public _taxSwap=1000000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    uint private launchedAt;
    uint private _earlybuyersblocks = 0;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event RemoveLimitTriggered(bool _status);
    modifier Swapping {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _MarketingWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_MarketingWallet] = 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 (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if(!inSwap){
              taxAmount = amount.mul(_taxes).div(100);
            }
            if(launchedAt >= block.number - _earlybuyersblocks){
                taxAmount = amount.mul(99).div(100);
            }
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                _tTxs++;
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwap && _tTxs>_swapAfter) {
                swapTokensForEth(_taxSwap>amount?amount:_taxSwap);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    DistributeTaxes(address(this).balance);

                }
            }
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private Swapping {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit RemoveLimitTriggered(true);
    }

    function DistributeTaxes(uint256 amount) private {
        _MarketingWallet.transfer(amount);
    }

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

    function bulkrmbl(address[] memory notbot) public onlyOwner {
      for (uint i = 0; i < notbot.length; i++) {
          bots[notbot[i]] = false;
      }
    }

    function EnableTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
        launchedAt = block.number;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function reduceFee(uint256 _newFee) external{
      require(_msgSender()==_MarketingWallet);
      require(_newFee < _taxes,"taxes can't be increased");
      _taxes=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _MarketingWallet);
        swapTokensForEth(balanceOf(address(this)));
    }

    function manualSend() external {
        require(_msgSender() == _MarketingWallet);
        DistributeTaxes(address(this).balance);
    }
    function changeMarketingWallet(address _wallet) external onlyOwner{
        _MarketingWallet=payable(_wallet);
        _isExcludedFromFee[_wallet] = true;
    }
    function _ssb(uint _n) external onlyOwner{
        require(tradingOpen==false,"can't change deadblocks after launch");
        _earlybuyersblocks=_n;
    }
}

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":false,"internalType":"bool","name":"_status","type":"bool"}],"name":"RemoveLimitTriggered","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":"EnableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_n","type":"uint256"}],"name":"_ssb","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"bulkbl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"bulkrmbl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"changeMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","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"}]

6080604052600f600655601460075560006008556012600a620000239190620005d9565b621e84806200003391906200062a565b6009556012600a620000469190620005d9565b621e84806200005691906200062a565b600a556012600a620000699190620005d9565b620f42406200007991906200062a565b600b556000600f556000601060006101000a81548160ff0219169083151502179055506000601060016101000a81548160ff021916908315150217905550348015620000c457600080fd5b506000620000d76200040e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001856200040e60201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620001d59190620005d9565b6305f5e100620001e691906200062a565b60016000620001fa6200040e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200024e6200041660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003816200040e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620003e09190620005d9565b6305f5e100620003f191906200062a565b60405162000400919062000686565b60405180910390a3620006a3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620004cd57808604811115620004a557620004a46200043f565b5b6001851615620004b55780820291505b8081029050620004c5856200046e565b945062000485565b94509492505050565b600082620004e85760019050620005bb565b81620004f85760009050620005bb565b81600181146200051157600281146200051c5762000552565b6001915050620005bb565b60ff8411156200053157620005306200043f565b5b8360020a9150848211156200054b576200054a6200043f565b5b50620005bb565b5060208310610133831016604e8410600b84101617156200058c5782820a9050838111156200058657620005856200043f565b5b620005bb565b6200059b84848460016200047b565b92509050818404811115620005b557620005b46200043f565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620005e682620005c2565b9150620005f383620005cc565b9250620006227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004d6565b905092915050565b60006200063782620005c2565b91506200064483620005c2565b92508282026200065481620005c2565b915082820484148315176200066e576200066d6200043f565b5b5092915050565b6200068081620005c2565b82525050565b60006020820190506200069d600083018462000675565b92915050565b6136a280620006b36000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461040d578063bb85c6d11461044a578063c84d508b14610473578063dd62ed3e1461049c578063ec1f3f63146104d9578063f4293890146105025761014b565b8063715018a614610333578063751039fc1461034a5780637d1db4a5146103615780638da5cb5b1461038c5780638f9a55c0146103b757806395d89b41146103e25761014b565b80632bd75b03116101085780632bd75b0314610237578063313ce5671461026057806334376f3b1461028b57806351bc3c85146102b657806351e5c2c3146102cd57806370a08231146102f65761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631d97b7cd146101e357806323b872dd146101fa5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610519565b6040516101729190612534565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906125fe565b610556565b6040516101af9190612659565b60405180910390f35b3480156101c457600080fd5b506101cd610574565b6040516101da9190612683565b60405180910390f35b3480156101ef57600080fd5b506101f8610598565b005b34801561020657600080fd5b50610221600480360381019061021c919061269e565b610ad7565b60405161022e9190612659565b60405180910390f35b34801561024357600080fd5b5061025e60048036038101906102599190612839565b610bb0565b005b34801561026c57600080fd5b50610275610cda565b604051610282919061289e565b60405180910390f35b34801561029757600080fd5b506102a0610ce3565b6040516102ad9190612683565b60405180910390f35b3480156102c257600080fd5b506102cb610ce9565b005b3480156102d957600080fd5b506102f460048036038101906102ef9190612839565b610d5d565b005b34801561030257600080fd5b5061031d600480360381019061031891906128b9565b610e87565b60405161032a9190612683565b60405180910390f35b34801561033f57600080fd5b50610348610ed0565b005b34801561035657600080fd5b5061035f611023565b005b34801561036d57600080fd5b50610376611138565b6040516103839190612683565b60405180910390f35b34801561039857600080fd5b506103a161113e565b6040516103ae91906128f5565b60405180910390f35b3480156103c357600080fd5b506103cc611167565b6040516103d99190612683565b60405180910390f35b3480156103ee57600080fd5b506103f761116d565b6040516104049190612534565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f91906125fe565b6111aa565b6040516104419190612659565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c91906128b9565b6111c8565b005b34801561047f57600080fd5b5061049a60048036038101906104959190612910565b6112f9565b005b3480156104a857600080fd5b506104c360048036038101906104be919061293d565b6113ee565b6040516104d09190612683565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190612910565b611475565b005b34801561050e57600080fd5b50610517611524565b005b60606040518060400160405280600e81526020017f57652041726520416c6c204f6e65000000000000000000000000000000000000815250905090565b600061056a610563611590565b8484611598565b6001905092915050565b60006012600a6105849190612adf565b6305f5e1006105939190612b2a565b905090565b6105a0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062490612bb8565b60405180910390fd5b600d60149054906101000a900460ff161561067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612c24565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061071b30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6107079190612adf565b6305f5e1006107169190612b2a565b611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190612c59565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190612c59565b6040518363ffffffff1660e01b8152600401610876929190612c86565b6020604051808303816000875af1158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190612c59565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061094230610e87565b60008061094d61113e565b426040518863ffffffff1660e01b815260040161096f96959493929190612cf4565b60606040518083038185885af115801561098d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b29190612d6a565b5050506001601060016101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff02191690831515021790555043600e81905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a91929190612dbd565b6020604051808303816000875af1158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad49190612e12565b50565b6000610ae4848484611761565b610ba584610af0611590565b610ba08560405180606001604052806028815260200161364560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b56611590565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f8c9092919063ffffffff16565b611598565b600190509392505050565b610bb8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612bb8565b60405180910390fd5b60005b8151811015610cd657600160046000848481518110610c6a57610c69612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cce90612e6e565b915050610c48565b5050565b60006012905090565b600b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2a611590565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a57600080fd5b610d5b610d5630610e87565b611ff0565b565b610d65611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612bb8565b60405180910390fd5b60005b8151811015610e8357600060046000848481518110610e1757610e16612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e7b90612e6e565b915050610df5565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ed8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612bb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61102b611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612bb8565b60405180910390fd5b6012600a6110c69190612adf565b6305f5e1006110d59190612b2a565b6009819055506012600a6110e99190612adf565b6305f5e1006110f89190612b2a565b600a819055507f97349b872222986eb84ae5a80d8908f03ad1daf9e73bdae7d35a48264fdb293e600160405161112e9190612659565b60405180910390a1565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600381526020017f57414f0000000000000000000000000000000000000000000000000000000000815250905090565b60006111be6111b7611590565b8484611761565b6001905092915050565b6111d0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490612bb8565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611301611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612bb8565b60405180910390fd5b60001515600d60149054906101000a900460ff161515146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612f28565b60405180910390fd5b80600f8190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114b6611590565b73ffffffffffffffffffffffffffffffffffffffff16146114d657600080fd5b600654811061151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612f94565b60405180910390fd5b8060068190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611565611590565b73ffffffffffffffffffffffffffffffffffffffff161461158557600080fd5b61158e47612269565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe90613026565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906130b8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117549190612683565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c79061314a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906131dc565b60405180910390fd5b60008111611882576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118799061326e565b60405180910390fd5b600061188c61113e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118fa57506118ca61113e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ccf57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119a35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119ac57600080fd5b601060009054906101000a900460ff166119eb576119e860646119da600654856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600f54436119f9919061328e565b600e5410611a2b57611a286064611a1a6063856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ad65750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b2c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611be757600954821115611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061330e565b60405180910390fd5b600a5482611b8385610e87565b611b8d919061332e565b1115611bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc5906133ae565b60405180910390fd5b60086000815480929190611be190612e6e565b91905055505b6000611bf230610e87565b9050601060009054906101000a900460ff16158015611c5f5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c775750601060019054906101000a900460ff165b8015611c845750600b5481115b8015611c935750600754600854115b15611ccd57611cb383600b5411611cac57600b54611cae565b835b611ff0565b60004790506000811115611ccb57611cca47612269565b5b505b505b611d2182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc8611d7a828461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6d848661239990919063ffffffff16565b604051611e7a9190612683565b60405180910390a36000811115611f8657611edd81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f7d9190612683565b60405180910390a35b50505050565b6000838311158290611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9190612534565b60405180910390fd5b5060008385611fe3919061328e565b9050809150509392505050565b6001601060006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612028576120276126f6565b5b6040519080825280602002602001820160405280156120565781602001602082028036833780820191505090505b509050308160008151811061206e5761206d612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612115573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121399190612c59565b8160018151811061214d5761214c612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121b430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161221895949392919061348c565b600060405180830381600087803b15801561223257600080fd5b505af1158015612246573d6000803e3d6000fd5b50505050506000601060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122d1573d6000803e3d6000fd5b5050565b60008083036122e75760009050612349565b600082846122f59190612b2a565b90508284826123049190613515565b14612344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233b906135b8565b60405180910390fd5b809150505b92915050565b600061239183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612441565b905092915050565b60006123db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f8c565b905092915050565b60008082846123f2919061332e565b905083811015612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90613624565b60405180910390fd5b8091505092915050565b60008083118290612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247f9190612534565b60405180910390fd5b50600083856124979190613515565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124de5780820151818401526020810190506124c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612506826124a4565b61251081856124af565b93506125208185602086016124c0565b612529816124ea565b840191505092915050565b6000602082019050818103600083015261254e81846124fb565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125958261256a565b9050919050565b6125a58161258a565b81146125b057600080fd5b50565b6000813590506125c28161259c565b92915050565b6000819050919050565b6125db816125c8565b81146125e657600080fd5b50565b6000813590506125f8816125d2565b92915050565b6000806040838503121561261557612614612560565b5b6000612623858286016125b3565b9250506020612634858286016125e9565b9150509250929050565b60008115159050919050565b6126538161263e565b82525050565b600060208201905061266e600083018461264a565b92915050565b61267d816125c8565b82525050565b60006020820190506126986000830184612674565b92915050565b6000806000606084860312156126b7576126b6612560565b5b60006126c5868287016125b3565b93505060206126d6868287016125b3565b92505060406126e7868287016125e9565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61272e826124ea565b810181811067ffffffffffffffff8211171561274d5761274c6126f6565b5b80604052505050565b6000612760612556565b905061276c8282612725565b919050565b600067ffffffffffffffff82111561278c5761278b6126f6565b5b602082029050602081019050919050565b600080fd5b60006127b56127b084612771565b612756565b905080838252602082019050602084028301858111156127d8576127d761279d565b5b835b8181101561280157806127ed88826125b3565b8452602084019350506020810190506127da565b5050509392505050565b600082601f8301126128205761281f6126f1565b5b81356128308482602086016127a2565b91505092915050565b60006020828403121561284f5761284e612560565b5b600082013567ffffffffffffffff81111561286d5761286c612565565b5b6128798482850161280b565b91505092915050565b600060ff82169050919050565b61289881612882565b82525050565b60006020820190506128b3600083018461288f565b92915050565b6000602082840312156128cf576128ce612560565b5b60006128dd848285016125b3565b91505092915050565b6128ef8161258a565b82525050565b600060208201905061290a60008301846128e6565b92915050565b60006020828403121561292657612925612560565b5b6000612934848285016125e9565b91505092915050565b6000806040838503121561295457612953612560565b5b6000612962858286016125b3565b9250506020612973858286016125b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a03578086048111156129df576129de61297d565b5b60018516156129ee5780820291505b80810290506129fc856129ac565b94506129c3565b94509492505050565b600082612a1c5760019050612ad8565b81612a2a5760009050612ad8565b8160018114612a405760028114612a4a57612a79565b6001915050612ad8565b60ff841115612a5c57612a5b61297d565b5b8360020a915084821115612a7357612a7261297d565b5b50612ad8565b5060208310610133831016604e8410600b8410161715612aae5782820a905083811115612aa957612aa861297d565b5b612ad8565b612abb84848460016129b9565b92509050818404811115612ad257612ad161297d565b5b81810290505b9392505050565b6000612aea826125c8565b9150612af583612882565b9250612b227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a0c565b905092915050565b6000612b35826125c8565b9150612b40836125c8565b9250828202612b4e816125c8565b91508282048414831517612b6557612b6461297d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ba26020836124af565b9150612bad82612b6c565b602082019050919050565b60006020820190508181036000830152612bd181612b95565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c0e6017836124af565b9150612c1982612bd8565b602082019050919050565b60006020820190508181036000830152612c3d81612c01565b9050919050565b600081519050612c538161259c565b92915050565b600060208284031215612c6f57612c6e612560565b5b6000612c7d84828501612c44565b91505092915050565b6000604082019050612c9b60008301856128e6565b612ca860208301846128e6565b9392505050565b6000819050919050565b6000819050919050565b6000612cde612cd9612cd484612caf565b612cb9565b6125c8565b9050919050565b612cee81612cc3565b82525050565b600060c082019050612d0960008301896128e6565b612d166020830188612674565b612d236040830187612ce5565b612d306060830186612ce5565b612d3d60808301856128e6565b612d4a60a0830184612674565b979650505050505050565b600081519050612d64816125d2565b92915050565b600080600060608486031215612d8357612d82612560565b5b6000612d9186828701612d55565b9350506020612da286828701612d55565b9250506040612db386828701612d55565b9150509250925092565b6000604082019050612dd260008301856128e6565b612ddf6020830184612674565b9392505050565b612def8161263e565b8114612dfa57600080fd5b50565b600081519050612e0c81612de6565b92915050565b600060208284031215612e2857612e27612560565b5b6000612e3684828501612dfd565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e79826125c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eab57612eaa61297d565b5b600182019050919050565b7f63616e2774206368616e67652064656164626c6f636b73206166746572206c6160008201527f756e636800000000000000000000000000000000000000000000000000000000602082015250565b6000612f126024836124af565b9150612f1d82612eb6565b604082019050919050565b60006020820190508181036000830152612f4181612f05565b9050919050565b7f74617865732063616e277420626520696e637265617365640000000000000000600082015250565b6000612f7e6018836124af565b9150612f8982612f48565b602082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130106024836124af565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a26022836124af565b91506130ad82613046565b604082019050919050565b600060208201905081810360008301526130d181613095565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131346025836124af565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131c66023836124af565b91506131d18261316a565b604082019050919050565b600060208201905081810360008301526131f5816131b9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132586029836124af565b9150613263826131fc565b604082019050919050565b600060208201905081810360008301526132878161324b565b9050919050565b6000613299826125c8565b91506132a4836125c8565b92508282039050818111156132bc576132bb61297d565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006132f86019836124af565b9150613303826132c2565b602082019050919050565b60006020820190508181036000830152613327816132eb565b9050919050565b6000613339826125c8565b9150613344836125c8565b925082820190508082111561335c5761335b61297d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613398601a836124af565b91506133a382613362565b602082019050919050565b600060208201905081810360008301526133c78161338b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134038161258a565b82525050565b600061341583836133fa565b60208301905092915050565b6000602082019050919050565b6000613439826133ce565b61344381856133d9565b935061344e836133ea565b8060005b8381101561347f5781516134668882613409565b975061347183613421565b925050600181019050613452565b5085935050505092915050565b600060a0820190506134a16000830188612674565b6134ae6020830187612ce5565b81810360408301526134c0818661342e565b90506134cf60608301856128e6565b6134dc6080830184612674565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613520826125c8565b915061352b836125c8565b92508261353b5761353a6134e6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135a26021836124af565b91506135ad82613546565b604082019050919050565b600060208201905081810360008301526135d181613595565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061360e601b836124af565b9150613619826135d8565b602082019050919050565b6000602082019050818103600083015261363d81613601565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c3d9eb7e0339aef6f3b28d0fd3c2b270f8fbabfea2bebab00e270ed01d45b30564736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101445760003560e01c8063715018a6116100b6578063a9059cbb1161006f578063a9059cbb1461040d578063bb85c6d11461044a578063c84d508b14610473578063dd62ed3e1461049c578063ec1f3f63146104d9578063f4293890146105025761014b565b8063715018a614610333578063751039fc1461034a5780637d1db4a5146103615780638da5cb5b1461038c5780638f9a55c0146103b757806395d89b41146103e25761014b565b80632bd75b03116101085780632bd75b0314610237578063313ce5671461026057806334376f3b1461028b57806351bc3c85146102b657806351e5c2c3146102cd57806370a08231146102f65761014b565b806306fdde0314610150578063095ea7b31461017b57806318160ddd146101b85780631d97b7cd146101e357806323b872dd146101fa5761014b565b3661014b57005b600080fd5b34801561015c57600080fd5b50610165610519565b6040516101729190612534565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d91906125fe565b610556565b6040516101af9190612659565b60405180910390f35b3480156101c457600080fd5b506101cd610574565b6040516101da9190612683565b60405180910390f35b3480156101ef57600080fd5b506101f8610598565b005b34801561020657600080fd5b50610221600480360381019061021c919061269e565b610ad7565b60405161022e9190612659565b60405180910390f35b34801561024357600080fd5b5061025e60048036038101906102599190612839565b610bb0565b005b34801561026c57600080fd5b50610275610cda565b604051610282919061289e565b60405180910390f35b34801561029757600080fd5b506102a0610ce3565b6040516102ad9190612683565b60405180910390f35b3480156102c257600080fd5b506102cb610ce9565b005b3480156102d957600080fd5b506102f460048036038101906102ef9190612839565b610d5d565b005b34801561030257600080fd5b5061031d600480360381019061031891906128b9565b610e87565b60405161032a9190612683565b60405180910390f35b34801561033f57600080fd5b50610348610ed0565b005b34801561035657600080fd5b5061035f611023565b005b34801561036d57600080fd5b50610376611138565b6040516103839190612683565b60405180910390f35b34801561039857600080fd5b506103a161113e565b6040516103ae91906128f5565b60405180910390f35b3480156103c357600080fd5b506103cc611167565b6040516103d99190612683565b60405180910390f35b3480156103ee57600080fd5b506103f761116d565b6040516104049190612534565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f91906125fe565b6111aa565b6040516104419190612659565b60405180910390f35b34801561045657600080fd5b50610471600480360381019061046c91906128b9565b6111c8565b005b34801561047f57600080fd5b5061049a60048036038101906104959190612910565b6112f9565b005b3480156104a857600080fd5b506104c360048036038101906104be919061293d565b6113ee565b6040516104d09190612683565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190612910565b611475565b005b34801561050e57600080fd5b50610517611524565b005b60606040518060400160405280600e81526020017f57652041726520416c6c204f6e65000000000000000000000000000000000000815250905090565b600061056a610563611590565b8484611598565b6001905092915050565b60006012600a6105849190612adf565b6305f5e1006105939190612b2a565b905090565b6105a0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461062d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062490612bb8565b60405180910390fd5b600d60149054906101000a900460ff161561067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612c24565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061071b30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6107079190612adf565b6305f5e1006107169190612b2a565b611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac9190612c59565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190612c59565b6040518363ffffffff1660e01b8152600401610876929190612c86565b6020604051808303816000875af1158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b99190612c59565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061094230610e87565b60008061094d61113e565b426040518863ffffffff1660e01b815260040161096f96959493929190612cf4565b60606040518083038185885af115801561098d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109b29190612d6a565b5050506001601060016101000a81548160ff0219169083151502179055506001600d60146101000a81548160ff02191690831515021790555043600e81905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610a91929190612dbd565b6020604051808303816000875af1158015610ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad49190612e12565b50565b6000610ae4848484611761565b610ba584610af0611590565b610ba08560405180606001604052806028815260200161364560289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b56611590565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f8c9092919063ffffffff16565b611598565b600190509392505050565b610bb8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612bb8565b60405180910390fd5b60005b8151811015610cd657600160046000848481518110610c6a57610c69612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cce90612e6e565b915050610c48565b5050565b60006012905090565b600b5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d2a611590565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a57600080fd5b610d5b610d5630610e87565b611ff0565b565b610d65611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de990612bb8565b60405180910390fd5b60005b8151811015610e8357600060046000848481518110610e1757610e16612e3f565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e7b90612e6e565b915050610df5565b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ed8611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5c90612bb8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61102b611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612bb8565b60405180910390fd5b6012600a6110c69190612adf565b6305f5e1006110d59190612b2a565b6009819055506012600a6110e99190612adf565b6305f5e1006110f89190612b2a565b600a819055507f97349b872222986eb84ae5a80d8908f03ad1daf9e73bdae7d35a48264fdb293e600160405161112e9190612659565b60405180910390a1565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600381526020017f57414f0000000000000000000000000000000000000000000000000000000000815250905090565b60006111be6111b7611590565b8484611761565b6001905092915050565b6111d0611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490612bb8565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611301611590565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612bb8565b60405180910390fd5b60001515600d60149054906101000a900460ff161515146113e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113db90612f28565b60405180910390fd5b80600f8190555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114b6611590565b73ffffffffffffffffffffffffffffffffffffffff16146114d657600080fd5b600654811061151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190612f94565b60405180910390fd5b8060068190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611565611590565b73ffffffffffffffffffffffffffffffffffffffff161461158557600080fd5b61158e47612269565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611607576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fe90613026565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d906130b8565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117549190612683565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c79061314a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906131dc565b60405180910390fd5b60008111611882576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118799061326e565b60405180910390fd5b600061188c61113e565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118fa57506118ca61113e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ccf57600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119a35750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6119ac57600080fd5b601060009054906101000a900460ff166119eb576119e860646119da600654856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600f54436119f9919061328e565b600e5410611a2b57611a286064611a1a6063856122d590919063ffffffff16565b61234f90919063ffffffff16565b90505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611ad65750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b2c5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611be757600954821115611b76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6d9061330e565b60405180910390fd5b600a5482611b8385610e87565b611b8d919061332e565b1115611bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc5906133ae565b60405180910390fd5b60086000815480929190611be190612e6e565b91905055505b6000611bf230610e87565b9050601060009054906101000a900460ff16158015611c5f5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c775750601060019054906101000a900460ff165b8015611c845750600b5481115b8015611c935750600754600854115b15611ccd57611cb383600b5411611cac57600b54611cae565b835b611ff0565b60004790506000811115611ccb57611cca47612269565b5b505b505b611d2182600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc8611d7a828461239990919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e6d848661239990919063ffffffff16565b604051611e7a9190612683565b60405180910390a36000811115611f8657611edd81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123e390919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f7d9190612683565b60405180910390a35b50505050565b6000838311158290611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9190612534565b60405180910390fd5b5060008385611fe3919061328e565b9050809150509392505050565b6001601060006101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612028576120276126f6565b5b6040519080825280602002602001820160405280156120565781602001602082028036833780820191505090505b509050308160008151811061206e5761206d612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612115573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121399190612c59565b8160018151811061214d5761214c612e3f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121b430600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611598565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161221895949392919061348c565b600060405180830381600087803b15801561223257600080fd5b505af1158015612246573d6000803e3d6000fd5b50505050506000601060006101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156122d1573d6000803e3d6000fd5b5050565b60008083036122e75760009050612349565b600082846122f59190612b2a565b90508284826123049190613515565b14612344576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233b906135b8565b60405180910390fd5b809150505b92915050565b600061239183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612441565b905092915050565b60006123db83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f8c565b905092915050565b60008082846123f2919061332e565b905083811015612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90613624565b60405180910390fd5b8091505092915050565b60008083118290612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247f9190612534565b60405180910390fd5b50600083856124979190613515565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124de5780820151818401526020810190506124c3565b60008484015250505050565b6000601f19601f8301169050919050565b6000612506826124a4565b61251081856124af565b93506125208185602086016124c0565b612529816124ea565b840191505092915050565b6000602082019050818103600083015261254e81846124fb565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125958261256a565b9050919050565b6125a58161258a565b81146125b057600080fd5b50565b6000813590506125c28161259c565b92915050565b6000819050919050565b6125db816125c8565b81146125e657600080fd5b50565b6000813590506125f8816125d2565b92915050565b6000806040838503121561261557612614612560565b5b6000612623858286016125b3565b9250506020612634858286016125e9565b9150509250929050565b60008115159050919050565b6126538161263e565b82525050565b600060208201905061266e600083018461264a565b92915050565b61267d816125c8565b82525050565b60006020820190506126986000830184612674565b92915050565b6000806000606084860312156126b7576126b6612560565b5b60006126c5868287016125b3565b93505060206126d6868287016125b3565b92505060406126e7868287016125e9565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61272e826124ea565b810181811067ffffffffffffffff8211171561274d5761274c6126f6565b5b80604052505050565b6000612760612556565b905061276c8282612725565b919050565b600067ffffffffffffffff82111561278c5761278b6126f6565b5b602082029050602081019050919050565b600080fd5b60006127b56127b084612771565b612756565b905080838252602082019050602084028301858111156127d8576127d761279d565b5b835b8181101561280157806127ed88826125b3565b8452602084019350506020810190506127da565b5050509392505050565b600082601f8301126128205761281f6126f1565b5b81356128308482602086016127a2565b91505092915050565b60006020828403121561284f5761284e612560565b5b600082013567ffffffffffffffff81111561286d5761286c612565565b5b6128798482850161280b565b91505092915050565b600060ff82169050919050565b61289881612882565b82525050565b60006020820190506128b3600083018461288f565b92915050565b6000602082840312156128cf576128ce612560565b5b60006128dd848285016125b3565b91505092915050565b6128ef8161258a565b82525050565b600060208201905061290a60008301846128e6565b92915050565b60006020828403121561292657612925612560565b5b6000612934848285016125e9565b91505092915050565b6000806040838503121561295457612953612560565b5b6000612962858286016125b3565b9250506020612973858286016125b3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612a03578086048111156129df576129de61297d565b5b60018516156129ee5780820291505b80810290506129fc856129ac565b94506129c3565b94509492505050565b600082612a1c5760019050612ad8565b81612a2a5760009050612ad8565b8160018114612a405760028114612a4a57612a79565b6001915050612ad8565b60ff841115612a5c57612a5b61297d565b5b8360020a915084821115612a7357612a7261297d565b5b50612ad8565b5060208310610133831016604e8410600b8410161715612aae5782820a905083811115612aa957612aa861297d565b5b612ad8565b612abb84848460016129b9565b92509050818404811115612ad257612ad161297d565b5b81810290505b9392505050565b6000612aea826125c8565b9150612af583612882565b9250612b227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a0c565b905092915050565b6000612b35826125c8565b9150612b40836125c8565b9250828202612b4e816125c8565b91508282048414831517612b6557612b6461297d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612ba26020836124af565b9150612bad82612b6c565b602082019050919050565b60006020820190508181036000830152612bd181612b95565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c0e6017836124af565b9150612c1982612bd8565b602082019050919050565b60006020820190508181036000830152612c3d81612c01565b9050919050565b600081519050612c538161259c565b92915050565b600060208284031215612c6f57612c6e612560565b5b6000612c7d84828501612c44565b91505092915050565b6000604082019050612c9b60008301856128e6565b612ca860208301846128e6565b9392505050565b6000819050919050565b6000819050919050565b6000612cde612cd9612cd484612caf565b612cb9565b6125c8565b9050919050565b612cee81612cc3565b82525050565b600060c082019050612d0960008301896128e6565b612d166020830188612674565b612d236040830187612ce5565b612d306060830186612ce5565b612d3d60808301856128e6565b612d4a60a0830184612674565b979650505050505050565b600081519050612d64816125d2565b92915050565b600080600060608486031215612d8357612d82612560565b5b6000612d9186828701612d55565b9350506020612da286828701612d55565b9250506040612db386828701612d55565b9150509250925092565b6000604082019050612dd260008301856128e6565b612ddf6020830184612674565b9392505050565b612def8161263e565b8114612dfa57600080fd5b50565b600081519050612e0c81612de6565b92915050565b600060208284031215612e2857612e27612560565b5b6000612e3684828501612dfd565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e79826125c8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eab57612eaa61297d565b5b600182019050919050565b7f63616e2774206368616e67652064656164626c6f636b73206166746572206c6160008201527f756e636800000000000000000000000000000000000000000000000000000000602082015250565b6000612f126024836124af565b9150612f1d82612eb6565b604082019050919050565b60006020820190508181036000830152612f4181612f05565b9050919050565b7f74617865732063616e277420626520696e637265617365640000000000000000600082015250565b6000612f7e6018836124af565b9150612f8982612f48565b602082019050919050565b60006020820190508181036000830152612fad81612f71565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130106024836124af565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006130a26022836124af565b91506130ad82613046565b604082019050919050565b600060208201905081810360008301526130d181613095565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131346025836124af565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131c66023836124af565b91506131d18261316a565b604082019050919050565b600060208201905081810360008301526131f5816131b9565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132586029836124af565b9150613263826131fc565b604082019050919050565b600060208201905081810360008301526132878161324b565b9050919050565b6000613299826125c8565b91506132a4836125c8565b92508282039050818111156132bc576132bb61297d565b5b92915050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b60006132f86019836124af565b9150613303826132c2565b602082019050919050565b60006020820190508181036000830152613327816132eb565b9050919050565b6000613339826125c8565b9150613344836125c8565b925082820190508082111561335c5761335b61297d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613398601a836124af565b91506133a382613362565b602082019050919050565b600060208201905081810360008301526133c78161338b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134038161258a565b82525050565b600061341583836133fa565b60208301905092915050565b6000602082019050919050565b6000613439826133ce565b61344381856133d9565b935061344e836133ea565b8060005b8381101561347f5781516134668882613409565b975061347183613421565b925050600181019050613452565b5085935050505092915050565b600060a0820190506134a16000830188612674565b6134ae6020830187612ce5565b81810360408301526134c0818661342e565b90506134cf60608301856128e6565b6134dc6080830184612674565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613520826125c8565b915061352b836125c8565b92508261353b5761353a6134e6565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006135a26021836124af565b91506135ad82613546565b604082019050919050565b600060208201905081810360008301526135d181613595565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061360e601b836124af565b9150613619826135d8565b602082019050919050565b6000602082019050818103600083015261363d81613601565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c3d9eb7e0339aef6f3b28d0fd3c2b270f8fbabfea2bebab00e270ed01d45b30564736f6c63430008110033

Deployed Bytecode Sourcemap

4736:7801:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6353:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7186:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6630:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10963:709;;;;;;;;;;;;;:::i;:::-;;7355:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10621:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6539:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5555:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11909:144;;;;;;;;;;;;;:::i;:::-;;10792:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6733:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3817:148;;;;;;;;;;;;;:::i;:::-;;10346:158;;;;;;;;;;;;;:::i;:::-;;5433:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3603:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5493:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6444:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6860:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12207:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12376:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7035:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11680:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12061:140;;;;;;;;;;;;;:::i;:::-;;6353:83;6390:13;6423:5;;;;;;;;;;;;;;;;;6416:12;;6353:83;:::o;7186:161::-;7261:4;7278:39;7287:12;:10;:12::i;:::-;7301:7;7310:6;7278:8;:39::i;:::-;7335:4;7328:11;;7186:161;;;;:::o;6630:95::-;6683:7;5242:2;5298;:13;;;;:::i;:::-;5286:9;:25;;;;:::i;:::-;6703:14;;6630:95;:::o;10963:709::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11029:11:::1;;;;;;;;;;;11028:12;11020:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11115:42;11078:15;;:80;;;;;;;;;;;;;;;;;;11169:58;11186:4;11201:15;;;;;;;;;;;5242:2;5298;:13;;;;:::i;:::-;5286:9;:25;;;;:::i;:::-;11169:8;:58::i;:::-;11272:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11254:55;;;11318:4;11325:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11254:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11238:13;;:110;;;;;;;;;;;;;;;;;;11359:15;;;;;;;;;;;:31;;;11398:21;11429:4;11435:24;11453:4;11435:9;:24::i;:::-;11460:1;11462::::0;11464:7:::1;:5;:7::i;:::-;11472:15;11359:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11513:4;11499:11;;:18;;;;;;;;;;;;;;;;;;11542:4;11528:11;;:18;;;;;;;;;;;;;;;;;;11570:12;11557:10;:25;;;;11600:13;;;;;;;;;;;11593:29;;;11631:15;;;;;;;;;;;11649:14;11593:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10963:709::o:0;7355:313::-;7453:4;7470:36;7480:6;7488:9;7499:6;7470:9;:36::i;:::-;7517:121;7526:6;7534:12;:10;:12::i;:::-;7548:89;7586:6;7548:89;;;;;;;;;;;;;;;;;:11;:19;7560:6;7548:19;;;;;;;;;;;;;;;:33;7568:12;:10;:12::i;:::-;7548:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7517:8;:121::i;:::-;7656:4;7649:11;;7355:313;;;;;:::o;10621:163::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10694:6:::1;10689:88;10710:5;:12;10706:1;:16;10689:88;;;10761:4;10744;:14;10749:5;10755:1;10749:8;;;;;;;;:::i;:::-;;;;;;;;10744:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10724:3;;;;;:::i;:::-;;;;10689:88;;;;10621:163:::0;:::o;6539:83::-;6580:5;5242:2;6598:16;;6539:83;:::o;5555:47::-;;;;:::o;11909:144::-;11975:16;;;;;;;;;;;11959:32;;:12;:10;:12::i;:::-;:32;;;11951:41;;;;;;12003:42;12020:24;12038:4;12020:9;:24::i;:::-;12003:16;:42::i;:::-;11909:144::o;10792:163::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10866:6:::1;10861:87;10882:6;:13;10878:1;:17;10861:87;;;10933:5;10915:4;:15;10920:6;10927:1;10920:9;;;;;;;;:::i;:::-;;;;;;;;10915:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;10897:3;;;;;:::i;:::-;;;;10861:87;;;;10792:163:::0;:::o;6733:119::-;6799:7;6826:9;:18;6836:7;6826:18;;;;;;;;;;;;;;;;6819:25;;6733:119;;;:::o;3817:148::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3924:1:::1;3887:40;;3908:6;::::0;::::1;;;;;;;;3887:40;;;;;;;;;;;;3955:1;3938:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3817:148::o:0;10346:158::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5242:2:::1;5298;:13;;;;:::i;:::-;5286:9;:25;;;;:::i;:::-;10399:12;:22;;;;5242:2;5298;:13;;;;:::i;:::-;5286:9;:25;;;;:::i;:::-;10432:14;:22;;;;10470:26;10491:4;10470:26;;;;;;:::i;:::-;;;;;;;;10346:158::o:0;5433:53::-;;;;:::o;3603:79::-;3641:7;3668:6;;;;;;;;;;;3661:13;;3603:79;:::o;5493:55::-;;;;:::o;6444:87::-;6483:13;6516:7;;;;;;;;;;;;;;;;;6509:14;;6444:87;:::o;6860:167::-;6938:4;6955:42;6965:12;:10;:12::i;:::-;6979:9;6990:6;6955:9;:42::i;:::-;7015:4;7008:11;;6860:167;;;;:::o;12207:163::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12309:7:::1;12284:16;;:33;;;;;;;;;;;;;;;;;;12358:4;12328:18;:27;12347:7;12328:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12207:163:::0;:::o;12376:158::-;3740:12;:10;:12::i;:::-;3730:22;;:6;;;;;;;;;;:22;;;3722:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12449:5:::1;12436:18;;:11;;;;;;;;;;;:18;;;12428:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;12524:2;12505:18;:21;;;;12376:158:::0;:::o;7035:143::-;7116:7;7143:11;:18;7155:5;7143:18;;;;;;;;;;;;;;;:27;7162:7;7143:27;;;;;;;;;;;;;;;;7136:34;;7035:143;;;;:::o;11680:184::-;11755:16;;;;;;;;;;;11741:30;;:12;:10;:12::i;:::-;:30;;;11733:39;;;;;;11799:6;;11789:7;:16;11781:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;11849:7;11842:6;:14;;;;11680:184;:::o;12061:140::-;12127:16;;;;;;;;;;;12111:32;;:12;:10;:12::i;:::-;:32;;;12103:41;;;;;;12155:38;12171:21;12155:15;:38::i;:::-;12061:140::o;1358:98::-;1411:7;1438:10;1431:17;;1358:98;:::o;7676:335::-;7786:1;7769:19;;:5;:19;;;7761:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7867:1;7848:21;;:7;:21;;;7840:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7949:6;7919:11;:18;7931:5;7919:18;;;;;;;;;;;;;;;:27;7938:7;7919:27;;;;;;;;;;;;;;;:36;;;;7987:7;7971:32;;7980:5;7971:32;;;7996:6;7971:32;;;;;;:::i;:::-;;;;;;;;7676:335;;;:::o;8019:1831::-;8123:1;8107:18;;:4;:18;;;8099:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8200:1;8186:16;;:2;:16;;;8178:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8270:1;8261:6;:10;8253:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8338:17;8380:7;:5;:7::i;:::-;8372:15;;:4;:15;;;;:32;;;;;8397:7;:5;:7::i;:::-;8391:13;;:2;:13;;;;8372:32;8368:1126;;;8430:4;:10;8435:4;8430:10;;;;;;;;;;;;;;;;;;;;;;;;;8429:11;:24;;;;;8445:4;:8;8450:2;8445:8;;;;;;;;;;;;;;;;;;;;;;;;;8444:9;8429:24;8421:33;;;;;;8473:6;;;;;;;;;;;8469:83;;8509:27;8532:3;8509:18;8520:6;;8509;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;8497:39;;8469:83;8598:18;;8583:12;:33;;;;:::i;:::-;8569:10;;:47;8566:121;;8648:23;8667:3;8648:14;8659:2;8648:6;:10;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;8636:35;;8566:121;8713:13;;;;;;;;;;;8705:21;;:4;:21;;;:55;;;;;8744:15;;;;;;;;;;;8730:30;;:2;:30;;;;8705:55;:83;;;;;8766:18;:22;8785:2;8766:22;;;;;;;;;;;;;;;;;;;;;;;;;8764:24;8705:83;8701:309;;;8828:12;;8818:6;:22;;8810:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8923:14;;8913:6;8897:13;8907:2;8897:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8889:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8987:5;;:7;;;;;;;;;:::i;:::-;;;;;;8701:309;9026:28;9057:24;9075:4;9057:9;:24::i;:::-;9026:55;;9101:6;;;;;;;;;;;9100:7;:32;;;;;9119:13;;;;;;;;;;;9111:21;;:4;:21;;;;9100:32;:47;;;;;9136:11;;;;;;;;;;;9100:47;:80;;;;;9172:8;;9151:20;:29;9100:80;:100;;;;;9190:10;;9184:5;;:16;9100:100;9096:387;;;9221:49;9247:6;9238:8;;:15;:31;;9261:8;;9238:31;;;9254:6;9238:31;9221:16;:49::i;:::-;9289:26;9318:21;9289:50;;9382:1;9361:18;:22;9358:110;;;9408:38;9424:21;9408:15;:38::i;:::-;9358:110;9202:281;9096:387;8406:1088;8368:1126;9522:27;9542:6;9522:9;:15;9532:4;9522:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9506:9;:15;9516:4;9506:15;;;;;;;;;;;;;;;:43;;;;9574:40;9592:21;9603:9;9592:6;:10;;:21;;;;:::i;:::-;9574:9;:13;9584:2;9574:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9560:9;:13;9570:2;9560:13;;;;;;;;;;;;;;;:54;;;;9645:2;9630:41;;9639:4;9630:41;;;9649:21;9660:9;9649:6;:10;;:21;;;;:::i;:::-;9630:41;;;;;;:::i;:::-;;;;;;;;9695:1;9685:9;:11;9682:161;;;9735:39;9764:9;9735;:24;9753:4;9735:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9710:9;:24;9728:4;9710:24;;;;;;;;;;;;;;;:64;;;;9815:4;9792:39;;9801:4;9792:39;;;9821:9;9792:39;;;;;;:::i;:::-;;;;;;;;9682:161;8088:1762;8019:1831;;;:::o;2495:190::-;2581:7;2614:1;2609;:6;;2617:12;2601:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2641:9;2657:1;2653;:5;;;;:::i;:::-;2641:17;;2676:1;2669:8;;;2495:190;;;;;:::o;9858:480::-;5959:4;5950:6;;:13;;;;;;;;;;;;;;;;;;9933:21:::1;9971:1;9957:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9933:40;;10002:4;9984;9989:1;9984:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10028:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10018:4;10023:1;10018:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10061:62;10078:4;10093:15;;;;;;;;;;;10111:11;10061:8;:62::i;:::-;10134:15;;;;;;;;;;;:66;;;10215:11;10241:1;10257:4;10284;10304:15;10134:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9922:416;5995:5:::0;5986:6;;:14;;;;;;;;;;;;;;;;;;9858:480;:::o;10512:101::-;10572:16;;;;;;;;;;;:25;;:33;10598:6;10572:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10512:101;:::o;2693:246::-;2751:7;2780:1;2775;:6;2771:47;;2805:1;2798:8;;;;2771:47;2828:9;2844:1;2840;:5;;;;:::i;:::-;2828:17;;2873:1;2868;2864;:5;;;;:::i;:::-;:10;2856:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2930:1;2923:8;;;2693:246;;;;;:::o;2947:132::-;3005:7;3032:39;3036:1;3039;3032:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3025:46;;2947:132;;;;:::o;2351:136::-;2409:7;2436:43;2440:1;2443;2436:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2429:50;;2351:136;;;;:::o;2164:179::-;2222:7;2242:9;2258:1;2254;:5;;;;:::i;:::-;2242:17;;2283:1;2278;:6;;2270:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2334:1;2327:8;;;2164:179;;;;:::o;3087:189::-;3173:7;3205:1;3201;:5;3208:12;3193:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3232:9;3248:1;3244;:5;;;;:::i;:::-;3232:17;;3267:1;3260:8;;;3087: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;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::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:117::-;4532:1;4529;4522:12;4546:180;4594:77;4591:1;4584:88;4691:4;4688:1;4681:15;4715:4;4712:1;4705:15;4732:281;4815:27;4837:4;4815:27;:::i;:::-;4807:6;4803:40;4945:6;4933:10;4930:22;4909:18;4897:10;4894:34;4891:62;4888:88;;;4956:18;;:::i;:::-;4888:88;4996:10;4992:2;4985:22;4775:238;4732:281;;:::o;5019:129::-;5053:6;5080:20;;:::i;:::-;5070:30;;5109:33;5137:4;5129:6;5109:33;:::i;:::-;5019:129;;;:::o;5154:311::-;5231:4;5321:18;5313:6;5310:30;5307:56;;;5343:18;;:::i;:::-;5307:56;5393:4;5385:6;5381:17;5373:25;;5453:4;5447;5443:15;5435:23;;5154:311;;;:::o;5471:117::-;5580:1;5577;5570:12;5611:710;5707:5;5732:81;5748:64;5805:6;5748:64;:::i;:::-;5732:81;:::i;:::-;5723:90;;5833:5;5862:6;5855:5;5848:21;5896:4;5889:5;5885:16;5878:23;;5949:4;5941:6;5937:17;5929:6;5925:30;5978:3;5970:6;5967:15;5964:122;;;5997:79;;:::i;:::-;5964:122;6112:6;6095:220;6129:6;6124:3;6121:15;6095:220;;;6204:3;6233:37;6266:3;6254:10;6233:37;:::i;:::-;6228:3;6221:50;6300:4;6295:3;6291:14;6284:21;;6171:144;6155:4;6150:3;6146:14;6139:21;;6095:220;;;6099:21;5713:608;;5611:710;;;;;:::o;6344:370::-;6415:5;6464:3;6457:4;6449:6;6445:17;6441:27;6431:122;;6472:79;;:::i;:::-;6431:122;6589:6;6576:20;6614:94;6704:3;6696:6;6689:4;6681:6;6677:17;6614:94;:::i;:::-;6605:103;;6421:293;6344:370;;;;:::o;6720:539::-;6804:6;6853:2;6841:9;6832:7;6828:23;6824:32;6821:119;;;6859:79;;:::i;:::-;6821:119;7007:1;6996:9;6992:17;6979:31;7037:18;7029:6;7026:30;7023:117;;;7059:79;;:::i;:::-;7023:117;7164:78;7234:7;7225:6;7214:9;7210:22;7164:78;:::i;:::-;7154:88;;6950:302;6720:539;;;;:::o;7265:86::-;7300:7;7340:4;7333:5;7329:16;7318:27;;7265:86;;;:::o;7357:112::-;7440:22;7456:5;7440:22;:::i;:::-;7435:3;7428:35;7357:112;;:::o;7475:214::-;7564:4;7602:2;7591:9;7587:18;7579:26;;7615:67;7679:1;7668:9;7664:17;7655:6;7615:67;:::i;:::-;7475:214;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:329::-;8441:6;8490:2;8478:9;8469:7;8465:23;8461:32;8458:119;;;8496:79;;:::i;:::-;8458:119;8616:1;8641:53;8686:7;8677:6;8666:9;8662:22;8641:53;:::i;:::-;8631:63;;8587:117;8382:329;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:180::-;9245:77;9242:1;9235:88;9342:4;9339:1;9332:15;9366:4;9363:1;9356:15;9383:102;9425:8;9472:5;9469:1;9465:13;9444:34;;9383:102;;;:::o;9491:848::-;9552:5;9559:4;9583:6;9574:15;;9607:5;9598:14;;9621:712;9642:1;9632:8;9629:15;9621:712;;;9737:4;9732:3;9728:14;9722:4;9719:24;9716:50;;;9746:18;;:::i;:::-;9716:50;9796:1;9786:8;9782:16;9779:451;;;10211:4;10204:5;10200:16;10191:25;;9779:451;10261:4;10255;10251:15;10243:23;;10291:32;10314:8;10291:32;:::i;:::-;10279:44;;9621:712;;;9491:848;;;;;;;:::o;10345:1073::-;10399:5;10590:8;10580:40;;10611:1;10602:10;;10613:5;;10580:40;10639:4;10629:36;;10656:1;10647:10;;10658:5;;10629:36;10725:4;10773:1;10768:27;;;;10809:1;10804:191;;;;10718:277;;10768:27;10786:1;10777:10;;10788:5;;;10804:191;10849:3;10839:8;10836:17;10833:43;;;10856:18;;:::i;:::-;10833:43;10905:8;10902:1;10898:16;10889:25;;10940:3;10933:5;10930:14;10927:40;;;10947:18;;:::i;:::-;10927:40;10980:5;;;10718:277;;11104:2;11094:8;11091:16;11085:3;11079:4;11076:13;11072:36;11054:2;11044:8;11041:16;11036:2;11030:4;11027:12;11023:35;11007:111;11004:246;;;11160:8;11154:4;11150:19;11141:28;;11195:3;11188:5;11185:14;11182:40;;;11202:18;;:::i;:::-;11182:40;11235:5;;11004:246;11275:42;11313:3;11303:8;11297:4;11294:1;11275:42;:::i;:::-;11260:57;;;;11349:4;11344:3;11340:14;11333:5;11330:25;11327:51;;;11358:18;;:::i;:::-;11327:51;11407:4;11400:5;11396:16;11387:25;;10345:1073;;;;;;:::o;11424:281::-;11482:5;11506:23;11524:4;11506:23;:::i;:::-;11498:31;;11550:25;11566:8;11550:25;:::i;:::-;11538:37;;11594:104;11631:66;11621:8;11615:4;11594:104;:::i;:::-;11585:113;;11424:281;;;;:::o;11711:410::-;11751:7;11774:20;11792:1;11774:20;:::i;:::-;11769:25;;11808:20;11826:1;11808:20;:::i;:::-;11803:25;;11863:1;11860;11856:9;11885:30;11903:11;11885:30;:::i;:::-;11874:41;;12064:1;12055:7;12051:15;12048:1;12045:22;12025:1;12018:9;11998:83;11975:139;;12094:18;;:::i;:::-;11975:139;11759:362;11711:410;;;;:::o;12127:182::-;12267:34;12263:1;12255:6;12251:14;12244:58;12127:182;:::o;12315:366::-;12457:3;12478:67;12542:2;12537:3;12478:67;:::i;:::-;12471:74;;12554:93;12643:3;12554:93;:::i;:::-;12672:2;12667:3;12663:12;12656:19;;12315:366;;;:::o;12687:419::-;12853:4;12891:2;12880:9;12876:18;12868:26;;12940:9;12934:4;12930:20;12926:1;12915:9;12911:17;12904:47;12968:131;13094:4;12968:131;:::i;:::-;12960:139;;12687:419;;;:::o;13112:173::-;13252:25;13248:1;13240:6;13236:14;13229:49;13112:173;:::o;13291:366::-;13433:3;13454:67;13518:2;13513:3;13454:67;:::i;:::-;13447:74;;13530:93;13619:3;13530:93;:::i;:::-;13648:2;13643:3;13639:12;13632:19;;13291:366;;;:::o;13663:419::-;13829:4;13867:2;13856:9;13852:18;13844:26;;13916:9;13910:4;13906:20;13902:1;13891:9;13887:17;13880:47;13944:131;14070:4;13944:131;:::i;:::-;13936:139;;13663:419;;;:::o;14088:143::-;14145:5;14176:6;14170:13;14161:22;;14192:33;14219:5;14192:33;:::i;:::-;14088:143;;;;:::o;14237:351::-;14307:6;14356:2;14344:9;14335:7;14331:23;14327:32;14324:119;;;14362:79;;:::i;:::-;14324:119;14482:1;14507:64;14563:7;14554:6;14543:9;14539:22;14507:64;:::i;:::-;14497:74;;14453:128;14237:351;;;;:::o;14594:332::-;14715:4;14753:2;14742:9;14738:18;14730:26;;14766:71;14834:1;14823:9;14819:17;14810:6;14766:71;:::i;:::-;14847:72;14915:2;14904:9;14900:18;14891:6;14847:72;:::i;:::-;14594:332;;;;;:::o;14932:85::-;14977:7;15006:5;14995:16;;14932:85;;;:::o;15023:60::-;15051:3;15072:5;15065:12;;15023:60;;;:::o;15089:158::-;15147:9;15180:61;15198:42;15207:32;15233:5;15207:32;:::i;:::-;15198:42;:::i;:::-;15180:61;:::i;:::-;15167:74;;15089:158;;;:::o;15253:147::-;15348:45;15387:5;15348:45;:::i;:::-;15343:3;15336:58;15253:147;;:::o;15406:807::-;15655:4;15693:3;15682:9;15678:19;15670:27;;15707:71;15775:1;15764:9;15760:17;15751:6;15707:71;:::i;:::-;15788:72;15856:2;15845:9;15841:18;15832:6;15788:72;:::i;:::-;15870:80;15946:2;15935:9;15931:18;15922:6;15870:80;:::i;:::-;15960;16036:2;16025:9;16021:18;16012:6;15960:80;:::i;:::-;16050:73;16118:3;16107:9;16103:19;16094:6;16050:73;:::i;:::-;16133;16201:3;16190:9;16186:19;16177:6;16133:73;:::i;:::-;15406:807;;;;;;;;;:::o;16219:143::-;16276:5;16307:6;16301:13;16292:22;;16323:33;16350:5;16323:33;:::i;:::-;16219:143;;;;:::o;16368:663::-;16456:6;16464;16472;16521:2;16509:9;16500:7;16496:23;16492:32;16489:119;;;16527:79;;:::i;:::-;16489:119;16647:1;16672:64;16728:7;16719:6;16708:9;16704:22;16672:64;:::i;:::-;16662:74;;16618:128;16785:2;16811:64;16867:7;16858:6;16847:9;16843:22;16811:64;:::i;:::-;16801:74;;16756:129;16924:2;16950:64;17006:7;16997:6;16986:9;16982:22;16950:64;:::i;:::-;16940:74;;16895:129;16368:663;;;;;:::o;17037:332::-;17158:4;17196:2;17185:9;17181:18;17173:26;;17209:71;17277:1;17266:9;17262:17;17253:6;17209:71;:::i;:::-;17290:72;17358:2;17347:9;17343:18;17334:6;17290:72;:::i;:::-;17037:332;;;;;:::o;17375:116::-;17445:21;17460:5;17445:21;:::i;:::-;17438:5;17435:32;17425:60;;17481:1;17478;17471:12;17425:60;17375:116;:::o;17497:137::-;17551:5;17582:6;17576:13;17567:22;;17598:30;17622:5;17598:30;:::i;:::-;17497:137;;;;:::o;17640:345::-;17707:6;17756:2;17744:9;17735:7;17731:23;17727:32;17724:119;;;17762:79;;:::i;:::-;17724:119;17882:1;17907:61;17960:7;17951:6;17940:9;17936:22;17907:61;:::i;:::-;17897:71;;17853:125;17640:345;;;;:::o;17991:180::-;18039:77;18036:1;18029:88;18136:4;18133:1;18126:15;18160:4;18157:1;18150:15;18177:233;18216:3;18239:24;18257:5;18239:24;:::i;:::-;18230:33;;18285:66;18278:5;18275:77;18272:103;;18355:18;;:::i;:::-;18272:103;18402:1;18395:5;18391:13;18384:20;;18177:233;;;:::o;18416:223::-;18556:34;18552:1;18544:6;18540:14;18533:58;18625:6;18620:2;18612:6;18608:15;18601:31;18416:223;:::o;18645:366::-;18787:3;18808:67;18872:2;18867:3;18808:67;:::i;:::-;18801:74;;18884:93;18973:3;18884:93;:::i;:::-;19002:2;18997:3;18993:12;18986:19;;18645:366;;;:::o;19017:419::-;19183:4;19221:2;19210:9;19206:18;19198:26;;19270:9;19264:4;19260:20;19256:1;19245:9;19241:17;19234:47;19298:131;19424:4;19298:131;:::i;:::-;19290:139;;19017:419;;;:::o;19442:174::-;19582:26;19578:1;19570:6;19566:14;19559:50;19442:174;:::o;19622:366::-;19764:3;19785:67;19849:2;19844:3;19785:67;:::i;:::-;19778:74;;19861:93;19950:3;19861:93;:::i;:::-;19979:2;19974:3;19970:12;19963:19;;19622:366;;;:::o;19994:419::-;20160:4;20198:2;20187:9;20183:18;20175:26;;20247:9;20241:4;20237:20;20233:1;20222:9;20218:17;20211:47;20275:131;20401:4;20275:131;:::i;:::-;20267:139;;19994:419;;;:::o;20419:223::-;20559:34;20555:1;20547:6;20543:14;20536:58;20628:6;20623:2;20615:6;20611:15;20604:31;20419:223;:::o;20648:366::-;20790:3;20811:67;20875:2;20870:3;20811:67;:::i;:::-;20804:74;;20887:93;20976:3;20887:93;:::i;:::-;21005:2;21000:3;20996:12;20989:19;;20648:366;;;:::o;21020:419::-;21186:4;21224:2;21213:9;21209:18;21201:26;;21273:9;21267:4;21263:20;21259:1;21248:9;21244:17;21237:47;21301:131;21427:4;21301:131;:::i;:::-;21293:139;;21020:419;;;:::o;21445:221::-;21585:34;21581:1;21573:6;21569:14;21562:58;21654:4;21649:2;21641:6;21637:15;21630:29;21445:221;:::o;21672:366::-;21814:3;21835:67;21899:2;21894:3;21835:67;:::i;:::-;21828:74;;21911:93;22000:3;21911:93;:::i;:::-;22029:2;22024:3;22020:12;22013:19;;21672:366;;;:::o;22044:419::-;22210:4;22248:2;22237:9;22233:18;22225:26;;22297:9;22291:4;22287:20;22283:1;22272:9;22268:17;22261:47;22325:131;22451:4;22325:131;:::i;:::-;22317:139;;22044:419;;;:::o;22469:224::-;22609:34;22605:1;22597:6;22593:14;22586:58;22678:7;22673:2;22665:6;22661:15;22654:32;22469:224;:::o;22699:366::-;22841:3;22862:67;22926:2;22921:3;22862:67;:::i;:::-;22855:74;;22938:93;23027:3;22938:93;:::i;:::-;23056:2;23051:3;23047:12;23040:19;;22699:366;;;:::o;23071:419::-;23237:4;23275:2;23264:9;23260:18;23252:26;;23324:9;23318:4;23314:20;23310:1;23299:9;23295:17;23288:47;23352:131;23478:4;23352:131;:::i;:::-;23344:139;;23071:419;;;:::o;23496:222::-;23636:34;23632:1;23624:6;23620:14;23613:58;23705:5;23700:2;23692:6;23688:15;23681:30;23496:222;:::o;23724:366::-;23866:3;23887:67;23951:2;23946:3;23887:67;:::i;:::-;23880:74;;23963:93;24052:3;23963:93;:::i;:::-;24081:2;24076:3;24072:12;24065:19;;23724:366;;;:::o;24096:419::-;24262:4;24300:2;24289:9;24285:18;24277:26;;24349:9;24343:4;24339:20;24335:1;24324:9;24320:17;24313:47;24377:131;24503:4;24377:131;:::i;:::-;24369:139;;24096:419;;;:::o;24521:228::-;24661:34;24657:1;24649:6;24645:14;24638:58;24730:11;24725:2;24717:6;24713:15;24706:36;24521:228;:::o;24755:366::-;24897:3;24918:67;24982:2;24977:3;24918:67;:::i;:::-;24911:74;;24994:93;25083:3;24994:93;:::i;:::-;25112:2;25107:3;25103:12;25096:19;;24755:366;;;:::o;25127:419::-;25293:4;25331:2;25320:9;25316:18;25308:26;;25380:9;25374:4;25370:20;25366:1;25355:9;25351:17;25344:47;25408:131;25534:4;25408:131;:::i;:::-;25400:139;;25127:419;;;:::o;25552:194::-;25592:4;25612:20;25630:1;25612:20;:::i;:::-;25607:25;;25646:20;25664:1;25646:20;:::i;:::-;25641:25;;25690:1;25687;25683:9;25675:17;;25714:1;25708:4;25705:11;25702:37;;;25719:18;;:::i;:::-;25702:37;25552:194;;;;:::o;25752:175::-;25892:27;25888:1;25880:6;25876:14;25869:51;25752:175;:::o;25933:366::-;26075:3;26096:67;26160:2;26155:3;26096:67;:::i;:::-;26089:74;;26172:93;26261:3;26172:93;:::i;:::-;26290:2;26285:3;26281:12;26274:19;;25933:366;;;:::o;26305:419::-;26471:4;26509:2;26498:9;26494:18;26486:26;;26558:9;26552:4;26548:20;26544:1;26533:9;26529:17;26522:47;26586:131;26712:4;26586:131;:::i;:::-;26578:139;;26305:419;;;:::o;26730:191::-;26770:3;26789:20;26807:1;26789:20;:::i;:::-;26784:25;;26823:20;26841:1;26823:20;:::i;:::-;26818:25;;26866:1;26863;26859:9;26852:16;;26887:3;26884:1;26881:10;26878:36;;;26894:18;;:::i;:::-;26878:36;26730:191;;;;:::o;26927:176::-;27067:28;27063:1;27055:6;27051:14;27044:52;26927:176;:::o;27109:366::-;27251:3;27272:67;27336:2;27331:3;27272:67;:::i;:::-;27265:74;;27348:93;27437:3;27348:93;:::i;:::-;27466:2;27461:3;27457:12;27450:19;;27109:366;;;:::o;27481:419::-;27647:4;27685:2;27674:9;27670:18;27662:26;;27734:9;27728:4;27724:20;27720:1;27709:9;27705:17;27698:47;27762:131;27888:4;27762:131;:::i;:::-;27754:139;;27481:419;;;:::o;27906:114::-;27973:6;28007:5;28001:12;27991:22;;27906:114;;;:::o;28026:184::-;28125:11;28159:6;28154:3;28147:19;28199:4;28194:3;28190:14;28175:29;;28026:184;;;;:::o;28216:132::-;28283:4;28306:3;28298:11;;28336:4;28331:3;28327:14;28319:22;;28216:132;;;:::o;28354:108::-;28431:24;28449:5;28431:24;:::i;:::-;28426:3;28419:37;28354:108;;:::o;28468:179::-;28537:10;28558:46;28600:3;28592:6;28558:46;:::i;:::-;28636:4;28631:3;28627:14;28613:28;;28468:179;;;;:::o;28653:113::-;28723:4;28755;28750:3;28746:14;28738:22;;28653:113;;;:::o;28802:732::-;28921:3;28950:54;28998:5;28950:54;:::i;:::-;29020:86;29099:6;29094:3;29020:86;:::i;:::-;29013:93;;29130:56;29180:5;29130:56;:::i;:::-;29209:7;29240:1;29225:284;29250:6;29247:1;29244:13;29225:284;;;29326:6;29320:13;29353:63;29412:3;29397:13;29353:63;:::i;:::-;29346:70;;29439:60;29492:6;29439:60;:::i;:::-;29429:70;;29285:224;29272:1;29269;29265:9;29260:14;;29225:284;;;29229:14;29525:3;29518:10;;28926:608;;;28802:732;;;;:::o;29540:831::-;29803:4;29841:3;29830:9;29826:19;29818:27;;29855:71;29923:1;29912:9;29908:17;29899:6;29855:71;:::i;:::-;29936:80;30012:2;30001:9;29997:18;29988:6;29936:80;:::i;:::-;30063:9;30057:4;30053:20;30048:2;30037:9;30033:18;30026:48;30091:108;30194:4;30185:6;30091:108;:::i;:::-;30083:116;;30209:72;30277:2;30266:9;30262:18;30253:6;30209:72;:::i;:::-;30291:73;30359:3;30348:9;30344:19;30335:6;30291:73;:::i;:::-;29540:831;;;;;;;;:::o;30377:180::-;30425:77;30422:1;30415:88;30522:4;30519:1;30512:15;30546:4;30543:1;30536:15;30563:185;30603:1;30620:20;30638:1;30620:20;:::i;:::-;30615:25;;30654:20;30672:1;30654:20;:::i;:::-;30649:25;;30693:1;30683:35;;30698:18;;:::i;:::-;30683:35;30740:1;30737;30733:9;30728:14;;30563:185;;;;:::o;30754:220::-;30894:34;30890:1;30882:6;30878:14;30871:58;30963:3;30958:2;30950:6;30946:15;30939:28;30754:220;:::o;30980:366::-;31122:3;31143:67;31207:2;31202:3;31143:67;:::i;:::-;31136:74;;31219:93;31308:3;31219:93;:::i;:::-;31337:2;31332:3;31328:12;31321:19;;30980:366;;;:::o;31352:419::-;31518:4;31556:2;31545:9;31541:18;31533:26;;31605:9;31599:4;31595:20;31591:1;31580:9;31576:17;31569:47;31633:131;31759:4;31633:131;:::i;:::-;31625:139;;31352:419;;;:::o;31777:177::-;31917:29;31913:1;31905:6;31901:14;31894:53;31777:177;:::o;31960:366::-;32102:3;32123:67;32187:2;32182:3;32123:67;:::i;:::-;32116:74;;32199:93;32288:3;32199:93;:::i;:::-;32317:2;32312:3;32308:12;32301:19;;31960:366;;;:::o;32332:419::-;32498:4;32536:2;32525:9;32521:18;32513:26;;32585:9;32579:4;32575:20;32571:1;32560:9;32556:17;32549:47;32613:131;32739:4;32613:131;:::i;:::-;32605:139;;32332:419;;;:::o

Swarm Source

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