ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000,000 coloredcoins
Holders
75
Transfers
-
4 ( -20.00%)
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
coloredcoins
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2026-02-18
*/
/*
https://github.com/vbuterin/coloredcoins
https://www.youtube.com/watch?v=-R0CkF7a_yk&t=126s
https://t.me/coloredcoineth
*/
// SPDX-License-Identifier: UNLICENSE
pragma solidity 0.8.23;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract coloredcoins is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
mapping (address => bool) private _blockedAddresses;
mapping (address => bool) private _earlyBuyers;
address payable private _taxWallet;
uint256 private _initialBuyTax=11;
uint256 private _initialSellTax=11;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=32;
uint256 private _reduceSellTaxAt=32;
uint256 private _preventSwapBefore=20;
uint256 private _transferTax=0;
uint256 private _buyCount=0;
bool private _earlyBuyingPhase = true;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000000 * 10**_decimals;
string private constant _name = unicode"coloredcoins";
string private constant _symbol = unicode"coloredcoins";
uint256 public _maxTxAmount = 20000000000 * 10**_decimals;
uint256 public _maxWalletSize = 20000000000 * 10**_decimals;
uint256 public _taxSwapThreshold= 10000000000 * 10**_decimals;
uint256 public _maxTaxSwap= 10000000000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen = false;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
event TransferTaxUpdated(uint _tax);
event EarlyBuyerAdded(address indexed wallet);
event EarlyBuyingPhaseEnded();
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () payable {
_taxWallet = payable(_msgSender());
uint256 ownerAmount = _tTotal.mul(100).div(100);
uint256 contractAmount = _tTotal.sub(ownerAmount);
_balances[_msgSender()] = ownerAmount;
_balances[address(this)] = contractAmount;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), ownerAmount);
emit Transfer(address(0), address(this), contractAmount);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
require(!_blockedAddresses[_msgSender()], "Sender address is blocked");
require(!_blockedAddresses[recipient], "Recipient address is blocked");
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
require(!_blockedAddresses[_msgSender()], "Approver address is blocked");
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
require(!_blockedAddresses[sender], "Sender address is blocked");
require(!_blockedAddresses[recipient], "Recipient address is blocked");
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
require(!_blockedAddresses[from], "Sender address is blocked");
require(!_blockedAddresses[to], "Recipient address is blocked");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
// Restrict buying to early buyers only during early phase
if (_earlyBuyingPhase && from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(_earlyBuyers[to], "Only early buyers can purchase during early phase");
}
if(_buyCount==0){
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
}
if(_buyCount>0){
taxAmount = amount.mul(_transferTax).div(100);
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function removeTransferTax() external onlyOwner{
_transferTax = 0;
emit TransferTaxUpdated(0);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function removeBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function _bots(address a) public view returns (bool){
return bots[a];
}
function addB(address[] memory wallets) external onlyOwner {
require(!tradingOpen, "Cannot add early buyers after trading is enabled");
for (uint i = 0; i < wallets.length; i++) {
require(wallets[i] != address(0), "Invalid wallet address");
_earlyBuyers[wallets[i]] = true;
emit EarlyBuyerAdded(wallets[i]);
}
}
function endB() external onlyOwner {
require(_earlyBuyingPhase, "Early buying phase already ended");
_earlyBuyingPhase = false;
emit EarlyBuyingPhaseEnded();
}
function enableTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function reduceFee(uint256 _newFee) external{
require(_msgSender()==_taxWallet);
require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
_finalBuyTax=_newFee;
_finalSellTax=_newFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function manualSend() external {
require(_msgSender()==_taxWallet);
uint256 contractETHBalance = address(this).balance;
sendETHToFee(contractETHBalance);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"wallet","type":"address"}],"name":"EarlyBuyerAdded","type":"event"},{"anonymous":false,"inputs":[],"name":"EarlyBuyingPhaseEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"_bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"addB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","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":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"removeBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600b600881905560098181555f600a818155928190556020600c819055600d556014600e55600f8190556010556011805460ff191660011790556200004991620004ea565b6200005a906404a817c800620004fa565b6012556200006b6009600a620004ea565b6200007c906404a817c800620004fa565b6013556200008d6009600a620004ea565b6200009e906402540be400620004fa565b601455620000af6009600a620004ea565b620000c0906402540be400620004fa565b6015556017805462ffffff60a01b191690555f6018819055601981905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916331790555f6200016760646200016081620001486009600a620004ea565b620001599064e8d4a51000620004fa565b906200024a565b90620002dd565b90505f62000195826200017d6009600a620004ea565b6200018e9064e8d4a51000620004fa565b9062000326565b335f8181526001602081815260408084208890553080855281852087905584546001600160a01b03908116865260038452828620805460ff199081168717909155918652828620805483168617905560075416855281852080549091169093179092559051868152939450919290915f8051602062002701833981519152910160405180910390a360405181815230905f905f80516020620027018339815191529060200160405180910390a3505062000598565b5f825f036200025b57505f620002d7565b5f620002688385620004fa565b90508262000277858362000514565b14620002d45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620002d483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200036f60201b60201c565b5f620002d483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620003a960201b60201c565b5f8183620003925760405162461bcd60e51b8152600401620002cb919062000534565b505f620003a0848662000514565b95945050505050565b5f8184841115620003cf5760405162461bcd60e51b8152600401620002cb919062000534565b505f620003a0848662000582565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200043157815f1904821115620004155762000415620003dd565b808516156200042357918102915b93841c9390800290620003f6565b509250929050565b5f826200044957506001620002d7565b816200045757505f620002d7565b81600181146200047057600281146200047b576200049b565b6001915050620002d7565b60ff8411156200048f576200048f620003dd565b50506001821b620002d7565b5060208310610133831016604e8410600b8410161715620004c0575081810a620002d7565b620004cc8383620003f1565b805f1904821115620004e257620004e2620003dd565b029392505050565b5f620002d460ff84168362000439565b8082028115828204841417620002d757620002d7620003dd565b5f826200052f57634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b81811015620005625785810183015185820160400152820162000544565b505f604082860101526040601f19601f8301168501019250505092915050565b81810381811115620002d757620002d7620003dd565b61215b80620005a65f395ff3fe60806040526004361061017e575f3560e01c80637d1db4a5116100cd578063a9059cbb11610087578063d34628cc11610062578063d34628cc14610413578063dd62ed3e14610432578063ec1f3f6314610476578063f429389014610495575f80fd5b8063a9059cbb146103a8578063b481ff95146103c7578063bf474bed146103fe575f80fd5b80637d1db4a514610325578063874d9e3b1461033a5780638a8c523c146103595780638da5cb5b1461036d5780638f9a55c01461039357806395d89b4114610189575f80fd5b8063313ce567116101385780636c3bbfd7116101135780636c3bbfd7146102aa57806370a08231146102c9578063715018a6146102fd578063751039fc14610311575f80fd5b8063313ce56714610267578063344b307f1461028257806351bc3c8514610296575f80fd5b806306fdde0314610189578063095ea7b3146101cc5780630faee56f146101fb578063109daa991461021e57806318160ddd1461023457806323b872dd14610248575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b50604080518082018252600c81526b636f6c6f726564636f696e7360a01b602082015290516101c39190611be5565b60405180910390f35b3480156101d7575f80fd5b506101eb6101e6366004611c55565b6104a9565b60405190151581526020016101c3565b348015610206575f80fd5b5061021060155481565b6040519081526020016101c3565b348015610229575f80fd5b50610232610522565b005b34801561023f575f80fd5b50610210610587565b348015610253575f80fd5b506101eb610262366004611c7f565b6105a8565b348015610272575f80fd5b50604051600981526020016101c3565b34801561028d575f80fd5b5061023261067e565b3480156102a1575f80fd5b5061023261072d565b3480156102b5575f80fd5b506102326102c4366004611cd1565b61077e565b3480156102d4575f80fd5b506102106102e3366004611d91565b6001600160a01b03165f9081526001602052604090205490565b348015610308575f80fd5b50610232610801565b34801561031c575f80fd5b50610232610872565b348015610330575f80fd5b5061021060125481565b348015610345575f80fd5b50610232610354366004611cd1565b610921565b348015610364575f80fd5b50610232610ae6565b348015610378575f80fd5b505f546040516001600160a01b0390911681526020016101c3565b34801561039e575f80fd5b5061021060135481565b3480156103b3575f80fd5b506101eb6103c2366004611c55565b610e90565b3480156103d2575f80fd5b506101eb6103e1366004611d91565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610409575f80fd5b5061021060145481565b34801561041e575f80fd5b5061023261042d366004611cd1565b610f02565b34801561043d575f80fd5b5061021061044c366004611dac565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610481575f80fd5b50610232610490366004611de3565b610f86565b3480156104a0575f80fd5b50610232610fcb565b335f9081526005602052604081205460ff161561050d5760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b610518338484610ff7565b5060015b92915050565b5f546001600160a01b0316331461054b5760405162461bcd60e51b815260040161050490611dfa565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6105946009600a611f23565b6105a39064e8d4a51000611f31565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156105e05760405162461bcd60e51b815260040161050490611f48565b6001600160a01b0383165f9081526005602052604090205460ff16156106185760405162461bcd60e51b815260040161050490611f7f565b61062384848461111a565b610674843361066f856040518060600160405280602881526020016120fe602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611861565b610ff7565b5060019392505050565b5f546001600160a01b031633146106a75760405162461bcd60e51b815260040161050490611dfa565b60115460ff166106f95760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e6465646044820152606401610504565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b6007546001600160a01b0316336001600160a01b03161461074c575f80fd5b305f90815260016020526040902054801561076a5761076a81611899565b47801561077a5761077a81611a09565b5050565b5f546001600160a01b031633146107a75760405162461bcd60e51b815260040161050490611dfa565b5f5b815181101561077a575f60045f8484815181106107c8576107c8611fb6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016107a9565b5f546001600160a01b0316331461082a5760405162461bcd60e51b815260040161050490611dfa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461089b5760405162461bcd60e51b815260040161050490611dfa565b6108a76009600a611f23565b6108b69064e8d4a51000611f31565b6012556108c56009600a611f23565b6108d49064e8d4a51000611f31565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109046009600a611f23565b6109139064e8d4a51000611f31565b60405190815260200161057d565b5f546001600160a01b0316331461094a5760405162461bcd60e51b815260040161050490611dfa565b601754600160a01b900460ff16156109bd5760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b6064820152608401610504565b5f5b815181101561077a575f6001600160a01b03168282815181106109e4576109e4611fb6565b60200260200101516001600160a01b031603610a3b5760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b6044820152606401610504565b600160065f848481518110610a5257610a52611fb6565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610aa157610aa1611fb6565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a26001016109bf565b5f546001600160a01b03163314610b0f5760405162461bcd60e51b815260040161050490611dfa565b601754600160a01b900460ff1615610b695760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610504565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610bb3903090610ba46009600a611f23565b61066f9064e8d4a51000611f31565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c279190611fca565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610caa9190611fca565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d189190611fca565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610d5f816001600160a01b03165f9081526001602052604090205490565b5f80610d725f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dd8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dfd9190611fe5565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610e52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e769190612010565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610ebf5760405162461bcd60e51b815260040161050490611f48565b6001600160a01b0383165f9081526005602052604090205460ff1615610ef75760405162461bcd60e51b815260040161050490611f7f565b61051833848461111a565b5f546001600160a01b03163314610f2b5760405162461bcd60e51b815260040161050490611dfa565b5f5b815181101561077a57600160045f848481518110610f4d57610f4d611fb6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610f2d565b6007546001600160a01b0316336001600160a01b031614610fa5575f80fd5b600a548111158015610fb95750600b548111155b610fc1575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b031614610fea575f80fd5b47610ff481611a09565b50565b6001600160a01b0383166110595760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610504565b6001600160a01b0382166110ba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610504565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661117e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610504565b6001600160a01b0382166111e05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610504565b5f81116112415760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610504565b6001600160a01b0383165f9081526005602052604090205460ff16156112795760405162461bcd60e51b815260040161050490611f48565b6001600160a01b0382165f9081526005602052604090205460ff16156112b15760405162461bcd60e51b815260040161050490611f7f565b5f80546001600160a01b038581169116148015906112dc57505f546001600160a01b03848116911614155b15611724576001600160a01b0384165f9081526004602052604090205460ff1615801561132157506001600160a01b0383165f9081526004602052604090205460ff16155b611329575f80fd5b60115460ff16801561134857506017546001600160a01b038581169116145b801561136257506016546001600160a01b03848116911614155b801561138657506001600160a01b0383165f9081526003602052604090205460ff16155b1561140c576001600160a01b0383165f9081526006602052604090205460ff1661140c5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b6064820152608401610504565b6010545f0361144457611441606461143b600c546010541161143057600854611434565b600a545b8590611a40565b90611ac5565b90505b6010541561146957611466606461143b600f5485611a4090919063ffffffff16565b90505b6017546001600160a01b03858116911614801561149457506016546001600160a01b03848116911614155b80156114b857506001600160a01b0383165f9081526003602052604090205460ff16155b156115bb5760125482111561150f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610504565b60135482611531856001600160a01b03165f9081526001602052604090205490565b61153b919061202f565b11156115895760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610504565b6115a4606461143b600c546010541161143057600854611434565b601080549192505f6115b583612042565b91905055505b6017546001600160a01b0384811691161480156115e157506001600160a01b0384163014155b1561160e5761160b606461143b600d546010541161160157600954611434565b600b548590611a40565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561164457506017546001600160a01b038581169116145b80156116595750601754600160b01b900460ff165b8015611666575060145481115b80156116755750600e54601054115b1561172257601954431115611689575f6018555b6003601854106116db5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610504565b6116f86116f3846116ee84601554611b06565b611b06565b611899565b4780156117085761170847611a09565b60188054905f61171783612042565b909155505043601955505b505b801561179c57305f908152600160205260409020546117439082611b1a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117939085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546117be9083611b78565b6001600160a01b0385165f908152600160205260409020556118016117e38383611b78565b6001600160a01b0385165f9081526001602052604090205490611b1a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61184a8585611b78565b60405190815260200160405180910390a350505050565b5f81848411156118845760405162461bcd60e51b81526004016105049190611be5565b505f611890848661205a565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106118df576118df611fb6565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611936573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195a9190611fca565b8160018151811061196d5761196d611fb6565b6001600160a01b0392831660209182029290920101526016546119939130911684610ff7565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906119cb9085905f9086903090429060040161206d565b5f604051808303815f87803b1580156119e2575f80fd5b505af11580156119f4573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561077a573d5f803e3d5ffd5b5f825f03611a4f57505f61051c565b5f611a5a8385611f31565b905082611a6785836120de565b14611abe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610504565b9392505050565b5f611abe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bb9565b5f818311611b145782611abe565b50919050565b5f80611b26838561202f565b905083811015611abe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610504565b5f611abe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611861565b5f8183611bd95760405162461bcd60e51b81526004016105049190611be5565b505f61189084866120de565b5f602080835283518060208501525f5b81811015611c1157858101830151858201604001528201611bf5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ff4575f80fd5b8035611c5081611c31565b919050565b5f8060408385031215611c66575f80fd5b8235611c7181611c31565b946020939093013593505050565b5f805f60608486031215611c91575f80fd5b8335611c9c81611c31565b92506020840135611cac81611c31565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611ce2575f80fd5b823567ffffffffffffffff80821115611cf9575f80fd5b818501915085601f830112611d0c575f80fd5b813581811115611d1e57611d1e611cbd565b8060051b604051601f19603f83011681018181108582111715611d4357611d43611cbd565b604052918252848201925083810185019188831115611d60575f80fd5b938501935b82851015611d8557611d7685611c45565b84529385019392850192611d65565b98975050505050505050565b5f60208284031215611da1575f80fd5b8135611abe81611c31565b5f8060408385031215611dbd575f80fd5b8235611dc881611c31565b91506020830135611dd881611c31565b809150509250929050565b5f60208284031215611df3575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611e7d57815f1904821115611e6357611e63611e2f565b80851615611e7057918102915b93841c9390800290611e48565b509250929050565b5f82611e935750600161051c565b81611e9f57505f61051c565b8160018114611eb55760028114611ebf57611edb565b600191505061051c565b60ff841115611ed057611ed0611e2f565b50506001821b61051c565b5060208310610133831016604e8410600b8410161715611efe575081810a61051c565b611f088383611e43565b805f1904821115611f1b57611f1b611e2f565b029392505050565b5f611abe60ff841683611e85565b808202811582820484141761051c5761051c611e2f565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611fda575f80fd5b8151611abe81611c31565b5f805f60608486031215611ff7575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612020575f80fd5b81518015158114611abe575f80fd5b8082018082111561051c5761051c611e2f565b5f6001820161205357612053611e2f565b5060010190565b8181038181111561051c5761051c611e2f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156120bd5784516001600160a01b031683529383019391830191600101612098565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826120f857634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7b77df06dd32fd6ec58cd2efc919187ab678530f58c7b83908975269998aec664736f6c63430008170033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x60806040526004361061017e575f3560e01c80637d1db4a5116100cd578063a9059cbb11610087578063d34628cc11610062578063d34628cc14610413578063dd62ed3e14610432578063ec1f3f6314610476578063f429389014610495575f80fd5b8063a9059cbb146103a8578063b481ff95146103c7578063bf474bed146103fe575f80fd5b80637d1db4a514610325578063874d9e3b1461033a5780638a8c523c146103595780638da5cb5b1461036d5780638f9a55c01461039357806395d89b4114610189575f80fd5b8063313ce567116101385780636c3bbfd7116101135780636c3bbfd7146102aa57806370a08231146102c9578063715018a6146102fd578063751039fc14610311575f80fd5b8063313ce56714610267578063344b307f1461028257806351bc3c8514610296575f80fd5b806306fdde0314610189578063095ea7b3146101cc5780630faee56f146101fb578063109daa991461021e57806318160ddd1461023457806323b872dd14610248575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b50604080518082018252600c81526b636f6c6f726564636f696e7360a01b602082015290516101c39190611be5565b60405180910390f35b3480156101d7575f80fd5b506101eb6101e6366004611c55565b6104a9565b60405190151581526020016101c3565b348015610206575f80fd5b5061021060155481565b6040519081526020016101c3565b348015610229575f80fd5b50610232610522565b005b34801561023f575f80fd5b50610210610587565b348015610253575f80fd5b506101eb610262366004611c7f565b6105a8565b348015610272575f80fd5b50604051600981526020016101c3565b34801561028d575f80fd5b5061023261067e565b3480156102a1575f80fd5b5061023261072d565b3480156102b5575f80fd5b506102326102c4366004611cd1565b61077e565b3480156102d4575f80fd5b506102106102e3366004611d91565b6001600160a01b03165f9081526001602052604090205490565b348015610308575f80fd5b50610232610801565b34801561031c575f80fd5b50610232610872565b348015610330575f80fd5b5061021060125481565b348015610345575f80fd5b50610232610354366004611cd1565b610921565b348015610364575f80fd5b50610232610ae6565b348015610378575f80fd5b505f546040516001600160a01b0390911681526020016101c3565b34801561039e575f80fd5b5061021060135481565b3480156103b3575f80fd5b506101eb6103c2366004611c55565b610e90565b3480156103d2575f80fd5b506101eb6103e1366004611d91565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610409575f80fd5b5061021060145481565b34801561041e575f80fd5b5061023261042d366004611cd1565b610f02565b34801561043d575f80fd5b5061021061044c366004611dac565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610481575f80fd5b50610232610490366004611de3565b610f86565b3480156104a0575f80fd5b50610232610fcb565b335f9081526005602052604081205460ff161561050d5760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064015b60405180910390fd5b610518338484610ff7565b5060015b92915050565b5f546001600160a01b0316331461054b5760405162461bcd60e51b815260040161050490611dfa565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6105946009600a611f23565b6105a39064e8d4a51000611f31565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156105e05760405162461bcd60e51b815260040161050490611f48565b6001600160a01b0383165f9081526005602052604090205460ff16156106185760405162461bcd60e51b815260040161050490611f7f565b61062384848461111a565b610674843361066f856040518060600160405280602881526020016120fe602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611861565b610ff7565b5060019392505050565b5f546001600160a01b031633146106a75760405162461bcd60e51b815260040161050490611dfa565b60115460ff166106f95760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e6465646044820152606401610504565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b6007546001600160a01b0316336001600160a01b03161461074c575f80fd5b305f90815260016020526040902054801561076a5761076a81611899565b47801561077a5761077a81611a09565b5050565b5f546001600160a01b031633146107a75760405162461bcd60e51b815260040161050490611dfa565b5f5b815181101561077a575f60045f8484815181106107c8576107c8611fb6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016107a9565b5f546001600160a01b0316331461082a5760405162461bcd60e51b815260040161050490611dfa565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461089b5760405162461bcd60e51b815260040161050490611dfa565b6108a76009600a611f23565b6108b69064e8d4a51000611f31565b6012556108c56009600a611f23565b6108d49064e8d4a51000611f31565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109046009600a611f23565b6109139064e8d4a51000611f31565b60405190815260200161057d565b5f546001600160a01b0316331461094a5760405162461bcd60e51b815260040161050490611dfa565b601754600160a01b900460ff16156109bd5760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b6064820152608401610504565b5f5b815181101561077a575f6001600160a01b03168282815181106109e4576109e4611fb6565b60200260200101516001600160a01b031603610a3b5760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b6044820152606401610504565b600160065f848481518110610a5257610a52611fb6565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110610aa157610aa1611fb6565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a26001016109bf565b5f546001600160a01b03163314610b0f5760405162461bcd60e51b815260040161050490611dfa565b601754600160a01b900460ff1615610b695760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610504565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610bb3903090610ba46009600a611f23565b61066f9064e8d4a51000611f31565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c279190611fca565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610caa9190611fca565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610cf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d189190611fca565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610d5f816001600160a01b03165f9081526001602052604090205490565b5f80610d725f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610dd8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dfd9190611fe5565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610e52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e769190612010565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610ebf5760405162461bcd60e51b815260040161050490611f48565b6001600160a01b0383165f9081526005602052604090205460ff1615610ef75760405162461bcd60e51b815260040161050490611f7f565b61051833848461111a565b5f546001600160a01b03163314610f2b5760405162461bcd60e51b815260040161050490611dfa565b5f5b815181101561077a57600160045f848481518110610f4d57610f4d611fb6565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610f2d565b6007546001600160a01b0316336001600160a01b031614610fa5575f80fd5b600a548111158015610fb95750600b548111155b610fc1575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b031614610fea575f80fd5b47610ff481611a09565b50565b6001600160a01b0383166110595760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610504565b6001600160a01b0382166110ba5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610504565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661117e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610504565b6001600160a01b0382166111e05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610504565b5f81116112415760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610504565b6001600160a01b0383165f9081526005602052604090205460ff16156112795760405162461bcd60e51b815260040161050490611f48565b6001600160a01b0382165f9081526005602052604090205460ff16156112b15760405162461bcd60e51b815260040161050490611f7f565b5f80546001600160a01b038581169116148015906112dc57505f546001600160a01b03848116911614155b15611724576001600160a01b0384165f9081526004602052604090205460ff1615801561132157506001600160a01b0383165f9081526004602052604090205460ff16155b611329575f80fd5b60115460ff16801561134857506017546001600160a01b038581169116145b801561136257506016546001600160a01b03848116911614155b801561138657506001600160a01b0383165f9081526003602052604090205460ff16155b1561140c576001600160a01b0383165f9081526006602052604090205460ff1661140c5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b6064820152608401610504565b6010545f0361144457611441606461143b600c546010541161143057600854611434565b600a545b8590611a40565b90611ac5565b90505b6010541561146957611466606461143b600f5485611a4090919063ffffffff16565b90505b6017546001600160a01b03858116911614801561149457506016546001600160a01b03848116911614155b80156114b857506001600160a01b0383165f9081526003602052604090205460ff16155b156115bb5760125482111561150f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610504565b60135482611531856001600160a01b03165f9081526001602052604090205490565b61153b919061202f565b11156115895760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610504565b6115a4606461143b600c546010541161143057600854611434565b601080549192505f6115b583612042565b91905055505b6017546001600160a01b0384811691161480156115e157506001600160a01b0384163014155b1561160e5761160b606461143b600d546010541161160157600954611434565b600b548590611a40565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561164457506017546001600160a01b038581169116145b80156116595750601754600160b01b900460ff165b8015611666575060145481115b80156116755750600e54601054115b1561172257601954431115611689575f6018555b6003601854106116db5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610504565b6116f86116f3846116ee84601554611b06565b611b06565b611899565b4780156117085761170847611a09565b60188054905f61171783612042565b909155505043601955505b505b801561179c57305f908152600160205260409020546117439082611b1a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117939085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546117be9083611b78565b6001600160a01b0385165f908152600160205260409020556118016117e38383611b78565b6001600160a01b0385165f9081526001602052604090205490611b1a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61184a8585611b78565b60405190815260200160405180910390a350505050565b5f81848411156118845760405162461bcd60e51b81526004016105049190611be5565b505f611890848661205a565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106118df576118df611fb6565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611936573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061195a9190611fca565b8160018151811061196d5761196d611fb6565b6001600160a01b0392831660209182029290920101526016546119939130911684610ff7565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906119cb9085905f9086903090429060040161206d565b5f604051808303815f87803b1580156119e2575f80fd5b505af11580156119f4573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561077a573d5f803e3d5ffd5b5f825f03611a4f57505f61051c565b5f611a5a8385611f31565b905082611a6785836120de565b14611abe5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610504565b9392505050565b5f611abe83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bb9565b5f818311611b145782611abe565b50919050565b5f80611b26838561202f565b905083811015611abe5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610504565b5f611abe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611861565b5f8183611bd95760405162461bcd60e51b81526004016105049190611be5565b505f61189084866120de565b5f602080835283518060208501525f5b81811015611c1157858101830151858201604001528201611bf5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610ff4575f80fd5b8035611c5081611c31565b919050565b5f8060408385031215611c66575f80fd5b8235611c7181611c31565b946020939093013593505050565b5f805f60608486031215611c91575f80fd5b8335611c9c81611c31565b92506020840135611cac81611c31565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611ce2575f80fd5b823567ffffffffffffffff80821115611cf9575f80fd5b818501915085601f830112611d0c575f80fd5b813581811115611d1e57611d1e611cbd565b8060051b604051601f19603f83011681018181108582111715611d4357611d43611cbd565b604052918252848201925083810185019188831115611d60575f80fd5b938501935b82851015611d8557611d7685611c45565b84529385019392850192611d65565b98975050505050505050565b5f60208284031215611da1575f80fd5b8135611abe81611c31565b5f8060408385031215611dbd575f80fd5b8235611dc881611c31565b91506020830135611dd881611c31565b809150509250929050565b5f60208284031215611df3575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611e7d57815f1904821115611e6357611e63611e2f565b80851615611e7057918102915b93841c9390800290611e48565b509250929050565b5f82611e935750600161051c565b81611e9f57505f61051c565b8160018114611eb55760028114611ebf57611edb565b600191505061051c565b60ff841115611ed057611ed0611e2f565b50506001821b61051c565b5060208310610133831016604e8410600b8410161715611efe575081810a61051c565b611f088383611e43565b805f1904821115611f1b57611f1b611e2f565b029392505050565b5f611abe60ff841683611e85565b808202811582820484141761051c5761051c611e2f565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611fda575f80fd5b8151611abe81611c31565b5f805f60608486031215611ff7575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612020575f80fd5b81518015158114611abe575f80fd5b8082018082111561051c5761051c611e2f565b5f6001820161205357612053611e2f565b5060010190565b8181038181111561051c5761051c611e2f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156120bd5784516001600160a01b031683529383019391830191600101612098565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826120f857634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7b77df06dd32fd6ec58cd2efc919187ab678530f58c7b83908975269998aec664736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
-----Decoded View---------------
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode Sourcemap
3613:11034:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6157:83;;;;;;;;;;-1:-1:-1;6227:5:0;;;;;;;;;;;-1:-1:-1;;;6227:5:0;;;;6157:83;;;;6227:5;6157:83;:::i;:::-;;;;;;;;7152:244;;;;;;;;;;-1:-1:-1;7152:244:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7152:244:0;1162:187:1;4923:55:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4923:55:0;1354:177:1;11901:119:0;;;;;;;;;;;;;:::i;:::-;;6434:95;;;;;;;;;;;;;:::i;7404:469::-;;;;;;;;;;-1:-1:-1;7404:469:0;;;;;:::i;:::-;;:::i;6343:83::-;;;;;;;;;;-1:-1:-1;6343:83:0;;4524:1;2139:36:1;;2127:2;2112:18;6343:83:0;1997:184:1;12958:191:0;;;;;;;;;;;;;:::i;14101:348::-;;;;;;;;;;;;;:::i;12300:165::-;;;;;;;;;;-1:-1:-1;12300:165:0;;;;;:::i;:::-;;:::i;6537:119::-;;;;;;;;;;-1:-1:-1;6537:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6630:18:0;6603:7;6630:18;;;:9;:18;;;;;;;6537:119;2696:148;;;;;;;;;;;;;:::i;11734:159::-;;;;;;;;;;;;;:::i;4725:57::-;;;;;;;;;;;;;;;;12564:382;;;;;;;;;;-1:-1:-1;12564:382:0;;;;;:::i;:::-;;:::i;13157:673::-;;;;;;;;;;;;;:::i;2482:79::-;;;;;;;;;;-1:-1:-1;2520:7:0;2547:6;2482:79;;-1:-1:-1;;;;;2547:6:0;;;3842:51:1;;3830:2;3815:18;2482:79:0;3696:203:1;4789:59:0;;;;;;;;;;;;;;;;6664:329;;;;;;;;;;-1:-1:-1;6664:329:0;;;;;:::i;:::-;;:::i;12473:83::-;;;;;;;;;;-1:-1:-1;12473:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;12541:7:0;12520:4;12541:7;;;:4;:7;;;;;;;;;12473:83;4855:61;;;;;;;;;;;;;;;;12128:164;;;;;;;;;;-1:-1:-1;12128:164:0;;;;;:::i;:::-;;:::i;7001:143::-;;;;;;;;;;-1:-1:-1;7001:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7109:18:0;;;7082:7;7109:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7001:143;13838:218;;;;;;;;;;-1:-1:-1;13838:218:0;;;;;:::i;:::-;;:::i;14457:187::-;;;;;;;;;;;;;:::i;7152:244::-;319:10;7227:4;7253:31;;;:17;:31;;;;;;;;7252:32;7244:72;;;;-1:-1:-1;;;7244:72:0;;4684:2:1;7244:72:0;;;4666:21:1;4723:2;4703:18;;;4696:30;4762:29;4742:18;;;4735:57;4809:18;;7244:72:0;;;;;;;;;7327:39;319:10;7350:7;7359:6;7327:8;:39::i;:::-;-1:-1:-1;7384:4:0;7152:244;;;;;:::o;11901:119::-;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;11974:1:::1;11959:12;:16:::0;;;11991:21:::1;::::0;1500:25:1;;;11991:21:0::1;::::0;1488:2:1;1473:18;11991:21:0::1;;;;;;;;11901:119::o:0;6434:95::-;6487:7;4583:13;4524:1;4583:2;:13;:::i;:::-;4567:29;;:13;:29;:::i;:::-;6507:14;;6434:95;:::o;7404:469::-;-1:-1:-1;;;;;7528:25:0;;7502:4;7528:25;;;:17;:25;;;;;;;;7527:26;7519:64;;;;-1:-1:-1;;;7519:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7603:28:0;;;;;;:17;:28;;;;;;;;7602:29;7594:70;;;;-1:-1:-1;;;7594:70:0;;;;;;;:::i;:::-;7675:36;7685:6;7693:9;7704:6;7675:9;:36::i;:::-;7722:121;7731:6;319:10;7753:89;7791:6;7753:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7753:19:0;;;;;;:11;:19;;;;;;;;319:10;7753:33;;;;;;;;;;:37;:89::i;:::-;7722:8;:121::i;:::-;-1:-1:-1;7861:4:0;7404:469;;;;;:::o;12958:191::-;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;13012:17:::1;::::0;::::1;;13004:62;;;::::0;-1:-1:-1;;;13004:62:0;;7984:2:1;13004:62:0::1;::::0;::::1;7966:21:1::0;;;8003:18;;;7996:30;8062:34;8042:18;;;8035:62;8114:18;;13004:62:0::1;7782:356:1::0;13004:62:0::1;13077:17;:25:::0;;-1:-1:-1;;13077:25:0::1;::::0;;13118:23:::1;::::0;::::1;::::0;13097:5:::1;::::0;13118:23:::1;12958:191::o:0;14101:348::-;14165:10;;-1:-1:-1;;;;;14165:10:0;319;-1:-1:-1;;;;;14151:24:0;;14143:33;;;;;;14226:4;14187:20;6630:18;;;:9;:18;;;;;;14246:14;;14243:73;;14274:30;14291:12;14274:16;:30::i;:::-;14345:21;14380:12;;14377:65;;14406:24;14419:10;14406:12;:24::i;:::-;14132:317;;14101:348::o;12300:165::-;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;12376:6:::1;12371:87;12392:6;:13;12388:1;:17;12371:87;;;12443:5;12425:4;:15;12430:6;12437:1;12430:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12425:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12425:15:0;:23;;-1:-1:-1;;12425:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12407:3:0::1;12371:87;;2696:148:::0;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;2803:1:::1;2787:6:::0;;2766:40:::1;::::0;-1:-1:-1;;;;;2787:6:0;;::::1;::::0;2766:40:::1;::::0;2803:1;;2766:40:::1;2834:1;2817:19:::0;;-1:-1:-1;;;;;;2817:19:0::1;::::0;;2696:148::o;11734:159::-;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;4583:13:::1;4524:1;4583:2;:13;:::i;:::-;4567:29;::::0;:13:::1;:29;:::i;:::-;11787:12;:22:::0;4583:13:::1;4524:1;4583:2;:13;:::i;:::-;4567:29;::::0;:13:::1;:29;:::i;:::-;11820:14;:22:::0;11858:27:::1;4583:13;4524:1;4583:2;:13;:::i;:::-;4567:29;::::0;:13:::1;:29;:::i;:::-;11858:27;::::0;1500:25:1;;;1488:2;1473:18;11858:27:0::1;1354:177:1::0;12564:382:0;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;12643:11:::1;::::0;-1:-1:-1;;;12643:11:0;::::1;;;12642:12;12634:73;;;::::0;-1:-1:-1;;;12634:73:0;;8477:2:1;12634:73:0::1;::::0;::::1;8459:21:1::0;8516:2;8496:18;;;8489:30;8555:34;8535:18;;;8528:62;-1:-1:-1;;;8606:18:1;;;8599:46;8662:19;;12634:73:0::1;8275:412:1::0;12634:73:0::1;12723:6;12718:221;12739:7;:14;12735:1;:18;12718:221;;;12805:1;-1:-1:-1::0;;;;;12783:24:0::1;:7;12791:1;12783:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12783:24:0::1;::::0;12775:59:::1;;;::::0;-1:-1:-1;;;12775:59:0;;8894:2:1;12775:59:0::1;::::0;::::1;8876:21:1::0;8933:2;8913:18;;;8906:30;-1:-1:-1;;;8952:18:1;;;8945:52;9014:18;;12775:59:0::1;8692:346:1::0;12775:59:0::1;12876:4;12849:12;:24;12862:7;12870:1;12862:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12849:24:0::1;-1:-1:-1::0;;;;;12849:24:0::1;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;12916:7;12924:1;12916:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12900:27:0::1;;;;;;;;;;;12755:3;;12718:221;;13157:673:::0;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;13223:11:::1;::::0;-1:-1:-1;;;13223:11:0;::::1;;;13222:12;13214:47;;;::::0;-1:-1:-1;;;13214:47:0;;9245:2:1;13214:47:0::1;::::0;::::1;9227:21:1::0;9284:2;9264:18;;;9257:30;9323:25;9303:18;;;9296:53;9366:18;;13214:47:0::1;9043:347:1::0;13214:47:0::1;13272:15;:80:::0;;-1:-1:-1;;;;;;13272:80:0::1;13309:42;13272:80:::0;;::::1;::::0;;;13363:58:::1;::::0;13380:4:::1;::::0;4583:13:::1;4524:1;4583:2;:13;:::i;:::-;4567:29;::::0;:13:::1;:29;:::i;13363:58::-;13466:15;;;;;;;;;-1:-1:-1::0;;;;;13466:15:0::1;-1:-1:-1::0;;;;;13466:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13448:55:0::1;;13512:4;13519:15;;;;;;;;;-1:-1:-1::0;;;;;13519:15:0::1;-1:-1:-1::0;;;;;13519:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13448:94;::::0;-1:-1:-1;;;;;;13448:94:0::1;::::0;;;;;;-1:-1:-1;;;;;9881:15:1;;;13448:94:0::1;::::0;::::1;9863:34:1::0;9933:15;;9913:18;;;9906:43;9798:18;;13448:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13432:13;:110:::0;;-1:-1:-1;;;;;13432:110:0;;::::1;-1:-1:-1::0;;;;;;13432:110:0;;::::1;;::::0;;13553:15:::1;::::0;::::1;:31;13592:21;13623:4;13629:24;13623:4:::0;-1:-1:-1;;;;;6630:18:0;6603:7;6630:18;;;:9;:18;;;;;;;6537:119;13629:24:::1;13654:1;13656::::0;13658:7:::1;2520::::0;2547:6;-1:-1:-1;;;;;2547:6:0;;2482:79;13658:7:::1;13553:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13553:129:0;;;-1:-1:-1;;;;;10319:15:1;;;13553:129:0::1;::::0;::::1;10301:34:1::0;10351:18;;;10344:34;;;;10394:18;;;10387:34;;;;10437:18;;;10430:34;10501:15;;;10480:19;;;10473:44;13666:15:0::1;10533:19:1::0;;;10526:35;10235:19;;13553:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13700:13:0::1;::::0;13731:15:::1;::::0;13693:71:::1;::::0;-1:-1:-1;;;13693:71:0;;-1:-1:-1;;;;;13731:15:0;;::::1;13693:71;::::0;::::1;11057:51:1::0;-1:-1:-1;;11124:18:1;;;11117:34;13700:13:0;::::1;::::0;-1:-1:-1;13693:29:0::1;::::0;11030:18:1;;13693:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13775:11:0::1;:18:::0;;-1:-1:-1;;;;13804:18:0;-1:-1:-1;;;13804:18:0;;;13157:673::o;6664:329::-;319:10;6742:4;6768:31;;;:17;:31;;;;;;;;6767:32;6759:70;;;;-1:-1:-1;;;6759:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6849:28:0;;;;;;:17;:28;;;;;;;;6848:29;6840:70;;;;-1:-1:-1;;;6840:70:0;;;;;;;:::i;:::-;6921:42;319:10;6945:9;6956:6;6921:9;:42::i;12128:164::-;2609:6;;-1:-1:-1;;;;;2609:6:0;319:10;2609:22;2601:67;;;;-1:-1:-1;;;2601:67:0;;;;;;;:::i;:::-;12202:6:::1;12197:88;12218:5;:12;12214:1;:16;12197:88;;;12269:4;12252;:14;12257:5;12263:1;12257:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12252:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12252:14:0;:21;;-1:-1:-1;;12252:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12232:3:0::1;12197:88;;13838:218:::0;13913:10;;-1:-1:-1;;;;;13913:10:0;319;-1:-1:-1;;;;;13899:24:0;;13891:33;;;;;;13950:12;;13941:7;:21;;:47;;;;;13975:13;;13966:7;:22;;13941:47;13933:56;;;;;;13998:12;:20;;;14027:13;:21;13838:218::o;14457:187::-;14521:10;;-1:-1:-1;;;;;14521:10:0;319;-1:-1:-1;;;;;14507:24:0;;14499:33;;;;;;14572:21;14604:32;14572:21;14604:12;:32::i;:::-;14488:156;14457:187::o;7881:335::-;-1:-1:-1;;;;;7974:19:0;;7966:68;;;;-1:-1:-1;;;7966:68:0;;11646:2:1;7966:68:0;;;11628:21:1;11685:2;11665:18;;;11658:30;11724:34;11704:18;;;11697:62;-1:-1:-1;;;11775:18:1;;;11768:34;11819:19;;7966:68:0;11444:400:1;7966:68:0;-1:-1:-1;;;;;8053:21:0;;8045:68;;;;-1:-1:-1;;;8045:68:0;;12051:2:1;8045:68:0;;;12033:21:1;12090:2;12070:18;;;12063:30;12129:34;12109:18;;;12102:62;-1:-1:-1;;;12180:18:1;;;12173:32;12222:19;;8045:68:0;11849:398:1;8045:68:0;-1:-1:-1;;;;;8124:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8176:32;;1500:25:1;;;8176:32:0;;1473:18:1;8176:32:0;;;;;;;7881:335;;;:::o;8224:2905::-;-1:-1:-1;;;;;8312:18:0;;8304:68;;;;-1:-1:-1;;;8304:68:0;;12454:2:1;8304:68:0;;;12436:21:1;12493:2;12473:18;;;12466:30;12532:34;12512:18;;;12505:62;-1:-1:-1;;;12583:18:1;;;12576:35;12628:19;;8304:68:0;12252:401:1;8304:68:0;-1:-1:-1;;;;;8391:16:0;;8383:64;;;;-1:-1:-1;;;8383:64:0;;12860:2:1;8383:64:0;;;12842:21:1;12899:2;12879:18;;;12872:30;12938:34;12918:18;;;12911:62;-1:-1:-1;;;12989:18:1;;;12982:33;13032:19;;8383:64:0;12658:399:1;8383:64:0;8475:1;8466:6;:10;8458:64;;;;-1:-1:-1;;;8458:64:0;;13264:2:1;8458:64:0;;;13246:21:1;13303:2;13283:18;;;13276:30;13342:34;13322:18;;;13315:62;-1:-1:-1;;;13393:18:1;;;13386:39;13442:19;;8458:64:0;13062:405:1;8458:64:0;-1:-1:-1;;;;;8542:23:0;;;;;;:17;:23;;;;;;;;8541:24;8533:62;;;;-1:-1:-1;;;8533:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8615:21:0;;;;;;:17;:21;;;;;;;;8614:22;8606:63;;;;-1:-1:-1;;;8606:63:0;;;;;;;:::i;:::-;8680:17;2547:6;;-1:-1:-1;;;;;8714:15:0;;;2547:6;;8714:15;;;;:32;;-1:-1:-1;2520:7:0;2547:6;-1:-1:-1;;;;;8733:13:0;;;2547:6;;8733:13;;8714:32;8710:2063;;;-1:-1:-1;;;;;8772:10:0;;;;;;:4;:10;;;;;;;;8771:11;:24;;;;-1:-1:-1;;;;;;8787:8:0;;;;;;:4;:8;;;;;;;;8786:9;8771:24;8763:33;;;;;;8889:17;;;;:42;;;;-1:-1:-1;8918:13:0;;-1:-1:-1;;;;;8910:21:0;;;8918:13;;8910:21;8889:42;:76;;;;-1:-1:-1;8949:15:0;;-1:-1:-1;;;;;8935:30:0;;;8949:15;;8935:30;;8889:76;:103;;;;-1:-1:-1;;;;;;8970:22:0;;;;;;:18;:22;;;;;;;;8969:23;8889:103;8885:222;;;-1:-1:-1;;;;;9021:16:0;;;;;;:12;:16;;;;;;;;9013:78;;;;-1:-1:-1;;;9013:78:0;;13674:2:1;9013:78:0;;;13656:21:1;13713:2;13693:18;;;13686:30;13752:34;13732:18;;;13725:62;-1:-1:-1;;;13803:18:1;;;13796:47;13860:19;;9013:78:0;13472:413:1;9013:78:0;9126:9;;9137:1;9126:12;9123:139;;9170:76;9242:3;9170:67;9192:15;;9182:9;;:25;9181:55;;9222:14;;9181:55;;;9209:12;;9181:55;9170:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9158:88;;9123:139;9279:9;;:11;9276:95;;9322:33;9351:3;9322:24;9333:12;;9322:6;:10;;:24;;;;:::i;:33::-;9310:45;;9276:95;9399:13;;-1:-1:-1;;;;;9391:21:0;;;9399:13;;9391:21;:55;;;;-1:-1:-1;9430:15:0;;-1:-1:-1;;;;;9416:30:0;;;9430:15;;9416:30;;9391:55;:83;;;;-1:-1:-1;;;;;;9452:22:0;;;;;;:18;:22;;;;;;;;9450:24;9391:83;9387:420;;;9514:12;;9504:6;:22;;9496:60;;;;-1:-1:-1;;;9496:60:0;;14092:2:1;9496:60:0;;;14074:21:1;14131:2;14111:18;;;14104:30;14170:27;14150:18;;;14143:55;14215:18;;9496:60:0;13890:349:1;9496:60:0;9609:14;;9599:6;9583:13;9593:2;-1:-1:-1;;;;;6630:18:0;6603:7;6630:18;;;:9;:18;;;;;;;6537:119;9583:13;:22;;;;:::i;:::-;:40;;9575:79;;;;-1:-1:-1;;;9575:79:0;;14576:2:1;9575:79:0;;;14558:21:1;14615:2;14595:18;;;14588:30;14654:28;14634:18;;;14627:56;14700:18;;9575:79:0;14374:350:1;9575:79:0;9685:76;9757:3;9685:67;9707:15;;9697:9;;:25;9696:55;;9737:14;;9696:55;;9685:76;9780:9;:11;;9673:88;;-1:-1:-1;9780:9:0;:11;;;:::i;:::-;;;;;;9387:420;9832:13;;-1:-1:-1;;;;;9826:19:0;;;9832:13;;9826:19;:43;;;;-1:-1:-1;;;;;;9849:20:0;;9864:4;9849:20;;9826:43;9823:174;;;9902:79;9977:3;9902:70;9924:16;;9914:9;;:26;9913:58;;9956:15;;9913:58;;;9942:13;;9902:6;;:10;:70::i;:79::-;9890:91;;9823:174;10062:4;10013:28;6630:18;;;:9;:18;;;;;;10088:6;;-1:-1:-1;;;10088:6:0;;;;10087:7;:30;;;;-1:-1:-1;10104:13:0;;-1:-1:-1;;;;;10098:19:0;;;10104:13;;10098:19;10087:30;:45;;;;-1:-1:-1;10121:11:0;;-1:-1:-1;;;10121:11:0;;;;10087:45;:89;;;;;10159:17;;10136:20;:40;10087:89;:123;;;;;10192:18;;10180:9;;:30;10087:123;10083:679;;;10250:13;;10235:12;:28;10231:90;;;10300:1;10288:9;:13;10231:90;10359:1;10347:9;;:13;10339:49;;;;-1:-1:-1;;;10339:49:0;;15071:2:1;10339:49:0;;;15053:21:1;15110:2;15090:18;;;15083:30;15149:25;15129:18;;;15122:53;15192:18;;10339:49:0;14869:347:1;10339:49:0;10407:69;10424:51;10428:6;10436:38;10440:20;10462:11;;10436:3;:38::i;:::-;10424:3;:51::i;:::-;10407:16;:69::i;:::-;10524:21;10568:22;;10564:106;;10615:35;10628:21;10615:12;:35::i;:::-;10688:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10734:12:0;10718:13;:28;-1:-1:-1;10083:679:0;8748:2025;8710:2063;10788:11;;10785:161;;10856:4;10838:24;;;;:9;:24;;;;;;:39;;10867:9;10838:28;:39::i;:::-;10831:4;10813:24;;;;:9;:24;;;;;;;:64;;;;10895:39;;-1:-1:-1;;;;;10895:39:0;;;;;;;10924:9;1500:25:1;;1488:2;1473:18;;1354:177;10895:39:0;;;;;;;;10785:161;-1:-1:-1;;;;;10972:15:0;;;;;;:9;:15;;;;;;:27;;10992:6;10972:19;:27::i;:::-;-1:-1:-1;;;;;10956:15:0;;;;;;:9;:15;;;;;:43;11024:40;11042:21;:6;11053:9;11042:10;:21::i;:::-;-1:-1:-1;;;;;11024:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11010:13:0;;;;;;;:9;:13;;;;;:54;;;;11080:41;;;11099:21;:6;11110:9;11099:10;:21::i;:::-;11080:41;;1500:25:1;;;1488:2;1473:18;11080:41:0;;;;;;;8293:2836;8224:2905;;;:::o;1376:190::-;1462:7;1498:12;1490:6;;;;1482:29;;;;-1:-1:-1;;;1482:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1522:9:0;1534:5;1538:1;1534;:5;:::i;:::-;1522:17;1376:190;-1:-1:-1;;;;;1376:190:0:o;11243:483::-;5476:6;:13;;-1:-1:-1;;;;5476:13:0;-1:-1:-1;;;5476:13:0;;;11345:16:::1;::::0;;11359:1:::1;11345:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11345:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11345:16:0::1;11321:40;;11390:4;11372;11377:1;11372:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11372:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11416:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11416:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11372:7;;11416:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11406:4;11411:1;11406:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11406:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11481:15:::1;::::0;11449:62:::1;::::0;11466:4:::1;::::0;11481:15:::1;11499:11:::0;11449:8:::1;:62::i;:::-;11522:15;::::0;:196:::1;::::0;-1:-1:-1;;;11522:196:0;;-1:-1:-1;;;;;11522:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11603:11;;11522:15:::1;::::0;11645:4;;11672::::1;::::0;11692:15:::1;::::0;11522:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5512:6:0;:14;;-1:-1:-1;;;;5512:14:0;;;-1:-1:-1;;;;11243:483:0:o;12028:92::-;12085:10;;:27;;-1:-1:-1;;;;;12085:10:0;;;;:27;;;;;12105:6;;12085:10;:27;:10;:27;12105:6;12085:10;:27;;;;;;;;;;;;;;;;;;;1574:246;1632:7;1656:1;1661;1656:6;1652:47;;-1:-1:-1;1686:1:0;1679:8;;1652:47;1709:9;1721:5;1725:1;1721;:5;:::i;:::-;1709:17;-1:-1:-1;1754:1:0;1745:5;1749:1;1709:17;1745:5;:::i;:::-;:10;1737:56;;;;-1:-1:-1;;;1737:56:0;;16763:2:1;1737:56:0;;;16745:21:1;16802:2;16782:18;;;16775:30;16841:34;16821:18;;;16814:62;-1:-1:-1;;;16892:18:1;;;16885:31;16933:19;;1737:56:0;16561:397:1;1737:56:0;1811:1;1574:246;-1:-1:-1;;;1574:246:0:o;1828:132::-;1886:7;1913:39;1917:1;1920;1913:39;;;;;;;;;;;;;;;;;:3;:39::i;11137:98::-;11194:7;11221:1;11219;:3;11218:9;;11226:1;11218:9;;;-1:-1:-1;11224:1:0;11137:98;-1:-1:-1;11137:98:0:o;1045:179::-;1103:7;;1135:5;1139:1;1135;:5;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;-1:-1:-1;;;1151:46:0;;17165:2:1;1151:46:0;;;17147:21:1;17204:2;17184:18;;;17177:30;17243:29;17223:18;;;17216:57;17290:18;;1151:46:0;16963:351:1;1232:136:0;1290:7;1317:43;1321:1;1324;1317:43;;;;;;;;;;;;;;;;;:3;:43::i;1968:189::-;2054:7;2089:12;2082:5;2074:28;;;;-1:-1:-1;;;2074:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2113:9:0;2125:5;2129:1;2125;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3904:388::-;3972:6;3980;4033:2;4021:9;4012:7;4008:23;4004:32;4001:52;;;4049:1;4046;4039:12;4001:52;4088:9;4075:23;4107:31;4132:5;4107:31;:::i;:::-;4157:5;-1:-1:-1;4214:2:1;4199:18;;4186:32;4227:33;4186:32;4227:33;:::i;:::-;4279:7;4269:17;;;3904:388;;;;;:::o;4297:180::-;4356:6;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;-1:-1:-1;4448:23:1;;4297:180;-1:-1:-1;4297:180:1:o;4838:356::-;5040:2;5022:21;;;5059:18;;;5052:30;5118:34;5113:2;5098:18;;5091:62;5185:2;5170:18;;4838:356::o;5389:127::-;5450:10;5445:3;5441:20;5438:1;5431:31;5481:4;5478:1;5471:15;5505:4;5502:1;5495:15;5521:416;5610:1;5647:5;5610:1;5661:270;5682:7;5672:8;5669:21;5661:270;;;5741:4;5737:1;5733:6;5729:17;5723:4;5720:27;5717:53;;;5750:18;;:::i;:::-;5800:7;5790:8;5786:22;5783:55;;;5820:16;;;;5783:55;5899:22;;;;5859:15;;;;5661:270;;;5665:3;5521:416;;;;;:::o;5942:806::-;5991:5;6021:8;6011:80;;-1:-1:-1;6062:1:1;6076:5;;6011:80;6110:4;6100:76;;-1:-1:-1;6147:1:1;6161:5;;6100:76;6192:4;6210:1;6205:59;;;;6278:1;6273:130;;;;6185:218;;6205:59;6235:1;6226:10;;6249:5;;;6273:130;6310:3;6300:8;6297:17;6294:43;;;6317:18;;:::i;:::-;-1:-1:-1;;6373:1:1;6359:16;;6388:5;;6185:218;;6487:2;6477:8;6474:16;6468:3;6462:4;6459:13;6455:36;6449:2;6439:8;6436:16;6431:2;6425:4;6422:12;6418:35;6415:77;6412:159;;;-1:-1:-1;6524:19:1;;;6556:5;;6412:159;6603:34;6628:8;6622:4;6603:34;:::i;:::-;6673:6;6669:1;6665:6;6661:19;6652:7;6649:32;6646:58;;;6684:18;;:::i;:::-;6722:20;;5942:806;-1:-1:-1;;;5942:806:1:o;6753:140::-;6811:5;6840:47;6881:4;6871:8;6867:19;6861:4;6840:47;:::i;6898:168::-;6971:9;;;7002;;7019:15;;;7013:22;;6999:37;6989:71;;7040:18;;:::i;7071:349::-;7273:2;7255:21;;;7312:2;7292:18;;;7285:30;7351:27;7346:2;7331:18;;7324:55;7411:2;7396:18;;7071:349::o;7425:352::-;7627:2;7609:21;;;7666:2;7646:18;;;7639:30;7705;7700:2;7685:18;;7678:58;7768:2;7753:18;;7425:352::o;8143:127::-;8204:10;8199:3;8195:20;8192:1;8185:31;8235:4;8232:1;8225:15;8259:4;8256:1;8249:15;9395:251;9465:6;9518:2;9506:9;9497:7;9493:23;9489:32;9486:52;;;9534:1;9531;9524:12;9486:52;9566:9;9560:16;9585:31;9610:5;9585:31;:::i;10572:306::-;10660:6;10668;10676;10729:2;10717:9;10708:7;10704:23;10700:32;10697:52;;;10745:1;10742;10735:12;10697:52;10774:9;10768:16;10758:26;;10824:2;10813:9;10809:18;10803:25;10793:35;;10868:2;10857:9;10853:18;10847:25;10837:35;;10572:306;;;;;:::o;11162:277::-;11229:6;11282:2;11270:9;11261:7;11257:23;11253:32;11250:52;;;11298:1;11295;11288:12;11250:52;11330:9;11324:16;11383:5;11376:13;11369:21;11362:5;11359:32;11349:60;;11405:1;11402;11395:12;14244:125;14309:9;;;14330:10;;;14327:36;;;14343:18;;:::i;14729:135::-;14768:3;14789:17;;;14786:43;;14809:18;;:::i;:::-;-1:-1:-1;14856:1:1;14845:13;;14729:135::o;15221:128::-;15288:9;;;15309:11;;;15306:37;;;15323:18;;:::i;15354:980::-;15616:4;15664:3;15653:9;15649:19;15695:6;15684:9;15677:25;15721:2;15759:6;15754:2;15743:9;15739:18;15732:34;15802:3;15797:2;15786:9;15782:18;15775:31;15826:6;15861;15855:13;15892:6;15884;15877:22;15930:3;15919:9;15915:19;15908:26;;15969:2;15961:6;15957:15;15943:29;;15990:1;16000:195;16014:6;16011:1;16008:13;16000:195;;;16079:13;;-1:-1:-1;;;;;16075:39:1;16063:52;;16170:15;;;;16135:12;;;;16111:1;16029:9;16000:195;;;-1:-1:-1;;;;;;;16251:32:1;;;;16246:2;16231:18;;16224:60;-1:-1:-1;;;16315:3:1;16300:19;16293:35;16212:3;15354:980;-1:-1:-1;;;15354:980:1:o;16339:217::-;16379:1;16405;16395:132;;16449:10;16444:3;16440:20;16437:1;16430:31;16484:4;16481:1;16474:15;16512:4;16509:1;16502:15;16395:132;-1:-1:-1;16541:9:1;;16339:217::o
Swarm Source
ipfs://e7b77df06dd32fd6ec58cd2efc919187ab678530f58c7b83908975269998aec6
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)