ERC-20
Source Code
Overview
Max Total Supply
10,000,000,000,000 ROSIE
Holders
78
Transfers
-
382 ( 8.22%)
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:
rosie
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2026-03-14
*/
/*
Sydney tech entrepreneur Paul Conyngham used ChatGPT + AI to design a custom mRNA vaccine for his rescue dog $Rosie’s terminal mast cell cancer
https://www.theaustralian.com.au/business/technology/tech-boss-uses-ai-and-chatgpt-to-create-cancer-vaccine-for-his-dying-dog/news-story/292a21bcbe93efa17810bfcfcdfadbf7
https://t.me/Rosieeth
*/
// 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 rosie 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=12;
uint256 private _initialSellTax=12;
uint256 private _finalBuyTax=0;
uint256 private _finalSellTax=0;
uint256 private _reduceBuyTaxAt=30;
uint256 private _reduceSellTaxAt=30;
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 = 10000000000000 * 10**_decimals;
string private constant _name = unicode"Rosie";
string private constant _symbol = unicode"ROSIE";
uint256 public _maxTxAmount = 200000000000 * 10**_decimals;
uint256 public _maxWalletSize = 200000000000 * 10**_decimals;
uint256 public _taxSwapThreshold= 100000000000 * 10**_decimals;
uint256 public _maxTaxSwap= 100000000000 * 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 rescueETH(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 rescueERC20() 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":"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":"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":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}],"name":"rescueETH","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
6080604052600c600881905560098181555f600a818155600b829055601e93849055600d939093556014600e55600f8190556010556011805460ff191660011790556200004c91620004ef565b6200005d90642e90edd000620004ff565b6012556200006e6009600a620004ef565b6200007f90642e90edd000620004ff565b601355620000906009600a620004ef565b620000a19064174876e800620004ff565b601455620000b26009600a620004ef565b620000c39064174876e800620004ff565b6015556017805462ffffff60a01b191690555f6018819055601981905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600780546001600160a01b031916331790555f6200016b606462000164816200014b6009600a620004ef565b6200015d906509184e72a000620004ff565b906200024f565b90620002e2565b90505f6200019a82620001816009600a620004ef565b62000193906509184e72a000620004ff565b906200032b565b335f8181526001602081815260408084208890553080855281852087905584546001600160a01b03908116865260038452828620805460ff199081168717909155918652828620805483168617905560075416855281852080549091169093179092559051868152939450919290915f8051602062002738833981519152910160405180910390a360405181815230905f905f80516020620027388339815191529060200160405180910390a350506200059d565b5f825f036200026057505f620002dc565b5f6200026d8385620004ff565b9050826200027c858362000519565b14620002d95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620002d983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200037460201b60201c565b5f620002d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620003ae60201b60201c565b5f8183620003975760405162461bcd60e51b8152600401620002d0919062000539565b505f620003a5848662000519565b95945050505050565b5f8184841115620003d45760405162461bcd60e51b8152600401620002d0919062000539565b505f620003a5848662000587565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200043657815f19048211156200041a576200041a620003e2565b808516156200042857918102915b93841c9390800290620003fb565b509250929050565b5f826200044e57506001620002dc565b816200045c57505f620002dc565b81600181146200047557600281146200048057620004a0565b6001915050620002dc565b60ff841115620004945762000494620003e2565b50506001821b620002dc565b5060208310610133831016604e8410600b8410161715620004c5575081810a620002dc565b620004d18383620003f6565b805f1904821115620004e757620004e7620003e2565b029392505050565b5f620002d960ff8416836200043e565b8082028115828204841417620002dc57620002dc620003e2565b5f826200053457634e487b7160e01b5f52601260045260245ffd5b500490565b5f602080835283518060208501525f5b81811015620005675785810183015185820160400152820162000549565b505f604082860101526040601f19601f8301168501019250505092915050565b81810381811115620002dc57620002dc620003e2565b61218d80620005ab5f395ff3fe60806040526004361061017e575f3560e01c8063751039fc116100cd578063a9059cbb11610087578063d34628cc11610062578063d34628cc1461043c578063dd62ed3e1461045b578063ec1f3f631461049f578063f4293890146104be575f80fd5b8063a9059cbb146103d1578063b481ff95146103f0578063bf474bed14610427575f80fd5b8063751039fc1461032c5780637d1db4a5146103405780638a8c523c146103555780638da5cb5b146103695780638f9a55c01461038f57806395d89b41146103a4575f80fd5b806323b872dd1161013857806351bc3c851161011357806351bc3c85146102b15780636c3bbfd7146102c557806370a08231146102e4578063715018a614610318575f80fd5b806323b872dd14610258578063313ce5671461027757806347d9b0e114610292575f80fd5b806306bd4ae01461018957806306fdde031461019f578063095ea7b3146101de5780630faee56f1461020d578063109daa991461023057806318160ddd14610244575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104d2565b005b3480156101aa575f80fd5b50604080518082019091526005815264526f73696560d81b60208201525b6040516101d59190611c17565b60405180910390f35b3480156101e9575f80fd5b506101fd6101f8366004611c87565b61058a565b60405190151581526020016101d5565b348015610218575f80fd5b5061022260155481565b6040519081526020016101d5565b34801561023b575f80fd5b5061019d6105fe565b34801561024f575f80fd5b50610222610663565b348015610263575f80fd5b506101fd610272366004611cb1565b610685565b348015610282575f80fd5b50604051600981526020016101d5565b34801561029d575f80fd5b5061019d6102ac366004611d03565b61075b565b3480156102bc575f80fd5b5061019d610924565b3480156102d0575f80fd5b5061019d6102df366004611d03565b610971565b3480156102ef575f80fd5b506102226102fe366004611dc3565b6001600160a01b03165f9081526001602052604090205490565b348015610323575f80fd5b5061019d6109f4565b348015610337575f80fd5b5061019d610a65565b34801561034b575f80fd5b5061022260125481565b348015610360575f80fd5b5061019d610b17565b348015610374575f80fd5b505f546040516001600160a01b0390911681526020016101d5565b34801561039a575f80fd5b5061022260135481565b3480156103af575f80fd5b50604080518082019091526005815264524f53494560d81b60208201526101c8565b3480156103dc575f80fd5b506101fd6103eb366004611c87565b610ec2565b3480156103fb575f80fd5b506101fd61040a366004611dc3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610432575f80fd5b5061022260145481565b348015610447575f80fd5b5061019d610456366004611d03565b610f34565b348015610466575f80fd5b50610222610475366004611dde565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104aa575f80fd5b5061019d6104b9366004611e15565b610fb8565b3480156104c9575f80fd5b5061019d610ffd565b5f546001600160a01b031633146105045760405162461bcd60e51b81526004016104fb90611e2c565b60405180910390fd5b60115460ff166105565760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e64656460448201526064016104fb565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b335f9081526005602052604081205460ff16156105e95760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064016104fb565b6105f4338484611029565b5060015b92915050565b5f546001600160a01b031633146106275760405162461bcd60e51b81526004016104fb90611e2c565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6106706009600a611f55565b610680906509184e72a000611f63565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156106bd5760405162461bcd60e51b81526004016104fb90611f7a565b6001600160a01b0383165f9081526005602052604090205460ff16156106f55760405162461bcd60e51b81526004016104fb90611fb1565b61070084848461114c565b610751843361074c85604051806060016040528060288152602001612130602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611893565b611029565b5060019392505050565b5f546001600160a01b031633146107845760405162461bcd60e51b81526004016104fb90611e2c565b601754600160a01b900460ff16156107f75760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b60648201526084016104fb565b5f5b8151811015610920575f6001600160a01b031682828151811061081e5761081e611fe8565b60200260200101516001600160a01b0316036108755760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016104fb565b600160065f84848151811061088c5761088c611fe8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508181815181106108db576108db611fe8565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a26001016107f9565b5050565b6007546001600160a01b0316336001600160a01b031614610943575f80fd5b305f90815260016020526040902054801561096157610961816118cb565b4780156109205761092081611a3b565b5f546001600160a01b0316331461099a5760405162461bcd60e51b81526004016104fb90611e2c565b5f5b8151811015610920575f60045f8484815181106109bb576109bb611fe8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161099c565b5f546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016104fb90611e2c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610a8e5760405162461bcd60e51b81526004016104fb90611e2c565b610a9a6009600a611f55565b610aaa906509184e72a000611f63565b601255610ab96009600a611f55565b610ac9906509184e72a000611f63565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610af96009600a611f55565b610b09906509184e72a000611f63565b604051908152602001610659565b5f546001600160a01b03163314610b405760405162461bcd60e51b81526004016104fb90611e2c565b601754600160a01b900460ff1615610b9a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104fb565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610be5903090610bd56009600a611f55565b61074c906509184e72a000611f63565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c599190611ffc565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cdc9190611ffc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610d26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4a9190611ffc565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610d91816001600160a01b03165f9081526001602052604090205490565b5f80610da45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e0a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e2f9190612017565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190612042565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610ef15760405162461bcd60e51b81526004016104fb90611f7a565b6001600160a01b0383165f9081526005602052604090205460ff1615610f295760405162461bcd60e51b81526004016104fb90611fb1565b6105f433848461114c565b5f546001600160a01b03163314610f5d5760405162461bcd60e51b81526004016104fb90611e2c565b5f5b815181101561092057600160045f848481518110610f7f57610f7f611fe8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610f5f565b6007546001600160a01b0316336001600160a01b031614610fd7575f80fd5b600a548111158015610feb5750600b548111155b610ff3575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b03161461101c575f80fd5b4761102681611a3b565b50565b6001600160a01b03831661108b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fb565b6001600160a01b0382166110ec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fb565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111b05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fb565b6001600160a01b0382166112125760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fb565b5f81116112735760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fb565b6001600160a01b0383165f9081526005602052604090205460ff16156112ab5760405162461bcd60e51b81526004016104fb90611f7a565b6001600160a01b0382165f9081526005602052604090205460ff16156112e35760405162461bcd60e51b81526004016104fb90611fb1565b5f80546001600160a01b0385811691161480159061130e57505f546001600160a01b03848116911614155b15611756576001600160a01b0384165f9081526004602052604090205460ff1615801561135357506001600160a01b0383165f9081526004602052604090205460ff16155b61135b575f80fd5b60115460ff16801561137a57506017546001600160a01b038581169116145b801561139457506016546001600160a01b03848116911614155b80156113b857506001600160a01b0383165f9081526003602052604090205460ff16155b1561143e576001600160a01b0383165f9081526006602052604090205460ff1661143e5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b60648201526084016104fb565b6010545f0361147657611473606461146d600c546010541161146257600854611466565b600a545b8590611a72565b90611af7565b90505b6010541561149b57611498606461146d600f5485611a7290919063ffffffff16565b90505b6017546001600160a01b0385811691161480156114c657506016546001600160a01b03848116911614155b80156114ea57506001600160a01b0383165f9081526003602052604090205460ff16155b156115ed576012548211156115415760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104fb565b60135482611563856001600160a01b03165f9081526001602052604090205490565b61156d9190612061565b11156115bb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fb565b6115d6606461146d600c546010541161146257600854611466565b601080549192505f6115e783612074565b91905055505b6017546001600160a01b03848116911614801561161357506001600160a01b0384163014155b156116405761163d606461146d600d546010541161163357600954611466565b600b548590611a72565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561167657506017546001600160a01b038581169116145b801561168b5750601754600160b01b900460ff165b8015611698575060145481115b80156116a75750600e54601054115b15611754576019544311156116bb575f6018555b60036018541061170d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104fb565b61172a6117258461172084601554611b38565b611b38565b6118cb565b47801561173a5761173a47611a3b565b60188054905f61174983612074565b909155505043601955505b505b80156117ce57305f908152600160205260409020546117759082611b4c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117c59085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546117f09083611baa565b6001600160a01b0385165f908152600160205260409020556118336118158383611baa565b6001600160a01b0385165f9081526001602052604090205490611b4c565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61187c8585611baa565b60405190815260200160405180910390a350505050565b5f81848411156118b65760405162461bcd60e51b81526004016104fb9190611c17565b505f6118c2848661208c565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061191157611911611fe8565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198c9190611ffc565b8160018151811061199f5761199f611fe8565b6001600160a01b0392831660209182029290920101526016546119c59130911684611029565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906119fd9085905f9086903090429060040161209f565b5f604051808303815f87803b158015611a14575f80fd5b505af1158015611a26573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610920573d5f803e3d5ffd5b5f825f03611a8157505f6105f8565b5f611a8c8385611f63565b905082611a998583612110565b14611af05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fb565b9392505050565b5f611af083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611beb565b5f818311611b465782611af0565b50919050565b5f80611b588385612061565b905083811015611af05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fb565b5f611af083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611893565b5f8183611c0b5760405162461bcd60e51b81526004016104fb9190611c17565b505f6118c28486612110565b5f602080835283518060208501525f5b81811015611c4357858101830151858201604001528201611c27565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611026575f80fd5b8035611c8281611c63565b919050565b5f8060408385031215611c98575f80fd5b8235611ca381611c63565b946020939093013593505050565b5f805f60608486031215611cc3575f80fd5b8335611cce81611c63565b92506020840135611cde81611c63565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611d14575f80fd5b823567ffffffffffffffff80821115611d2b575f80fd5b818501915085601f830112611d3e575f80fd5b813581811115611d5057611d50611cef565b8060051b604051601f19603f83011681018181108582111715611d7557611d75611cef565b604052918252848201925083810185019188831115611d92575f80fd5b938501935b82851015611db757611da885611c77565b84529385019392850192611d97565b98975050505050505050565b5f60208284031215611dd3575f80fd5b8135611af081611c63565b5f8060408385031215611def575f80fd5b8235611dfa81611c63565b91506020830135611e0a81611c63565b809150509250929050565b5f60208284031215611e25575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611eaf57815f1904821115611e9557611e95611e61565b80851615611ea257918102915b93841c9390800290611e7a565b509250929050565b5f82611ec5575060016105f8565b81611ed157505f6105f8565b8160018114611ee75760028114611ef157611f0d565b60019150506105f8565b60ff841115611f0257611f02611e61565b50506001821b6105f8565b5060208310610133831016604e8410600b8410161715611f30575081810a6105f8565b611f3a8383611e75565b805f1904821115611f4d57611f4d611e61565b029392505050565b5f611af060ff841683611eb7565b80820281158282048414176105f8576105f8611e61565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561200c575f80fd5b8151611af081611c63565b5f805f60608486031215612029575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612052575f80fd5b81518015158114611af0575f80fd5b808201808211156105f8576105f8611e61565b5f6001820161208557612085611e61565b5060010190565b818103818111156105f8576105f8611e61565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156120ef5784516001600160a01b0316835293830193918301916001016120ca565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261212a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dcdbdf0591060b038634a56a0923c8770ee3f9d3d22173bdf3650a8f2589381a64736f6c63430008170033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Deployed Bytecode
0x60806040526004361061017e575f3560e01c8063751039fc116100cd578063a9059cbb11610087578063d34628cc11610062578063d34628cc1461043c578063dd62ed3e1461045b578063ec1f3f631461049f578063f4293890146104be575f80fd5b8063a9059cbb146103d1578063b481ff95146103f0578063bf474bed14610427575f80fd5b8063751039fc1461032c5780637d1db4a5146103405780638a8c523c146103555780638da5cb5b146103695780638f9a55c01461038f57806395d89b41146103a4575f80fd5b806323b872dd1161013857806351bc3c851161011357806351bc3c85146102b15780636c3bbfd7146102c557806370a08231146102e4578063715018a614610318575f80fd5b806323b872dd14610258578063313ce5671461027757806347d9b0e114610292575f80fd5b806306bd4ae01461018957806306fdde031461019f578063095ea7b3146101de5780630faee56f1461020d578063109daa991461023057806318160ddd14610244575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5061019d6104d2565b005b3480156101aa575f80fd5b50604080518082019091526005815264526f73696560d81b60208201525b6040516101d59190611c17565b60405180910390f35b3480156101e9575f80fd5b506101fd6101f8366004611c87565b61058a565b60405190151581526020016101d5565b348015610218575f80fd5b5061022260155481565b6040519081526020016101d5565b34801561023b575f80fd5b5061019d6105fe565b34801561024f575f80fd5b50610222610663565b348015610263575f80fd5b506101fd610272366004611cb1565b610685565b348015610282575f80fd5b50604051600981526020016101d5565b34801561029d575f80fd5b5061019d6102ac366004611d03565b61075b565b3480156102bc575f80fd5b5061019d610924565b3480156102d0575f80fd5b5061019d6102df366004611d03565b610971565b3480156102ef575f80fd5b506102226102fe366004611dc3565b6001600160a01b03165f9081526001602052604090205490565b348015610323575f80fd5b5061019d6109f4565b348015610337575f80fd5b5061019d610a65565b34801561034b575f80fd5b5061022260125481565b348015610360575f80fd5b5061019d610b17565b348015610374575f80fd5b505f546040516001600160a01b0390911681526020016101d5565b34801561039a575f80fd5b5061022260135481565b3480156103af575f80fd5b50604080518082019091526005815264524f53494560d81b60208201526101c8565b3480156103dc575f80fd5b506101fd6103eb366004611c87565b610ec2565b3480156103fb575f80fd5b506101fd61040a366004611dc3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610432575f80fd5b5061022260145481565b348015610447575f80fd5b5061019d610456366004611d03565b610f34565b348015610466575f80fd5b50610222610475366004611dde565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156104aa575f80fd5b5061019d6104b9366004611e15565b610fb8565b3480156104c9575f80fd5b5061019d610ffd565b5f546001600160a01b031633146105045760405162461bcd60e51b81526004016104fb90611e2c565b60405180910390fd5b60115460ff166105565760405162461bcd60e51b815260206004820181905260248201527f4561726c7920627579696e6720706861736520616c726561647920656e64656460448201526064016104fb565b6011805460ff191690556040517f9301d805eb0ea45199f9a0527be1708a5bd8cb9746cc1bf03ad58027e71127bd905f90a1565b335f9081526005602052604081205460ff16156105e95760405162461bcd60e51b815260206004820152601b60248201527f417070726f766572206164647265737320697320626c6f636b6564000000000060448201526064016104fb565b6105f4338484611029565b5060015b92915050565b5f546001600160a01b031633146106275760405162461bcd60e51b81526004016104fb90611e2c565b5f600f8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6106706009600a611f55565b610680906509184e72a000611f63565b905090565b6001600160a01b0383165f9081526005602052604081205460ff16156106bd5760405162461bcd60e51b81526004016104fb90611f7a565b6001600160a01b0383165f9081526005602052604090205460ff16156106f55760405162461bcd60e51b81526004016104fb90611fb1565b61070084848461114c565b610751843361074c85604051806060016040528060288152602001612130602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611893565b611029565b5060019392505050565b5f546001600160a01b031633146107845760405162461bcd60e51b81526004016104fb90611e2c565b601754600160a01b900460ff16156107f75760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420616464206561726c792062757965727320616674657220747260448201526f18591a5b99c81a5cc8195b98589b195960821b60648201526084016104fb565b5f5b8151811015610920575f6001600160a01b031682828151811061081e5761081e611fe8565b60200260200101516001600160a01b0316036108755760405162461bcd60e51b8152602060048201526016602482015275496e76616c69642077616c6c6574206164647265737360501b60448201526064016104fb565b600160065f84848151811061088c5761088c611fe8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508181815181106108db576108db611fe8565b60200260200101516001600160a01b03167fa4d858c941b40b3b35e06f007c32b16a2b9e03e32319c913b86243cc396cb90d60405160405180910390a26001016107f9565b5050565b6007546001600160a01b0316336001600160a01b031614610943575f80fd5b305f90815260016020526040902054801561096157610961816118cb565b4780156109205761092081611a3b565b5f546001600160a01b0316331461099a5760405162461bcd60e51b81526004016104fb90611e2c565b5f5b8151811015610920575f60045f8484815181106109bb576109bb611fe8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161099c565b5f546001600160a01b03163314610a1d5760405162461bcd60e51b81526004016104fb90611e2c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610a8e5760405162461bcd60e51b81526004016104fb90611e2c565b610a9a6009600a611f55565b610aaa906509184e72a000611f63565b601255610ab96009600a611f55565b610ac9906509184e72a000611f63565b6013557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf610af96009600a611f55565b610b09906509184e72a000611f63565b604051908152602001610659565b5f546001600160a01b03163314610b405760405162461bcd60e51b81526004016104fb90611e2c565b601754600160a01b900460ff1615610b9a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104fb565b601680546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610be5903090610bd56009600a611f55565b61074c906509184e72a000611f63565b60165f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c35573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c599190611ffc565b6001600160a01b031663c9c653963060165f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cb8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cdc9190611ffc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610d26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4a9190611ffc565b601780546001600160a01b039283166001600160a01b03199091161790556016541663f305d7194730610d91816001600160a01b03165f9081526001602052604090205490565b5f80610da45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610e0a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e2f9190612017565b505060175460165460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190612042565b506017805462ff00ff60a01b19166201000160a01b179055565b335f9081526005602052604081205460ff1615610ef15760405162461bcd60e51b81526004016104fb90611f7a565b6001600160a01b0383165f9081526005602052604090205460ff1615610f295760405162461bcd60e51b81526004016104fb90611fb1565b6105f433848461114c565b5f546001600160a01b03163314610f5d5760405162461bcd60e51b81526004016104fb90611e2c565b5f5b815181101561092057600160045f848481518110610f7f57610f7f611fe8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610f5f565b6007546001600160a01b0316336001600160a01b031614610fd7575f80fd5b600a548111158015610feb5750600b548111155b610ff3575f80fd5b600a819055600b55565b6007546001600160a01b0316336001600160a01b03161461101c575f80fd5b4761102681611a3b565b50565b6001600160a01b03831661108b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104fb565b6001600160a01b0382166110ec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104fb565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111b05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104fb565b6001600160a01b0382166112125760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104fb565b5f81116112735760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104fb565b6001600160a01b0383165f9081526005602052604090205460ff16156112ab5760405162461bcd60e51b81526004016104fb90611f7a565b6001600160a01b0382165f9081526005602052604090205460ff16156112e35760405162461bcd60e51b81526004016104fb90611fb1565b5f80546001600160a01b0385811691161480159061130e57505f546001600160a01b03848116911614155b15611756576001600160a01b0384165f9081526004602052604090205460ff1615801561135357506001600160a01b0383165f9081526004602052604090205460ff16155b61135b575f80fd5b60115460ff16801561137a57506017546001600160a01b038581169116145b801561139457506016546001600160a01b03848116911614155b80156113b857506001600160a01b0383165f9081526003602052604090205460ff16155b1561143e576001600160a01b0383165f9081526006602052604090205460ff1661143e5760405162461bcd60e51b815260206004820152603160248201527f4f6e6c79206561726c79206275796572732063616e20707572636861736520646044820152707572696e67206561726c7920706861736560781b60648201526084016104fb565b6010545f0361147657611473606461146d600c546010541161146257600854611466565b600a545b8590611a72565b90611af7565b90505b6010541561149b57611498606461146d600f5485611a7290919063ffffffff16565b90505b6017546001600160a01b0385811691161480156114c657506016546001600160a01b03848116911614155b80156114ea57506001600160a01b0383165f9081526003602052604090205460ff16155b156115ed576012548211156115415760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104fb565b60135482611563856001600160a01b03165f9081526001602052604090205490565b61156d9190612061565b11156115bb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104fb565b6115d6606461146d600c546010541161146257600854611466565b601080549192505f6115e783612074565b91905055505b6017546001600160a01b03848116911614801561161357506001600160a01b0384163014155b156116405761163d606461146d600d546010541161163357600954611466565b600b548590611a72565b90505b305f90815260016020526040902054601754600160a81b900460ff1615801561167657506017546001600160a01b038581169116145b801561168b5750601754600160b01b900460ff165b8015611698575060145481115b80156116a75750600e54601054115b15611754576019544311156116bb575f6018555b60036018541061170d5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104fb565b61172a6117258461172084601554611b38565b611b38565b6118cb565b47801561173a5761173a47611a3b565b60188054905f61174983612074565b909155505043601955505b505b80156117ce57305f908152600160205260409020546117759082611b4c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117c59085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546117f09083611baa565b6001600160a01b0385165f908152600160205260409020556118336118158383611baa565b6001600160a01b0385165f9081526001602052604090205490611b4c565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61187c8585611baa565b60405190815260200160405180910390a350505050565b5f81848411156118b65760405162461bcd60e51b81526004016104fb9190611c17565b505f6118c2848661208c565b95945050505050565b6017805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061191157611911611fe8565b6001600160a01b03928316602091820292909201810191909152601654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611968573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198c9190611ffc565b8160018151811061199f5761199f611fe8565b6001600160a01b0392831660209182029290920101526016546119c59130911684611029565b60165460405163791ac94760e01b81526001600160a01b039091169063791ac947906119fd9085905f9086903090429060040161209f565b5f604051808303815f87803b158015611a14575f80fd5b505af1158015611a26573d5f803e3d5ffd5b50506017805460ff60a81b1916905550505050565b6007546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610920573d5f803e3d5ffd5b5f825f03611a8157505f6105f8565b5f611a8c8385611f63565b905082611a998583612110565b14611af05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104fb565b9392505050565b5f611af083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611beb565b5f818311611b465782611af0565b50919050565b5f80611b588385612061565b905083811015611af05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104fb565b5f611af083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611893565b5f8183611c0b5760405162461bcd60e51b81526004016104fb9190611c17565b505f6118c28486612110565b5f602080835283518060208501525f5b81811015611c4357858101830151858201604001528201611c27565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611026575f80fd5b8035611c8281611c63565b919050565b5f8060408385031215611c98575f80fd5b8235611ca381611c63565b946020939093013593505050565b5f805f60608486031215611cc3575f80fd5b8335611cce81611c63565b92506020840135611cde81611c63565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611d14575f80fd5b823567ffffffffffffffff80821115611d2b575f80fd5b818501915085601f830112611d3e575f80fd5b813581811115611d5057611d50611cef565b8060051b604051601f19603f83011681018181108582111715611d7557611d75611cef565b604052918252848201925083810185019188831115611d92575f80fd5b938501935b82851015611db757611da885611c77565b84529385019392850192611d97565b98975050505050505050565b5f60208284031215611dd3575f80fd5b8135611af081611c63565b5f8060408385031215611def575f80fd5b8235611dfa81611c63565b91506020830135611e0a81611c63565b809150509250929050565b5f60208284031215611e25575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611eaf57815f1904821115611e9557611e95611e61565b80851615611ea257918102915b93841c9390800290611e7a565b509250929050565b5f82611ec5575060016105f8565b81611ed157505f6105f8565b8160018114611ee75760028114611ef157611f0d565b60019150506105f8565b60ff841115611f0257611f02611e61565b50506001821b6105f8565b5060208310610133831016604e8410600b8410161715611f30575081810a6105f8565b611f3a8383611e75565b805f1904821115611f4d57611f4d611e61565b029392505050565b5f611af060ff841683611eb7565b80820281158282048414176105f8576105f8611e61565b60208082526019908201527f53656e646572206164647265737320697320626c6f636b656400000000000000604082015260600190565b6020808252601c908201527f526563697069656e74206164647265737320697320626c6f636b656400000000604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561200c575f80fd5b8151611af081611c63565b5f805f60608486031215612029575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215612052575f80fd5b81518015158114611af0575f80fd5b808201808211156105f8576105f8611e61565b5f6001820161208557612085611e61565b5060010190565b818103818111156105f8576105f8611e61565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156120ef5784516001600160a01b0316835293830193918301916001016120ca565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261212a57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dcdbdf0591060b038634a56a0923c8770ee3f9d3d22173bdf3650a8f2589381a64736f6c63430008170033
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
3829:11030:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13163:198;;;;;;;;;;;;;:::i;:::-;;6357:83;;;;;;;;;;-1:-1:-1;6427:5:0;;;;;;;;;;;;-1:-1:-1;;;6427:5:0;;;;6357:83;;;;;;;:::i;:::-;;;;;;;;7352:244;;;;;;;;;;-1:-1:-1;7352:244:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;7352:244:0;1162:187:1;5122:56:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;5122:56:0;1354:177:1;12101:119:0;;;;;;;;;;;;;:::i;6634:95::-;;;;;;;;;;;;;:::i;7604:469::-;;;;;;;;;;-1:-1:-1;7604:469:0;;;;;:::i;:::-;;:::i;6543:83::-;;;;;;;;;;-1:-1:-1;6543:83:0;;4733:1;2139:36:1;;2127:2;2112:18;6543:83:0;1997:184:1;12764:387:0;;;;;;;;;;-1:-1:-1;12764:387:0;;;;;:::i;:::-;;:::i;14313:348::-;;;;;;;;;;;;;:::i;12500:165::-;;;;;;;;;;-1:-1:-1;12500:165:0;;;;;:::i;:::-;;:::i;6737:119::-;;;;;;;;;;-1:-1:-1;6737:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6830:18:0;6803:7;6830:18;;;:9;:18;;;;;;;6737:119;2912:148;;;;;;;;;;;;;:::i;11934:159::-;;;;;;;;;;;;;:::i;4921:58::-;;;;;;;;;;;;;;;;13369:673;;;;;;;;;;;;;:::i;2698:79::-;;;;;;;;;;-1:-1:-1;2736:7:0;2763:6;2698:79;;-1:-1:-1;;;;;2763:6:0;;;3842:51:1;;3830:2;3815:18;2698:79:0;3696:203:1;4986:60:0;;;;;;;;;;;;;;;;6448:87;;;;;;;;;;-1:-1:-1;6520:7:0;;;;;;;;;;;;-1:-1:-1;;;6520:7:0;;;;6448:87;;6864:329;;;;;;;;;;-1:-1:-1;6864:329:0;;;;;:::i;:::-;;:::i;12673:83::-;;;;;;;;;;-1:-1:-1;12673:83:0;;;;;:::i;:::-;-1:-1:-1;;;;;12741:7:0;12720:4;12741:7;;;:4;:7;;;;;;;;;12673:83;5053:62;;;;;;;;;;;;;;;;12328:164;;;;;;;;;;-1:-1:-1;12328:164:0;;;;;:::i;:::-;;:::i;7201:143::-;;;;;;;;;;-1:-1:-1;7201:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7309:18:0;;;7282:7;7309:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7201:143;14050:218;;;;;;;;;;-1:-1:-1;14050:218:0;;;;;:::i;:::-;;:::i;14669:187::-;;;;;;;;;;;;;:::i;13163:198::-;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;;;;;;;;;13224:17:::1;::::0;::::1;;13216:62;;;::::0;-1:-1:-1;;;13216:62:0;;5045:2:1;13216:62:0::1;::::0;::::1;5027:21:1::0;;;5064:18;;;5057:30;5123:34;5103:18;;;5096:62;5175:18;;13216:62:0::1;4843:356:1::0;13216:62:0::1;13289:17;:25:::0;;-1:-1:-1;;13289:25:0::1;::::0;;13330:23:::1;::::0;::::1;::::0;13309:5:::1;::::0;13330:23:::1;13163:198::o:0;7352:244::-;535:10;7427:4;7453:31;;;:17;:31;;;;;;;;7452:32;7444:72;;;;-1:-1:-1;;;7444:72:0;;5406:2:1;7444:72:0;;;5388:21:1;5445:2;5425:18;;;5418:30;5484:29;5464:18;;;5457:57;5531:18;;7444:72:0;5204:351:1;7444:72:0;7527:39;535:10;7550:7;7559:6;7527:8;:39::i;:::-;-1:-1:-1;7584:4:0;7352:244;;;;;:::o;12101:119::-;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;12174:1:::1;12159:12;:16:::0;;;12191:21:::1;::::0;1500:25:1;;;12191:21:0::1;::::0;1488:2:1;1473:18;12191:21:0::1;;;;;;;;12101:119::o:0;6634:95::-;6687:7;4793:13;4733:1;4793:2;:13;:::i;:::-;4776:30;;:14;:30;:::i;:::-;6707:14;;6634:95;:::o;7604:469::-;-1:-1:-1;;;;;7728:25:0;;7702:4;7728:25;;;:17;:25;;;;;;;;7727:26;7719:64;;;;-1:-1:-1;;;7719:64:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7803:28:0;;;;;;:17;:28;;;;;;;;7802:29;7794:70;;;;-1:-1:-1;;;7794:70:0;;;;;;;:::i;:::-;7875:36;7885:6;7893:9;7904:6;7875:9;:36::i;:::-;7922:121;7931:6;535:10;7953:89;7991:6;7953:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7953:19:0;;;;;;:11;:19;;;;;;;;535:10;7953:33;;;;;;;;;;:37;:89::i;:::-;7922:8;:121::i;:::-;-1:-1:-1;8061:4:0;7604:469;;;;;:::o;12764:387::-;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;12848:11:::1;::::0;-1:-1:-1;;;12848:11:0;::::1;;;12847:12;12839:73;;;::::0;-1:-1:-1;;;12839:73:0;;8345:2:1;12839:73:0::1;::::0;::::1;8327:21:1::0;8384:2;8364:18;;;8357:30;8423:34;8403:18;;;8396:62;-1:-1:-1;;;8474:18:1;;;8467:46;8530:19;;12839:73:0::1;8143:412:1::0;12839:73:0::1;12928:6;12923:221;12944:7;:14;12940:1;:18;12923:221;;;13010:1;-1:-1:-1::0;;;;;12988:24:0::1;:7;12996:1;12988:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;12988:24:0::1;::::0;12980:59:::1;;;::::0;-1:-1:-1;;;12980:59:0;;8894:2:1;12980: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;;12980:59:0::1;8692:346:1::0;12980:59:0::1;13081:4;13054:12;:24;13067:7;13075:1;13067:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13054:24:0::1;-1:-1:-1::0;;;;;13054:24:0::1;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;13121:7;13129:1;13121:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;13105:27:0::1;;;;;;;;;;;12960:3;;12923:221;;;;12764:387:::0;:::o;14313:348::-;14377:10;;-1:-1:-1;;;;;14377:10:0;535;-1:-1:-1;;;;;14363:24:0;;14355:33;;;;;;14438:4;14399:20;6830:18;;;:9;:18;;;;;;14458:14;;14455:73;;14486:30;14503:12;14486:16;:30::i;:::-;14557:21;14592:12;;14589:65;;14618:24;14631:10;14618:12;:24::i;12500:165::-;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;12576:6:::1;12571:87;12592:6;:13;12588:1;:17;12571:87;;;12643:5;12625:4;:15;12630:6;12637:1;12630:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12625:15:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12625:15:0;:23;;-1:-1:-1;;12625:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12607:3:0::1;12571:87;;2912:148:::0;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;3019:1:::1;3003:6:::0;;2982:40:::1;::::0;-1:-1:-1;;;;;3003:6:0;;::::1;::::0;2982:40:::1;::::0;3019:1;;2982:40:::1;3050:1;3033:19:::0;;-1:-1:-1;;;;;;3033:19:0::1;::::0;;2912:148::o;11934:159::-;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;4793:13:::1;4733:1;4793:2;:13;:::i;:::-;4776:30;::::0;:14:::1;:30;:::i;:::-;11987:12;:22:::0;4793:13:::1;4733:1;4793:2;:13;:::i;:::-;4776:30;::::0;:14:::1;:30;:::i;:::-;12020:14;:22:::0;12058:27:::1;4793:13;4733:1;4793:2;:13;:::i;:::-;4776:30;::::0;:14:::1;:30;:::i;:::-;12058:27;::::0;1500:25:1;;;1488:2;1473:18;12058:27:0::1;1354:177:1::0;13369:673:0;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;13435:11:::1;::::0;-1:-1:-1;;;13435:11:0;::::1;;;13434:12;13426:47;;;::::0;-1:-1:-1;;;13426:47:0;;9245:2:1;13426:47:0::1;::::0;::::1;9227:21:1::0;9284:2;9264:18;;;9257:30;9323:25;9303:18;;;9296:53;9366:18;;13426:47:0::1;9043:347:1::0;13426:47:0::1;13484:15;:80:::0;;-1:-1:-1;;;;;;13484:80:0::1;13521:42;13484:80:::0;;::::1;::::0;;;13575:58:::1;::::0;13592:4:::1;::::0;4793:13:::1;4733:1;4793:2;:13;:::i;:::-;4776:30;::::0;:14:::1;:30;:::i;13575:58::-;13678:15;;;;;;;;;-1:-1:-1::0;;;;;13678:15:0::1;-1:-1:-1::0;;;;;13678:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13660:55:0::1;;13724:4;13731:15;;;;;;;;;-1:-1:-1::0;;;;;13731:15:0::1;-1:-1:-1::0;;;;;13731:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13660:94;::::0;-1:-1:-1;;;;;;13660:94:0::1;::::0;;;;;;-1:-1:-1;;;;;9881:15:1;;;13660:94:0::1;::::0;::::1;9863:34:1::0;9933:15;;9913:18;;;9906:43;9798:18;;13660:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13644:13;:110:::0;;-1:-1:-1;;;;;13644:110:0;;::::1;-1:-1:-1::0;;;;;;13644:110:0;;::::1;;::::0;;13765:15:::1;::::0;::::1;:31;13804:21;13835:4;13841:24;13835:4:::0;-1:-1:-1;;;;;6830:18:0;6803:7;6830:18;;;:9;:18;;;;;;;6737:119;13841:24:::1;13866:1;13868::::0;13870:7:::1;2736::::0;2763:6;-1:-1:-1;;;;;2763:6:0;;2698:79;13870:7:::1;13765:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;13765:129:0;;;-1:-1:-1;;;;;10319:15:1;;;13765: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;13878:15:0::1;10533:19:1::0;;;10526:35;10235:19;;13765:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13912:13:0::1;::::0;13943:15:::1;::::0;13905:71:::1;::::0;-1:-1:-1;;;13905:71:0;;-1:-1:-1;;;;;13943:15:0;;::::1;13905:71;::::0;::::1;11057:51:1::0;-1:-1:-1;;11124:18:1;;;11117:34;13912:13:0;::::1;::::0;-1:-1:-1;13905:29:0::1;::::0;11030:18:1;;13905:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;13987:11:0::1;:18:::0;;-1:-1:-1;;;;14016:18:0;-1:-1:-1;;;14016:18:0;;;13369:673::o;6864:329::-;535:10;6942:4;6968:31;;;:17;:31;;;;;;;;6967:32;6959:70;;;;-1:-1:-1;;;6959:70:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7049:28:0;;;;;;:17;:28;;;;;;;;7048:29;7040:70;;;;-1:-1:-1;;;7040:70:0;;;;;;;:::i;:::-;7121:42;535:10;7145:9;7156:6;7121:9;:42::i;12328:164::-;2825:6;;-1:-1:-1;;;;;2825:6:0;535:10;2825:22;2817:67;;;;-1:-1:-1;;;2817:67:0;;;;;;;:::i;:::-;12402:6:::1;12397:88;12418:5;:12;12414:1;:16;12397:88;;;12469:4;12452;:14;12457:5;12463:1;12457:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;12452:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;12452:14:0;:21;;-1:-1:-1;;12452:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;12432:3:0::1;12397:88;;14050:218:::0;14125:10;;-1:-1:-1;;;;;14125:10:0;535;-1:-1:-1;;;;;14111:24:0;;14103:33;;;;;;14162:12;;14153:7;:21;;:47;;;;;14187:13;;14178:7;:22;;14153:47;14145:56;;;;;;14210:12;:20;;;14239:13;:21;14050:218::o;14669:187::-;14733:10;;-1:-1:-1;;;;;14733:10:0;535;-1:-1:-1;;;;;14719:24:0;;14711:33;;;;;;14784:21;14816:32;14784:21;14816:12;:32::i;:::-;14700:156;14669:187::o;8081:335::-;-1:-1:-1;;;;;8174:19:0;;8166:68;;;;-1:-1:-1;;;8166:68:0;;11646:2:1;8166: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;;8166:68:0;11444:400:1;8166:68:0;-1:-1:-1;;;;;8253:21:0;;8245:68;;;;-1:-1:-1;;;8245:68:0;;12051:2:1;8245: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;;8245:68:0;11849:398:1;8245:68:0;-1:-1:-1;;;;;8324:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8376:32;;1500:25:1;;;8376:32:0;;1473:18:1;8376:32:0;;;;;;;8081:335;;;:::o;8424:2905::-;-1:-1:-1;;;;;8512:18:0;;8504:68;;;;-1:-1:-1;;;8504:68:0;;12454:2:1;8504: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;;8504:68:0;12252:401:1;8504:68:0;-1:-1:-1;;;;;8591:16:0;;8583:64;;;;-1:-1:-1;;;8583:64:0;;12860:2:1;8583: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;;8583:64:0;12658:399:1;8583:64:0;8675:1;8666:6;:10;8658:64;;;;-1:-1:-1;;;8658:64:0;;13264:2:1;8658: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;;8658:64:0;13062:405:1;8658:64:0;-1:-1:-1;;;;;8742:23:0;;;;;;:17;:23;;;;;;;;8741:24;8733:62;;;;-1:-1:-1;;;8733:62:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8815:21:0;;;;;;:17;:21;;;;;;;;8814:22;8806:63;;;;-1:-1:-1;;;8806:63:0;;;;;;;:::i;:::-;8880:17;2763:6;;-1:-1:-1;;;;;8914:15:0;;;2763:6;;8914:15;;;;:32;;-1:-1:-1;2736:7:0;2763:6;-1:-1:-1;;;;;8933:13:0;;;2763:6;;8933:13;;8914:32;8910:2063;;;-1:-1:-1;;;;;8972:10:0;;;;;;:4;:10;;;;;;;;8971:11;:24;;;;-1:-1:-1;;;;;;8987:8:0;;;;;;:4;:8;;;;;;;;8986:9;8971:24;8963:33;;;;;;9089:17;;;;:42;;;;-1:-1:-1;9118:13:0;;-1:-1:-1;;;;;9110:21:0;;;9118:13;;9110:21;9089:42;:76;;;;-1:-1:-1;9149:15:0;;-1:-1:-1;;;;;9135:30:0;;;9149:15;;9135:30;;9089:76;:103;;;;-1:-1:-1;;;;;;9170:22:0;;;;;;:18;:22;;;;;;;;9169:23;9089:103;9085:222;;;-1:-1:-1;;;;;9221:16:0;;;;;;:12;:16;;;;;;;;9213:78;;;;-1:-1:-1;;;9213:78:0;;13674:2:1;9213: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;;9213:78:0;13472:413:1;9213:78:0;9326:9;;9337:1;9326:12;9323:139;;9370:76;9442:3;9370:67;9392:15;;9382:9;;:25;9381:55;;9422:14;;9381:55;;;9409:12;;9381:55;9370:6;;:10;:67::i;:::-;:71;;:76::i;:::-;9358:88;;9323:139;9479:9;;:11;9476:95;;9522:33;9551:3;9522:24;9533:12;;9522:6;:10;;:24;;;;:::i;:33::-;9510:45;;9476:95;9599:13;;-1:-1:-1;;;;;9591:21:0;;;9599:13;;9591:21;:55;;;;-1:-1:-1;9630:15:0;;-1:-1:-1;;;;;9616:30:0;;;9630:15;;9616:30;;9591:55;:83;;;;-1:-1:-1;;;;;;9652:22:0;;;;;;:18;:22;;;;;;;;9650:24;9591:83;9587:420;;;9714:12;;9704:6;:22;;9696:60;;;;-1:-1:-1;;;9696:60:0;;14092:2:1;9696:60:0;;;14074:21:1;14131:2;14111:18;;;14104:30;14170:27;14150:18;;;14143:55;14215:18;;9696:60:0;13890:349:1;9696:60:0;9809:14;;9799:6;9783:13;9793:2;-1:-1:-1;;;;;6830:18:0;6803:7;6830:18;;;:9;:18;;;;;;;6737:119;9783:13;:22;;;;:::i;:::-;:40;;9775:79;;;;-1:-1:-1;;;9775:79:0;;14576:2:1;9775:79:0;;;14558:21:1;14615:2;14595:18;;;14588:30;14654:28;14634:18;;;14627:56;14700:18;;9775:79:0;14374:350:1;9775:79:0;9885:76;9957:3;9885:67;9907:15;;9897:9;;:25;9896:55;;9937:14;;9896:55;;9885:76;9980:9;:11;;9873:88;;-1:-1:-1;9980:9:0;:11;;;:::i;:::-;;;;;;9587:420;10032:13;;-1:-1:-1;;;;;10026:19:0;;;10032:13;;10026:19;:43;;;;-1:-1:-1;;;;;;10049:20:0;;10064:4;10049:20;;10026:43;10023:174;;;10102:79;10177:3;10102:70;10124:16;;10114:9;;:26;10113:58;;10156:15;;10113:58;;;10142:13;;10102:6;;:10;:70::i;:79::-;10090:91;;10023:174;10262:4;10213:28;6830:18;;;:9;:18;;;;;;10288:6;;-1:-1:-1;;;10288:6:0;;;;10287:7;:30;;;;-1:-1:-1;10304:13:0;;-1:-1:-1;;;;;10298:19:0;;;10304:13;;10298:19;10287:30;:45;;;;-1:-1:-1;10321:11:0;;-1:-1:-1;;;10321:11:0;;;;10287:45;:89;;;;;10359:17;;10336:20;:40;10287:89;:123;;;;;10392:18;;10380:9;;:30;10287:123;10283:679;;;10450:13;;10435:12;:28;10431:90;;;10500:1;10488:9;:13;10431:90;10559:1;10547:9;;:13;10539:49;;;;-1:-1:-1;;;10539:49:0;;15071:2:1;10539:49:0;;;15053:21:1;15110:2;15090:18;;;15083:30;15149:25;15129:18;;;15122:53;15192:18;;10539:49:0;14869:347:1;10539:49:0;10607:69;10624:51;10628:6;10636:38;10640:20;10662:11;;10636:3;:38::i;:::-;10624:3;:51::i;:::-;10607:16;:69::i;:::-;10724:21;10768:22;;10764:106;;10815:35;10828:21;10815:12;:35::i;:::-;10888:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;10934:12:0;10918:13;:28;-1:-1:-1;10283:679:0;8948:2025;8910:2063;10988:11;;10985:161;;11056:4;11038:24;;;;:9;:24;;;;;;:39;;11067:9;11038:28;:39::i;:::-;11031:4;11013:24;;;;:9;:24;;;;;;;:64;;;;11095:39;;-1:-1:-1;;;;;11095:39:0;;;;;;;11124:9;1500:25:1;;1488:2;1473:18;;1354:177;11095:39:0;;;;;;;;10985:161;-1:-1:-1;;;;;11172:15:0;;;;;;:9;:15;;;;;;:27;;11192:6;11172:19;:27::i;:::-;-1:-1:-1;;;;;11156:15:0;;;;;;:9;:15;;;;;:43;11224:40;11242:21;:6;11253:9;11242:10;:21::i;:::-;-1:-1:-1;;;;;11224:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11210:13:0;;;;;;;:9;:13;;;;;:54;;;;11280:41;;;11299:21;:6;11310:9;11299:10;:21::i;:::-;11280:41;;1500:25:1;;;1488:2;1473:18;11280:41:0;;;;;;;8493:2836;8424:2905;;;:::o;1592:190::-;1678:7;1714:12;1706:6;;;;1698:29;;;;-1:-1:-1;;;1698:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1738:9:0;1750:5;1754:1;1750;:5;:::i;:::-;1738:17;1592:190;-1:-1:-1;;;;;1592:190:0:o;11443:483::-;5676:6;:13;;-1:-1:-1;;;;5676:13:0;-1:-1:-1;;;5676:13:0;;;11545:16:::1;::::0;;11559:1:::1;11545:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11545:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11545:16:0::1;11521:40;;11590:4;11572;11577:1;11572:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11572:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11616:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11616:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11572:7;;11616:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11606:4;11611:1;11606:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11606:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11681:15:::1;::::0;11649:62:::1;::::0;11666:4:::1;::::0;11681:15:::1;11699:11:::0;11649:8:::1;:62::i;:::-;11722:15;::::0;:196:::1;::::0;-1:-1:-1;;;11722:196:0;;-1:-1:-1;;;;;11722:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11803:11;;11722:15:::1;::::0;11845:4;;11872::::1;::::0;11892:15:::1;::::0;11722:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5712:6:0;:14;;-1:-1:-1;;;;5712:14:0;;;-1:-1:-1;;;;11443:483:0:o;12228:92::-;12285:10;;:27;;-1:-1:-1;;;;;12285:10:0;;;;:27;;;;;12305:6;;12285:10;:27;:10;:27;12305:6;12285:10;:27;;;;;;;;;;;;;;;;;;;1790:246;1848:7;1872:1;1877;1872:6;1868:47;;-1:-1:-1;1902:1:0;1895:8;;1868:47;1925:9;1937:5;1941:1;1937;:5;:::i;:::-;1925:17;-1:-1:-1;1970:1:0;1961:5;1965:1;1925:17;1961:5;:::i;:::-;:10;1953:56;;;;-1:-1:-1;;;1953:56:0;;16763:2:1;1953: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;;1953:56:0;16561:397:1;1953:56:0;2027:1;1790:246;-1:-1:-1;;;1790:246:0:o;2044:132::-;2102:7;2129:39;2133:1;2136;2129:39;;;;;;;;;;;;;;;;;:3;:39::i;11337:98::-;11394:7;11421:1;11419;:3;11418:9;;11426:1;11418:9;;;-1:-1:-1;11424:1:0;11337:98;-1:-1:-1;11337:98:0:o;1261:179::-;1319:7;;1351:5;1355:1;1351;:5;:::i;:::-;1339:17;;1380:1;1375;:6;;1367:46;;;;-1:-1:-1;;;1367:46:0;;17165:2:1;1367:46:0;;;17147:21:1;17204:2;17184:18;;;17177:30;17243:29;17223:18;;;17216:57;17290:18;;1367:46:0;16963:351:1;1448:136:0;1506:7;1533:43;1537:1;1540;1533:43;;;;;;;;;;;;;;;;;:3;:43::i;2184:189::-;2270:7;2305:12;2298:5;2290:28;;;;-1:-1:-1;;;2290:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2329:9:0;2341:5;2345:1;2341;: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;4482:356::-;4684:2;4666:21;;;4703:18;;;4696:30;4762:34;4757:2;4742:18;;4735:62;4829:2;4814:18;;4482:356::o;5750:127::-;5811:10;5806:3;5802:20;5799:1;5792:31;5842:4;5839:1;5832:15;5866:4;5863:1;5856:15;5882:416;5971:1;6008:5;5971:1;6022:270;6043:7;6033:8;6030:21;6022:270;;;6102:4;6098:1;6094:6;6090:17;6084:4;6081:27;6078:53;;;6111:18;;:::i;:::-;6161:7;6151:8;6147:22;6144:55;;;6181:16;;;;6144:55;6260:22;;;;6220:15;;;;6022:270;;;6026:3;5882:416;;;;;:::o;6303:806::-;6352:5;6382:8;6372:80;;-1:-1:-1;6423:1:1;6437:5;;6372:80;6471:4;6461:76;;-1:-1:-1;6508:1:1;6522:5;;6461:76;6553:4;6571:1;6566:59;;;;6639:1;6634:130;;;;6546:218;;6566:59;6596:1;6587:10;;6610:5;;;6634:130;6671:3;6661:8;6658:17;6655:43;;;6678:18;;:::i;:::-;-1:-1:-1;;6734:1:1;6720:16;;6749:5;;6546:218;;6848:2;6838:8;6835:16;6829:3;6823:4;6820:13;6816:36;6810:2;6800:8;6797:16;6792:2;6786:4;6783:12;6779:35;6776:77;6773:159;;;-1:-1:-1;6885:19:1;;;6917:5;;6773:159;6964:34;6989:8;6983:4;6964:34;:::i;:::-;7034:6;7030:1;7026:6;7022:19;7013:7;7010:32;7007:58;;;7045:18;;:::i;:::-;7083:20;;6303:806;-1:-1:-1;;;6303:806:1:o;7114:140::-;7172:5;7201:47;7242:4;7232:8;7228:19;7222:4;7201:47;:::i;7259:168::-;7332:9;;;7363;;7380:15;;;7374:22;;7360:37;7350:71;;7401:18;;:::i;7432:349::-;7634:2;7616:21;;;7673:2;7653:18;;;7646:30;7712:27;7707:2;7692:18;;7685:55;7772:2;7757:18;;7432:349::o;7786:352::-;7988:2;7970:21;;;8027:2;8007:18;;;8000:30;8066;8061:2;8046:18;;8039:58;8129:2;8114:18;;7786:352::o;8560:127::-;8621:10;8616:3;8612:20;8609:1;8602:31;8652:4;8649:1;8642:15;8676:4;8673:1;8666: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://dcdbdf0591060b038634a56a0923c8770ee3f9d3d22173bdf3650a8f2589381a
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)