Overview
Max Total Supply
10,000,000 BRAIN
Holders
381 (0.00%)
Transfers
-
0
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
-
Circulating Supply Market Cap
$0.00
Other Info
Token Contract (WITH 9 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
SebraAI
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
/**
*Submitted for verification at Etherscan.io on 2024-06-04
*/
// SPDX-License-Identifier: MIT
/**
.d8888b. 888 d8888 8888888
d88P Y88b 888 d88888 888
Y88b. 888 d88P888 888
"Y888b. .d88b. 88888b. 888d888 8888b. d88P 888 888
"Y88b. d8P Y8b 888 "88b 888P" "88b d88P 888 888
"888 88888888 888 888 888 .d888888 d88P 888 888
Y88b d88P Y8b. 888 d88P 888 888 888 d8888888888 888
"Y8888P" "Y8888 88888P" 888 "Y888888 d88P 888 8888888
Let’s use some $BRAIN.
Socials:
Web - sebra.ai
X - x.com/sebraai
TG - t.me/sebra_ai
*/
pragma solidity 0.8.26;
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 SebraAI 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 => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = true;
address payable private _taxWallet;
uint256 private _initialBuyTax=30;
uint256 private _initialSellTax=35;
uint256 private _finalBuyTax=5;
uint256 private _finalSellTax=5;
uint256 private _reduceBuyTaxAt=25;
uint256 private _reduceSellTaxAt=30;
uint256 private _preventSwapBefore=30;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 10000000 * 10**_decimals;
string private constant _name = unicode"Sebra AI";
string private constant _symbol = unicode"BRAIN";
uint256 public _maxTxAmount = 300000 * 10**_decimals;
uint256 public _maxWalletSize = 300000 * 10**_decimals;
uint256 public _taxSwapThreshold= 100000 * 10**_decimals;
uint256 public _maxTaxSwap= 500000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(_msgSender());
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
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) {
_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) {
_approve(_msgSender(), spender, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_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");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(
_holderLastTransferTimestamp[tx.origin] <
block.number,
"_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_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) {
swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if(contractETHBalance > 50000000000000000) {
sendETHToFee(address(this).balance);
}
}
}
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;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function openTrading() 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;
}
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 withdrawStuckETH() external onlyOwner {
payable(_taxWallet).transfer(address(this).balance);
}
function withdrawStuckERC20(IERC20 token) external onlyOwner {
token.transfer(_taxWallet, token.balanceOf(address(this)));
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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"},{"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":"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":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"withdrawStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052600160065f6101000a81548160ff021916908315150217905550601e600755602360085560056009556005600a556019600b55601e600c55601e600d555f600e556009600a61005391906105c3565b620493e0610061919061060d565b600f556009600a61007291906105c3565b620493e0610080919061060d565b6010556009600a61009191906105c3565b620186a061009f919061060d565b6011556009600a6100b091906105c3565b6207a1206100be919061060d565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff021916908315150217905550348015610100575f80fd5b505f61011061042460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101ba61042460201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a61020891906105c3565b62989680610216919061060d565b60015f61022761042460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61027761042b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103a061042460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6103fc91906105c3565b6298968061040a919061060d565b604051610417919061065d565b60405180910390a3610676565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104d4578086048111156104b0576104af610452565b5b60018516156104bf5780820291505b80810290506104cd8561047f565b9450610494565b94509492505050565b5f826104ec57600190506105a7565b816104f9575f90506105a7565b816001811461050f576002811461051957610548565b60019150506105a7565b60ff84111561052b5761052a610452565b5b8360020a91508482111561054257610541610452565b5b506105a7565b5060208310610133831016604e8410600b841016171561057d5782820a90508381111561057857610577610452565b5b6105a7565b61058a848484600161048b565b925090508184048111156105a1576105a0610452565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105cd826105ae565b91506105d8836105b7565b92506106057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104dd565b905092915050565b5f610617826105ae565b9150610622836105ae565b9250828202610630816105ae565b9150828204841483151761064757610646610452565b5b5092915050565b610657816105ae565b82525050565b5f6020820190506106705f83018461064e565b92915050565b61333d806106835f395ff3fe60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c876d0b91461040c578063c9567bf914610436578063dd62ed3e1461044c578063f5648a4f1461048857610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e5780633963510b1461025857806351bc3c851461028057806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612325565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906123d6565b6104db565b604051610195919061242e565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612456565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612456565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061246f565b610520565b604051610225919061242e565b60405180910390f35b348015610239575f80fd5b506102426105f4565b60405161024f91906124da565b60405180910390f35b348015610263575f80fd5b5061027e6004803603810190610279919061252e565b6105fc565b005b34801561028b575f80fd5b506102946107a8565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612559565b610840565b6040516102c99190612456565b60405180910390f35b3480156102dd575f80fd5b506102e6610886565b005b3480156102f3575f80fd5b506102fc6109d4565b005b348015610309575f80fd5b50610312610b19565b60405161031f9190612456565b60405180910390f35b348015610333575f80fd5b5061033c610b1f565b6040516103499190612593565b60405180910390f35b34801561035d575f80fd5b50610366610b46565b6040516103739190612456565b60405180910390f35b348015610387575f80fd5b50610390610b4c565b60405161039d9190612325565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c791906123d6565b610b89565b6040516103d9919061242e565b60405180910390f35b3480156103ed575f80fd5b506103f6610ba6565b6040516104039190612456565b60405180910390f35b348015610417575f80fd5b50610420610bac565b60405161042d919061242e565b60405180910390f35b348015610441575f80fd5b5061044a610bbe565b005b348015610457575f80fd5b50610472600480360381019061046d91906125ac565b6110dc565b60405161047f9190612456565b60405180910390f35b348015610493575f80fd5b5061049c61115e565b005b60606040518060400160405280600881526020017f5365627261204149000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e761125a565b8484611261565b6001905092915050565b60125481565b5f6009600a61050d9190612746565b6298968061051b9190612790565b905090565b5f61052c848484611424565b6105e98461053861125a565b6105e4856040518060600160405280602881526020016132e06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059b61125a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da09092919063ffffffff16565b611261565b600190509392505050565b5f6009905090565b61060461125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106879061281b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107089190612593565b602060405180830381865afa158015610723573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610747919061284d565b6040518363ffffffff1660e01b81526004016107649291906128d3565b6020604051808303815f875af1158015610780573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a49190612924565b5050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107e961125a565b73ffffffffffffffffffffffffffffffffffffffff1614610808575f80fd5b5f61081230610840565b90505f8111156108265761082581611e02565b5b5f4790505f81111561083c5761083b8161206d565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61088e61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109119061281b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109dc61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f9061281b565b60405180910390fd5b6009600a610a769190612746565b62989680610a849190612790565b600f819055506009600a610a989190612746565b62989680610aa69190612790565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610af49190612746565b62989680610b029190612790565b604051610b0f9190612456565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f425241494e000000000000000000000000000000000000000000000000000000815250905090565b5f610b9c610b9561125a565b8484611424565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610bc661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c499061281b565b60405180910390fd5b60148054906101000a900460ff1615610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9790612999565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d289190612746565b62989680610d369190612790565b611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc991906129cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7391906129cb565b6040518363ffffffff1660e01b8152600401610e909291906129f6565b6020604051808303815f875af1158015610eac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed091906129cb565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f5730610840565b5f80610f61610b1f565b426040518863ffffffff1660e01b8152600401610f8396959493929190612a56565b60606040518083038185885af1158015610f9f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fc49190612ab5565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611064929190612b05565b6020604051808303815f875af1158015611080573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a49190612924565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61116661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061281b565b60405180910390fd5b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611257573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612b9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612c2a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114179190612456565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990612cb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612d46565b60405180910390fd5b5f8111611542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153990612dd4565b60405180910390fd5b5f61154b610b1f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115b95750611589610b1f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611af0576115fa60646115ec600b54600e54116115d9576007546115dd565b6009545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b905060065f9054906101000a900460ff16156117825760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116ba575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611781574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590612e88565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561182b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561193857600f548211156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612ef0565b60405180910390fd5b601054826118d585610840565b6118df9190612f0e565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612f8b565b60405180910390fd5b600e5f81548092919061193290612fa9565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119c057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a0457611a0160646119f3600c54600e54116119e0576008546119e4565b600a545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b90505b5f611a0e30610840565b9050601460159054906101000a900460ff16158015611a79575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a915750601460169054906101000a900460ff165b8015611a9e575060115481115b8015611aad5750600d54600e54115b15611aee57611acf611aca84611ac584601254612196565b612196565b611e02565b5f47905066b1a2bc2ec50000811115611aec57611aeb4761206d565b5b505b505b5f811115611bef57611b488160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be69190612456565b60405180910390a35b611c3f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ce2611c96828461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d85848661220b90919063ffffffff16565b604051611d929190612456565b60405180910390a350505050565b5f838311158290611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde9190612325565b60405180910390fd5b505f8385611df59190612ff0565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3957611e38613023565b5b604051908082528060200260200182016040528015611e675781602001602082028036833780820191505090505b50905030815f81518110611e7e57611e7d613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4691906129cb565b81600181518110611f5a57611f59613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc03060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612022959493929190613134565b5f604051808303815f87803b158015612039575f80fd5b505af115801561204b573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120d2573d5f803e3d5ffd5b5050565b5f8083036120e6575f9050612147565b5f82846120f39190612790565b905082848261210291906131b9565b14612142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213990613259565b60405180910390fd5b809150505b92915050565b5f61218e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612254565b905092915050565b5f8183116121a457826121a6565b815b905092915050565b5f8082846121bc9190612f0e565b905083811015612201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f8906132c1565b60405180910390fd5b8091505092915050565b5f61224c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611da0565b905092915050565b5f808311829061229a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122919190612325565b60405180910390fd5b505f83856122a891906131b9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6122f7826122b5565b61230181856122bf565b93506123118185602086016122cf565b61231a816122dd565b840191505092915050565b5f6020820190508181035f83015261233d81846122ed565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61237282612349565b9050919050565b61238281612368565b811461238c575f80fd5b50565b5f8135905061239d81612379565b92915050565b5f819050919050565b6123b5816123a3565b81146123bf575f80fd5b50565b5f813590506123d0816123ac565b92915050565b5f80604083850312156123ec576123eb612345565b5b5f6123f98582860161238f565b925050602061240a858286016123c2565b9150509250929050565b5f8115159050919050565b61242881612414565b82525050565b5f6020820190506124415f83018461241f565b92915050565b612450816123a3565b82525050565b5f6020820190506124695f830184612447565b92915050565b5f805f6060848603121561248657612485612345565b5b5f6124938682870161238f565b93505060206124a48682870161238f565b92505060406124b5868287016123c2565b9150509250925092565b5f60ff82169050919050565b6124d4816124bf565b82525050565b5f6020820190506124ed5f8301846124cb565b92915050565b5f6124fd82612368565b9050919050565b61250d816124f3565b8114612517575f80fd5b50565b5f8135905061252881612504565b92915050565b5f6020828403121561254357612542612345565b5b5f6125508482850161251a565b91505092915050565b5f6020828403121561256e5761256d612345565b5b5f61257b8482850161238f565b91505092915050565b61258d81612368565b82525050565b5f6020820190506125a65f830184612584565b92915050565b5f80604083850312156125c2576125c1612345565b5b5f6125cf8582860161238f565b92505060206125e08582860161238f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561266c57808604811115612648576126476125ea565b5b60018516156126575780820291505b808102905061266585612617565b945061262c565b94509492505050565b5f82612684576001905061273f565b81612691575f905061273f565b81600181146126a757600281146126b1576126e0565b600191505061273f565b60ff8411156126c3576126c26125ea565b5b8360020a9150848211156126da576126d96125ea565b5b5061273f565b5060208310610133831016604e8410600b84101617156127155782820a9050838111156127105761270f6125ea565b5b61273f565b6127228484846001612623565b92509050818404811115612739576127386125ea565b5b81810290505b9392505050565b5f612750826123a3565b915061275b836124bf565b92506127887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612675565b905092915050565b5f61279a826123a3565b91506127a5836123a3565b92508282026127b3816123a3565b915082820484148315176127ca576127c96125ea565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128056020836122bf565b9150612810826127d1565b602082019050919050565b5f6020820190508181035f830152612832816127f9565b9050919050565b5f81519050612847816123ac565b92915050565b5f6020828403121561286257612861612345565b5b5f61286f84828501612839565b91505092915050565b5f819050919050565b5f61289b61289661289184612349565b612878565b612349565b9050919050565b5f6128ac82612881565b9050919050565b5f6128bd826128a2565b9050919050565b6128cd816128b3565b82525050565b5f6040820190506128e65f8301856128c4565b6128f36020830184612447565b9392505050565b61290381612414565b811461290d575f80fd5b50565b5f8151905061291e816128fa565b92915050565b5f6020828403121561293957612938612345565b5b5f61294684828501612910565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129836017836122bf565b915061298e8261294f565b602082019050919050565b5f6020820190508181035f8301526129b081612977565b9050919050565b5f815190506129c581612379565b92915050565b5f602082840312156129e0576129df612345565b5b5f6129ed848285016129b7565b91505092915050565b5f604082019050612a095f830185612584565b612a166020830184612584565b9392505050565b5f819050919050565b5f612a40612a3b612a3684612a1d565b612878565b6123a3565b9050919050565b612a5081612a26565b82525050565b5f60c082019050612a695f830189612584565b612a766020830188612447565b612a836040830187612a47565b612a906060830186612a47565b612a9d6080830185612584565b612aaa60a0830184612447565b979650505050505050565b5f805f60608486031215612acc57612acb612345565b5b5f612ad986828701612839565b9350506020612aea86828701612839565b9250506040612afb86828701612839565b9150509250925092565b5f604082019050612b185f830185612584565b612b256020830184612447565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b866024836122bf565b9150612b9182612b2c565b604082019050919050565b5f6020820190508181035f830152612bb381612b7a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c146022836122bf565b9150612c1f82612bba565b604082019050919050565b5f6020820190508181035f830152612c4181612c08565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ca26025836122bf565b9150612cad82612c48565b604082019050919050565b5f6020820190508181035f830152612ccf81612c96565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d306023836122bf565b9150612d3b82612cd6565b604082019050919050565b5f6020820190508181035f830152612d5d81612d24565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612dbe6029836122bf565b9150612dc982612d64565b604082019050919050565b5f6020820190508181035f830152612deb81612db2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612e726049836122bf565b9150612e7d82612df2565b606082019050919050565b5f6020820190508181035f830152612e9f81612e66565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612eda6019836122bf565b9150612ee582612ea6565b602082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b5f612f18826123a3565b9150612f23836123a3565b9250828201905080821115612f3b57612f3a6125ea565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f75601a836122bf565b9150612f8082612f41565b602082019050919050565b5f6020820190508181035f830152612fa281612f69565b9050919050565b5f612fb3826123a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fe557612fe46125ea565b5b600182019050919050565b5f612ffa826123a3565b9150613005836123a3565b925082820390508181111561301d5761301c6125ea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130af81612368565b82525050565b5f6130c083836130a6565b60208301905092915050565b5f602082019050919050565b5f6130e28261307d565b6130ec8185613087565b93506130f783613097565b805f5b8381101561312757815161310e88826130b5565b9750613119836130cc565b9250506001810190506130fa565b5085935050505092915050565b5f60a0820190506131475f830188612447565b6131546020830187612a47565b818103604083015261316681866130d8565b90506131756060830185612584565b6131826080830184612447565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131c3826123a3565b91506131ce836123a3565b9250826131de576131dd61318c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132436021836122bf565b915061324e826131e9565b604082019050919050565b5f6020820190508181035f83015261327081613237565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132ab601b836122bf565b91506132b682613277565b602082019050919050565b5f6020820190508181035f8301526132d88161329f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bca5935432cb7ce05957c25594448a24fd937f994b7c7212d4d1d8fbc8600d0564736f6c634300081a0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103a6578063bf474bed146103e2578063c876d0b91461040c578063c9567bf914610436578063dd62ed3e1461044c578063f5648a4f1461048857610134565b8063751039fc146102e85780637d1db4a5146102fe5780638da5cb5b146103285780638f9a55c01461035257806395d89b411461037c57610134565b8063313ce567116100f1578063313ce5671461022e5780633963510b1461025857806351bc3c851461028057806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f80fd5b348015610143575f80fd5b5061014c61049e565b6040516101599190612325565b60405180910390f35b34801561016d575f80fd5b50610188600480360381019061018391906123d6565b6104db565b604051610195919061242e565b60405180910390f35b3480156101a9575f80fd5b506101b26104f8565b6040516101bf9190612456565b60405180910390f35b3480156101d3575f80fd5b506101dc6104fe565b6040516101e99190612456565b60405180910390f35b3480156101fd575f80fd5b506102186004803603810190610213919061246f565b610520565b604051610225919061242e565b60405180910390f35b348015610239575f80fd5b506102426105f4565b60405161024f91906124da565b60405180910390f35b348015610263575f80fd5b5061027e6004803603810190610279919061252e565b6105fc565b005b34801561028b575f80fd5b506102946107a8565b005b3480156102a1575f80fd5b506102bc60048036038101906102b79190612559565b610840565b6040516102c99190612456565b60405180910390f35b3480156102dd575f80fd5b506102e6610886565b005b3480156102f3575f80fd5b506102fc6109d4565b005b348015610309575f80fd5b50610312610b19565b60405161031f9190612456565b60405180910390f35b348015610333575f80fd5b5061033c610b1f565b6040516103499190612593565b60405180910390f35b34801561035d575f80fd5b50610366610b46565b6040516103739190612456565b60405180910390f35b348015610387575f80fd5b50610390610b4c565b60405161039d9190612325565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c791906123d6565b610b89565b6040516103d9919061242e565b60405180910390f35b3480156103ed575f80fd5b506103f6610ba6565b6040516104039190612456565b60405180910390f35b348015610417575f80fd5b50610420610bac565b60405161042d919061242e565b60405180910390f35b348015610441575f80fd5b5061044a610bbe565b005b348015610457575f80fd5b50610472600480360381019061046d91906125ac565b6110dc565b60405161047f9190612456565b60405180910390f35b348015610493575f80fd5b5061049c61115e565b005b60606040518060400160405280600881526020017f5365627261204149000000000000000000000000000000000000000000000000815250905090565b5f6104ee6104e761125a565b8484611261565b6001905092915050565b60125481565b5f6009600a61050d9190612746565b6298968061051b9190612790565b905090565b5f61052c848484611424565b6105e98461053861125a565b6105e4856040518060600160405280602881526020016132e06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61059b61125a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da09092919063ffffffff16565b611261565b600190509392505050565b5f6009905090565b61060461125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106879061281b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107089190612593565b602060405180830381865afa158015610723573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610747919061284d565b6040518363ffffffff1660e01b81526004016107649291906128d3565b6020604051808303815f875af1158015610780573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a49190612924565b5050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107e961125a565b73ffffffffffffffffffffffffffffffffffffffff1614610808575f80fd5b5f61081230610840565b90505f8111156108265761082581611e02565b5b5f4790505f81111561083c5761083b8161206d565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61088e61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461091a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109119061281b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109dc61125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f9061281b565b60405180910390fd5b6009600a610a769190612746565b62989680610a849190612790565b600f819055506009600a610a989190612746565b62989680610aa69190612790565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610af49190612746565b62989680610b029190612790565b604051610b0f9190612456565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f425241494e000000000000000000000000000000000000000000000000000000815250905090565b5f610b9c610b9561125a565b8484611424565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610bc661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c499061281b565b60405180910390fd5b60148054906101000a900460ff1615610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9790612999565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d3b3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d289190612746565b62989680610d369190612790565b611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610da5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc991906129cb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e4f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7391906129cb565b6040518363ffffffff1660e01b8152600401610e909291906129f6565b6020604051808303815f875af1158015610eac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ed091906129cb565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f5730610840565b5f80610f61610b1f565b426040518863ffffffff1660e01b8152600401610f8396959493929190612a56565b60606040518083038185885af1158015610f9f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610fc49190612ab5565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611064929190612b05565b6020604051808303815f875af1158015611080573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a49190612924565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61116661125a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061281b565b60405180910390fd5b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611257573d5f803e3d5ffd5b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612b9c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490612c2a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114179190612456565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148990612cb8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f790612d46565b60405180910390fd5b5f8111611542576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153990612dd4565b60405180910390fd5b5f61154b610b1f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115b95750611589610b1f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611af0576115fa60646115ec600b54600e54116115d9576007546115dd565b6009545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b905060065f9054906101000a900460ff16156117825760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116ba575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611781574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061173e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173590612e88565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561182b575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561187e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561193857600f548211156118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612ef0565b60405180910390fd5b601054826118d585610840565b6118df9190612f0e565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612f8b565b60405180910390fd5b600e5f81548092919061193290612fa9565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119c057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611a0457611a0160646119f3600c54600e54116119e0576008546119e4565b600a545b856120d690919063ffffffff16565b61214d90919063ffffffff16565b90505b5f611a0e30610840565b9050601460159054906101000a900460ff16158015611a79575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a915750601460169054906101000a900460ff165b8015611a9e575060115481115b8015611aad5750600d54600e54115b15611aee57611acf611aca84611ac584601254612196565b612196565b611e02565b5f47905066b1a2bc2ec50000811115611aec57611aeb4761206d565b5b505b505b5f811115611bef57611b488160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611be69190612456565b60405180910390a35b611c3f8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ce2611c96828461220b90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121ae90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d85848661220b90919063ffffffff16565b604051611d929190612456565b60405180910390a350505050565b5f838311158290611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde9190612325565b60405180910390fd5b505f8385611df59190612ff0565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e3957611e38613023565b5b604051908082528060200260200182016040528015611e675781602001602082028036833780820191505090505b50905030815f81518110611e7e57611e7d613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f22573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f4691906129cb565b81600181518110611f5a57611f59613050565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc03060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611261565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612022959493929190613134565b5f604051808303815f87803b158015612039575f80fd5b505af115801561204b573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156120d2573d5f803e3d5ffd5b5050565b5f8083036120e6575f9050612147565b5f82846120f39190612790565b905082848261210291906131b9565b14612142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213990613259565b60405180910390fd5b809150505b92915050565b5f61218e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612254565b905092915050565b5f8183116121a457826121a6565b815b905092915050565b5f8082846121bc9190612f0e565b905083811015612201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f8906132c1565b60405180910390fd5b8091505092915050565b5f61224c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611da0565b905092915050565b5f808311829061229a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122919190612325565b60405180910390fd5b505f83856122a891906131b9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6122f7826122b5565b61230181856122bf565b93506123118185602086016122cf565b61231a816122dd565b840191505092915050565b5f6020820190508181035f83015261233d81846122ed565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61237282612349565b9050919050565b61238281612368565b811461238c575f80fd5b50565b5f8135905061239d81612379565b92915050565b5f819050919050565b6123b5816123a3565b81146123bf575f80fd5b50565b5f813590506123d0816123ac565b92915050565b5f80604083850312156123ec576123eb612345565b5b5f6123f98582860161238f565b925050602061240a858286016123c2565b9150509250929050565b5f8115159050919050565b61242881612414565b82525050565b5f6020820190506124415f83018461241f565b92915050565b612450816123a3565b82525050565b5f6020820190506124695f830184612447565b92915050565b5f805f6060848603121561248657612485612345565b5b5f6124938682870161238f565b93505060206124a48682870161238f565b92505060406124b5868287016123c2565b9150509250925092565b5f60ff82169050919050565b6124d4816124bf565b82525050565b5f6020820190506124ed5f8301846124cb565b92915050565b5f6124fd82612368565b9050919050565b61250d816124f3565b8114612517575f80fd5b50565b5f8135905061252881612504565b92915050565b5f6020828403121561254357612542612345565b5b5f6125508482850161251a565b91505092915050565b5f6020828403121561256e5761256d612345565b5b5f61257b8482850161238f565b91505092915050565b61258d81612368565b82525050565b5f6020820190506125a65f830184612584565b92915050565b5f80604083850312156125c2576125c1612345565b5b5f6125cf8582860161238f565b92505060206125e08582860161238f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561266c57808604811115612648576126476125ea565b5b60018516156126575780820291505b808102905061266585612617565b945061262c565b94509492505050565b5f82612684576001905061273f565b81612691575f905061273f565b81600181146126a757600281146126b1576126e0565b600191505061273f565b60ff8411156126c3576126c26125ea565b5b8360020a9150848211156126da576126d96125ea565b5b5061273f565b5060208310610133831016604e8410600b84101617156127155782820a9050838111156127105761270f6125ea565b5b61273f565b6127228484846001612623565b92509050818404811115612739576127386125ea565b5b81810290505b9392505050565b5f612750826123a3565b915061275b836124bf565b92506127887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612675565b905092915050565b5f61279a826123a3565b91506127a5836123a3565b92508282026127b3816123a3565b915082820484148315176127ca576127c96125ea565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6128056020836122bf565b9150612810826127d1565b602082019050919050565b5f6020820190508181035f830152612832816127f9565b9050919050565b5f81519050612847816123ac565b92915050565b5f6020828403121561286257612861612345565b5b5f61286f84828501612839565b91505092915050565b5f819050919050565b5f61289b61289661289184612349565b612878565b612349565b9050919050565b5f6128ac82612881565b9050919050565b5f6128bd826128a2565b9050919050565b6128cd816128b3565b82525050565b5f6040820190506128e65f8301856128c4565b6128f36020830184612447565b9392505050565b61290381612414565b811461290d575f80fd5b50565b5f8151905061291e816128fa565b92915050565b5f6020828403121561293957612938612345565b5b5f61294684828501612910565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129836017836122bf565b915061298e8261294f565b602082019050919050565b5f6020820190508181035f8301526129b081612977565b9050919050565b5f815190506129c581612379565b92915050565b5f602082840312156129e0576129df612345565b5b5f6129ed848285016129b7565b91505092915050565b5f604082019050612a095f830185612584565b612a166020830184612584565b9392505050565b5f819050919050565b5f612a40612a3b612a3684612a1d565b612878565b6123a3565b9050919050565b612a5081612a26565b82525050565b5f60c082019050612a695f830189612584565b612a766020830188612447565b612a836040830187612a47565b612a906060830186612a47565b612a9d6080830185612584565b612aaa60a0830184612447565b979650505050505050565b5f805f60608486031215612acc57612acb612345565b5b5f612ad986828701612839565b9350506020612aea86828701612839565b9250506040612afb86828701612839565b9150509250925092565b5f604082019050612b185f830185612584565b612b256020830184612447565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b866024836122bf565b9150612b9182612b2c565b604082019050919050565b5f6020820190508181035f830152612bb381612b7a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c146022836122bf565b9150612c1f82612bba565b604082019050919050565b5f6020820190508181035f830152612c4181612c08565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612ca26025836122bf565b9150612cad82612c48565b604082019050919050565b5f6020820190508181035f830152612ccf81612c96565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d306023836122bf565b9150612d3b82612cd6565b604082019050919050565b5f6020820190508181035f830152612d5d81612d24565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612dbe6029836122bf565b9150612dc982612d64565b604082019050919050565b5f6020820190508181035f830152612deb81612db2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612e726049836122bf565b9150612e7d82612df2565b606082019050919050565b5f6020820190508181035f830152612e9f81612e66565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612eda6019836122bf565b9150612ee582612ea6565b602082019050919050565b5f6020820190508181035f830152612f0781612ece565b9050919050565b5f612f18826123a3565b9150612f23836123a3565b9250828201905080821115612f3b57612f3a6125ea565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612f75601a836122bf565b9150612f8082612f41565b602082019050919050565b5f6020820190508181035f830152612fa281612f69565b9050919050565b5f612fb3826123a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fe557612fe46125ea565b5b600182019050919050565b5f612ffa826123a3565b9150613005836123a3565b925082820390508181111561301d5761301c6125ea565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6130af81612368565b82525050565b5f6130c083836130a6565b60208301905092915050565b5f602082019050919050565b5f6130e28261307d565b6130ec8185613087565b93506130f783613097565b805f5b8381101561312757815161310e88826130b5565b9750613119836130cc565b9250506001810190506130fa565b5085935050505092915050565b5f60a0820190506131475f830188612447565b6131546020830187612a47565b818103604083015261316681866130d8565b90506131756060830185612584565b6131826080830184612447565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131c3826123a3565b91506131ce836123a3565b9250826131de576131dd61318c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132436021836122bf565b915061324e826131e9565b604082019050919050565b5f6020820190508181035f83015261327081613237565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6132ab601b836122bf565b91506132b682613277565b602082019050919050565b5f6020820190508181035f8301526132d88161329f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bca5935432cb7ce05957c25594448a24fd937f994b7c7212d4d1d8fbc8600d0564736f6c634300081a0033
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)