Source Code
More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 14 from a total of 14 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 22052622 | 354 days ago | IN | 0 ETH | 0.00003176 | ||||
| Update Fees | 22052617 | 354 days ago | IN | 0 ETH | 0.00002658 | ||||
| Remove Limits | 22052615 | 354 days ago | IN | 0 ETH | 0.0000363 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Approve | 22052614 | 354 days ago | IN | 0 ETH | 0.00002828 | ||||
| Open Trading | 22052612 | 354 days ago | IN | 0 ETH | 0.00171234 |
Latest 9 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 22052643 | 354 days ago | 0.02387297 ETH | ||||
| Transfer | 22052643 | 354 days ago | 0.02387297 ETH | ||||
| Transfer | 22052643 | 354 days ago | 0.0261694 ETH | ||||
| Transfer | 22052643 | 354 days ago | 0.0261694 ETH | ||||
| Transfer | 22052624 | 354 days ago | 0.00098906 ETH | ||||
| Transfer | 22052624 | 354 days ago | 0.00098906 ETH | ||||
| Transfer | 22052618 | 354 days ago | 0.02181202 ETH | ||||
| Transfer | 22052618 | 354 days ago | 0.02181202 ETH | ||||
| Add Liquidity ET... | 22052612 | 354 days ago | 1 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
BASIN
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Unlicensed
/*
https://x.com/KhaokheowZoo/status/1893228438384783672
telegram: https://t.me/basin_moondengnewfriend
*/
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 {
payable(owner()).transfer(address(this).balance);
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 BASIN 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;
address payable private _taxWallet;
uint256 private _buyTax = 20;
uint256 private _sellTax = 25;
uint256 private _buyCount = 0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
string private constant _name = unicode"Moodeng's New Friend";
string private constant _symbol = unicode"BASIN";
uint256 public _maxTxAmount = 20000000 * 10**_decimals;
uint256 public _maxWalletSize = 20000000 * 10**_decimals;
uint256 public _taxSwapThreshold = 10000000 * 10**_decimals;
uint256 public _maxTaxSwap = 10000000 * 10**_decimals;
uint256 private liquidityPercentage = 80;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () payable {
_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()) {
require(!bots[from] && !bots[to]);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
taxAmount = amount.mul(_buyTax).div(100);
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount.mul(_sellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold) {
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 setliquidity(uint256 _percentage) external onlyOwner {
require(_percentage <= 100, "Percentage cannot exceed 100");
liquidityPercentage = _percentage;
}
function updateFees(uint256 finalFeeOnBuy, uint256 finalFeeOnSell) public onlyOwner {
_buyTax = finalFeeOnBuy;
_sellTax = finalFeeOnSell;
}
function removeLimits() external onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
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 delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function isBot(address a) public view returns (bool) {
return bots[a];
}
function openTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), msg.sender, type(uint256).max);
transfer(address(this), balanceOf(msg.sender).mul(liquidityPercentage).div(100));
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
_approve(address(this), address(uniswapV2Router), type(uint256).max);
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);
}
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"remappings": []
}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":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":"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":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"name":"setliquidity","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"},{"inputs":[{"internalType":"uint256","name":"finalFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"finalFeeOnSell","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052601460065560196007555f6008556009600a620000229190620005d9565b6301312d0062000033919062000629565b6009556009600a620000469190620005d9565b6301312d0062000057919062000629565b600a556009600a6200006a9190620005d9565b629896806200007a919062000629565b600b556009600a6200008d9190620005d9565b629896806200009d919062000629565b600c556050600d555f600f60156101000a81548160ff0219169083151502179055505f600f60166101000a81548160ff0219169083151502179055505f6010555f6011555f620000f26200041960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200019e6200041960201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001ed9190620005d9565b633b9aca00620001fe919062000629565b60015f620002116200041960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002636200042060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200038d6200041960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003eb9190620005d9565b633b9aca00620003fc919062000629565b6040516200040b919062000684565b60405180910390a36200069f565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620004d157808604811115620004a957620004a862000447565b5b6001851615620004b95780820291505b8081029050620004c98562000474565b945062000489565b94509492505050565b5f82620004eb5760019050620005bd565b81620004fa575f9050620005bd565b81600181146200051357600281146200051e5762000554565b6001915050620005bd565b60ff84111562000533576200053262000447565b5b8360020a9150848211156200054d576200054c62000447565b5b50620005bd565b5060208310610133831016604e8410600b84101617156200058e5782820a90508381111562000588576200058762000447565b5b620005bd565b6200059d848484600162000480565b92509050818404811115620005b757620005b662000447565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620005e582620005c4565b9150620005f283620005cd565b9250620006217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620004da565b905092915050565b5f6200063582620005c4565b91506200064283620005c4565b92508282026200065281620005c4565b915082820484148315176200066c576200066b62000447565b5b5092915050565b6200067e81620005c4565b82525050565b5f602082019050620006995f83018462000673565b92915050565b61361780620006ad5f395ff3fe608060405260043610610142575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b411461041d578063a9059cbb14610447578063bf474bed14610483578063c9567bf9146104ad578063d34628cc146104c3578063dd62ed3e146104eb57610149565b806370a0823114610337578063715018a614610373578063751039fc146103895780637d1db4a51461039f5780638da5cb5b146103c95780638f9a55c0146103f357610149565b806323b872dd1161010757806323b872dd1461022f578063313ce5671461026b57806331c2d847146102955780633bbac579146102bd57806351bc3c85146102f95780636db794371461030f57610149565b8062cf529d1461014d57806306fdde0314610175578063095ea7b31461019f5780630faee56f146101db57806318160ddd1461020557610149565b3661014957005b5f80fd5b348015610158575f80fd5b50610173600480360381019061016e91906124d7565b610527565b005b348015610180575f80fd5b50610189610609565b604051610196919061258c565b60405180910390f35b3480156101aa575f80fd5b506101c560048036038101906101c09190612606565b610646565b6040516101d2919061265e565b60405180910390f35b3480156101e6575f80fd5b506101ef610663565b6040516101fc9190612686565b60405180910390f35b348015610210575f80fd5b50610219610669565b6040516102269190612686565b60405180910390f35b34801561023a575f80fd5b506102556004803603810190610250919061269f565b61068c565b604051610262919061265e565b60405180910390f35b348015610276575f80fd5b5061027f610760565b60405161028c919061270a565b60405180910390f35b3480156102a0575f80fd5b506102bb60048036038101906102b69190612863565b610768565b005b3480156102c8575f80fd5b506102e360048036038101906102de91906128aa565b610886565b6040516102f0919061265e565b60405180910390f35b348015610304575f80fd5b5061030d6108d8565b005b34801561031a575f80fd5b50610335600480360381019061033091906128d5565b61096f565b005b348015610342575f80fd5b5061035d600480360381019061035891906128aa565b610a15565b60405161036a9190612686565b60405180910390f35b34801561037e575f80fd5b50610387610a5b565b005b348015610394575f80fd5b5061039d610bf4565b005b3480156103aa575f80fd5b506103b3610d23565b6040516103c09190612686565b60405180910390f35b3480156103d4575f80fd5b506103dd610d29565b6040516103ea9190612922565b60405180910390f35b3480156103fe575f80fd5b50610407610d50565b6040516104149190612686565b60405180910390f35b348015610428575f80fd5b50610431610d56565b60405161043e919061258c565b60405180910390f35b348015610452575f80fd5b5061046d60048036038101906104689190612606565b610d93565b60405161047a919061265e565b60405180910390f35b34801561048e575f80fd5b50610497610db0565b6040516104a49190612686565b60405180910390f35b3480156104b8575f80fd5b506104c1610db6565b005b3480156104ce575f80fd5b506104e960048036038101906104e49190612863565b611341565b005b3480156104f6575f80fd5b50610511600480360381019061050c919061293b565b611460565b60405161051e9190612686565b60405180910390f35b61052f6114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b2906129c3565b60405180910390fd5b60648111156105ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f690612a2b565b60405180910390fd5b80600d8190555050565b60606040518060400160405280601481526020017f4d6f6f64656e672773204e657720467269656e64000000000000000000000000815250905090565b5f6106596106526114e2565b84846114e9565b6001905092915050565b600c5481565b5f6009600a6106789190612ba5565b633b9aca006106879190612bef565b905090565b5f6106988484846116ac565b610755846106a46114e2565b610750856040518060600160405280602881526020016135ba6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107076114e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f7f9092919063ffffffff16565b6114e9565b600190509392505050565b5f6009905090565b6107706114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906129c3565b60405180910390fd5b5f5b8151811015610882575f60045f84848151811061081e5761081d612c30565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107fe565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109186114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610937575f80fd5b5f61094130610a15565b90505f8111156109555761095481611fe1565b5b5f4790505f81111561096b5761096a8161224c565b5b5050565b6109776114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa906129c3565b60405180910390fd5b81600681905550806007819055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a636114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae6906129c3565b60405180910390fd5b610af7610d29565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b39573d5f803e3d5ffd5b505f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bfc6114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f906129c3565b60405180910390fd5b6009600a610c969190612ba5565b633b9aca00610ca59190612bef565b6009819055506009600a610cb99190612ba5565b633b9aca00610cc89190612bef565b600a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610cfd9190612ba5565b633b9aca00610d0c9190612bef565b604051610d199190612686565b60405180910390a1565b60095481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f424153494e000000000000000000000000000000000000000000000000000000815250905090565b5f610da6610d9f6114e2565b84846116ac565b6001905092915050565b600b5481565b610dbe6114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e41906129c3565b60405180910390fd5b600f60149054906101000a900460ff1615610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9190612ca7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f1930337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6114e9565b610f5230610f4d6064610f3f600d54610f3133610a15565b6122b490919063ffffffff16565b61232b90919063ffffffff16565b610d93565b50600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190612cd9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611067573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108b9190612cd9565b6040518363ffffffff1660e01b81526004016110a8929190612d04565b6020604051808303815f875af11580156110c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e89190612cd9565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061117330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6114e9565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111bb30610a15565b5f806111c5610d29565b426040518863ffffffff1660e01b81526004016111e796959493929190612d6d565b60606040518083038185885af1158015611203573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112289190612de0565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112c8929190612e30565b6020604051808303815f875af11580156112e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113089190612e81565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b6113496114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cc906129c3565b60405180910390fd5b5f5b815181101561145c57600160045f8484815181106113f8576113f7612c30565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506113d7565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154e90612f1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bc90612faa565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169f9190612686565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361171a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171190613038565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177f906130c6565b60405180910390fd5b5f81116117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c190613154565b60405180910390fd5b5f6117d3610d29565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118415750611811610d29565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ccf5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156118e4575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118ec575f80fd5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119955750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119e8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611acc57611a156064611a07600654856122b490919063ffffffff16565b61232b90919063ffffffff16565b9050600954821115611a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a53906131bc565b60405180910390fd5b600a5482611a6985610a15565b611a7391906131da565b1115611ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aab90613257565b60405180910390fd5b60085f815480929190611ac690613275565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b5457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b8457611b816064611b73600754856122b490919063ffffffff16565b61232b90919063ffffffff16565b90505b5f611b8e30610a15565b9050600f60159054906101000a900460ff16158015611bf95750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c115750600f60169054906101000a900460ff165b8015611c1e5750600b5481115b15611ccd57601154431115611c35575f6010819055505b600360105410611c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7190613306565b60405180910390fd5b611c97611c9284611c8d84600c54612374565b612374565b611fe1565b5f4790505f811115611cad57611cac4761224c565b5b60105f815480929190611cbf90613275565b919050555043601181905550505b505b5f811115611dce57611d278160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dc59190612686565b60405180910390a35b611e1e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123e990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ec1611e7582846123e990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f6484866123e990919063ffffffff16565b604051611f719190612686565b60405180910390a350505050565b5f838311158290611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd919061258c565b60405180910390fd5b505f8385611fd49190613324565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561201857612017612727565b5b6040519080825280602002602001820160405280156120465781602001602082028036833780820191505090505b50905030815f8151811061205d5761205c612c30565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612101573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121259190612cd9565b8160018151811061213957612138612c30565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061219f30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114e9565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161220195949392919061340e565b5f604051808303815f87803b158015612218575f80fd5b505af115801561222a573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122b0573d5f803e3d5ffd5b5050565b5f8083036122c4575f9050612325565b5f82846122d19190612bef565b90508284826122e09190613493565b14612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231790613533565b60405180910390fd5b809150505b92915050565b5f61236c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612432565b905092915050565b5f8183116123825782612384565b815b905092915050565b5f80828461239a91906131da565b9050838110156123df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d69061359b565b60405180910390fd5b8091505092915050565b5f61242a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f7f565b905092915050565b5f8083118290612478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246f919061258c565b60405180910390fd5b505f83856124869190613493565b9050809150509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6124b6816124a4565b81146124c0575f80fd5b50565b5f813590506124d1816124ad565b92915050565b5f602082840312156124ec576124eb61249c565b5b5f6124f9848285016124c3565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561253957808201518184015260208101905061251e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61255e82612502565b612568818561250c565b935061257881856020860161251c565b61258181612544565b840191505092915050565b5f6020820190508181035f8301526125a48184612554565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125d5826125ac565b9050919050565b6125e5816125cb565b81146125ef575f80fd5b50565b5f81359050612600816125dc565b92915050565b5f806040838503121561261c5761261b61249c565b5b5f612629858286016125f2565b925050602061263a858286016124c3565b9150509250929050565b5f8115159050919050565b61265881612644565b82525050565b5f6020820190506126715f83018461264f565b92915050565b612680816124a4565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f805f606084860312156126b6576126b561249c565b5b5f6126c3868287016125f2565b93505060206126d4868287016125f2565b92505060406126e5868287016124c3565b9150509250925092565b5f60ff82169050919050565b612704816126ef565b82525050565b5f60208201905061271d5f8301846126fb565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61275d82612544565b810181811067ffffffffffffffff8211171561277c5761277b612727565b5b80604052505050565b5f61278e612493565b905061279a8282612754565b919050565b5f67ffffffffffffffff8211156127b9576127b8612727565b5b602082029050602081019050919050565b5f80fd5b5f6127e06127db8461279f565b612785565b90508083825260208201905060208402830185811115612803576128026127ca565b5b835b8181101561282c578061281888826125f2565b845260208401935050602081019050612805565b5050509392505050565b5f82601f83011261284a57612849612723565b5b813561285a8482602086016127ce565b91505092915050565b5f602082840312156128785761287761249c565b5b5f82013567ffffffffffffffff811115612895576128946124a0565b5b6128a184828501612836565b91505092915050565b5f602082840312156128bf576128be61249c565b5b5f6128cc848285016125f2565b91505092915050565b5f80604083850312156128eb576128ea61249c565b5b5f6128f8858286016124c3565b9250506020612909858286016124c3565b9150509250929050565b61291c816125cb565b82525050565b5f6020820190506129355f830184612913565b92915050565b5f80604083850312156129515761295061249c565b5b5f61295e858286016125f2565b925050602061296f858286016125f2565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129ad60208361250c565b91506129b882612979565b602082019050919050565b5f6020820190508181035f8301526129da816129a1565b9050919050565b7f50657263656e746167652063616e6e6f742065786365656420313030000000005f82015250565b5f612a15601c8361250c565b9150612a20826129e1565b602082019050919050565b5f6020820190508181035f830152612a4281612a09565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612acb57808604811115612aa757612aa6612a49565b5b6001851615612ab65780820291505b8081029050612ac485612a76565b9450612a8b565b94509492505050565b5f82612ae35760019050612b9e565b81612af0575f9050612b9e565b8160018114612b065760028114612b1057612b3f565b6001915050612b9e565b60ff841115612b2257612b21612a49565b5b8360020a915084821115612b3957612b38612a49565b5b50612b9e565b5060208310610133831016604e8410600b8410161715612b745782820a905083811115612b6f57612b6e612a49565b5b612b9e565b612b818484846001612a82565b92509050818404811115612b9857612b97612a49565b5b81810290505b9392505050565b5f612baf826124a4565b9150612bba836126ef565b9250612be77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ad4565b905092915050565b5f612bf9826124a4565b9150612c04836124a4565b9250828202612c12816124a4565b91508282048414831517612c2957612c28612a49565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c9160178361250c565b9150612c9c82612c5d565b602082019050919050565b5f6020820190508181035f830152612cbe81612c85565b9050919050565b5f81519050612cd3816125dc565b92915050565b5f60208284031215612cee57612ced61249c565b5b5f612cfb84828501612cc5565b91505092915050565b5f604082019050612d175f830185612913565b612d246020830184612913565b9392505050565b5f819050919050565b5f819050919050565b5f612d57612d52612d4d84612d2b565b612d34565b6124a4565b9050919050565b612d6781612d3d565b82525050565b5f60c082019050612d805f830189612913565b612d8d6020830188612677565b612d9a6040830187612d5e565b612da76060830186612d5e565b612db46080830185612913565b612dc160a0830184612677565b979650505050505050565b5f81519050612dda816124ad565b92915050565b5f805f60608486031215612df757612df661249c565b5b5f612e0486828701612dcc565b9350506020612e1586828701612dcc565b9250506040612e2686828701612dcc565b9150509250925092565b5f604082019050612e435f830185612913565b612e506020830184612677565b9392505050565b612e6081612644565b8114612e6a575f80fd5b50565b5f81519050612e7b81612e57565b92915050565b5f60208284031215612e9657612e9561249c565b5b5f612ea384828501612e6d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f0660248361250c565b9150612f1182612eac565b604082019050919050565b5f6020820190508181035f830152612f3381612efa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f9460228361250c565b9150612f9f82612f3a565b604082019050919050565b5f6020820190508181035f830152612fc181612f88565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61302260258361250c565b915061302d82612fc8565b604082019050919050565b5f6020820190508181035f83015261304f81613016565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130b060238361250c565b91506130bb82613056565b604082019050919050565b5f6020820190508181035f8301526130dd816130a4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61313e60298361250c565b9150613149826130e4565b604082019050919050565b5f6020820190508181035f83015261316b81613132565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131a660198361250c565b91506131b182613172565b602082019050919050565b5f6020820190508181035f8301526131d38161319a565b9050919050565b5f6131e4826124a4565b91506131ef836124a4565b925082820190508082111561320757613206612a49565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613241601a8361250c565b915061324c8261320d565b602082019050919050565b5f6020820190508181035f83015261326e81613235565b9050919050565b5f61327f826124a4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132b1576132b0612a49565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6132f060178361250c565b91506132fb826132bc565b602082019050919050565b5f6020820190508181035f83015261331d816132e4565b9050919050565b5f61332e826124a4565b9150613339836124a4565b925082820390508181111561335157613350612a49565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613389816125cb565b82525050565b5f61339a8383613380565b60208301905092915050565b5f602082019050919050565b5f6133bc82613357565b6133c68185613361565b93506133d183613371565b805f5b838110156134015781516133e8888261338f565b97506133f3836133a6565b9250506001810190506133d4565b5085935050505092915050565b5f60a0820190506134215f830188612677565b61342e6020830187612d5e565b818103604083015261344081866133b2565b905061344f6060830185612913565b61345c6080830184612677565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61349d826124a4565b91506134a8836124a4565b9250826134b8576134b7613466565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61351d60218361250c565b9150613528826134c3565b604082019050919050565b5f6020820190508181035f83015261354a81613511565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613585601b8361250c565b915061359082613551565b602082019050919050565b5f6020820190508181035f8301526135b281613579565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207679e11f9e4ed8708ad11ea1858cc16306f648ad209433266885288451ac9f0064736f6c63430008170033
Deployed Bytecode
0x608060405260043610610142575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b411461041d578063a9059cbb14610447578063bf474bed14610483578063c9567bf9146104ad578063d34628cc146104c3578063dd62ed3e146104eb57610149565b806370a0823114610337578063715018a614610373578063751039fc146103895780637d1db4a51461039f5780638da5cb5b146103c95780638f9a55c0146103f357610149565b806323b872dd1161010757806323b872dd1461022f578063313ce5671461026b57806331c2d847146102955780633bbac579146102bd57806351bc3c85146102f95780636db794371461030f57610149565b8062cf529d1461014d57806306fdde0314610175578063095ea7b31461019f5780630faee56f146101db57806318160ddd1461020557610149565b3661014957005b5f80fd5b348015610158575f80fd5b50610173600480360381019061016e91906124d7565b610527565b005b348015610180575f80fd5b50610189610609565b604051610196919061258c565b60405180910390f35b3480156101aa575f80fd5b506101c560048036038101906101c09190612606565b610646565b6040516101d2919061265e565b60405180910390f35b3480156101e6575f80fd5b506101ef610663565b6040516101fc9190612686565b60405180910390f35b348015610210575f80fd5b50610219610669565b6040516102269190612686565b60405180910390f35b34801561023a575f80fd5b506102556004803603810190610250919061269f565b61068c565b604051610262919061265e565b60405180910390f35b348015610276575f80fd5b5061027f610760565b60405161028c919061270a565b60405180910390f35b3480156102a0575f80fd5b506102bb60048036038101906102b69190612863565b610768565b005b3480156102c8575f80fd5b506102e360048036038101906102de91906128aa565b610886565b6040516102f0919061265e565b60405180910390f35b348015610304575f80fd5b5061030d6108d8565b005b34801561031a575f80fd5b50610335600480360381019061033091906128d5565b61096f565b005b348015610342575f80fd5b5061035d600480360381019061035891906128aa565b610a15565b60405161036a9190612686565b60405180910390f35b34801561037e575f80fd5b50610387610a5b565b005b348015610394575f80fd5b5061039d610bf4565b005b3480156103aa575f80fd5b506103b3610d23565b6040516103c09190612686565b60405180910390f35b3480156103d4575f80fd5b506103dd610d29565b6040516103ea9190612922565b60405180910390f35b3480156103fe575f80fd5b50610407610d50565b6040516104149190612686565b60405180910390f35b348015610428575f80fd5b50610431610d56565b60405161043e919061258c565b60405180910390f35b348015610452575f80fd5b5061046d60048036038101906104689190612606565b610d93565b60405161047a919061265e565b60405180910390f35b34801561048e575f80fd5b50610497610db0565b6040516104a49190612686565b60405180910390f35b3480156104b8575f80fd5b506104c1610db6565b005b3480156104ce575f80fd5b506104e960048036038101906104e49190612863565b611341565b005b3480156104f6575f80fd5b50610511600480360381019061050c919061293b565b611460565b60405161051e9190612686565b60405180910390f35b61052f6114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b2906129c3565b60405180910390fd5b60648111156105ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f690612a2b565b60405180910390fd5b80600d8190555050565b60606040518060400160405280601481526020017f4d6f6f64656e672773204e657720467269656e64000000000000000000000000815250905090565b5f6106596106526114e2565b84846114e9565b6001905092915050565b600c5481565b5f6009600a6106789190612ba5565b633b9aca006106879190612bef565b905090565b5f6106988484846116ac565b610755846106a46114e2565b610750856040518060600160405280602881526020016135ba6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107076114e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f7f9092919063ffffffff16565b6114e9565b600190509392505050565b5f6009905090565b6107706114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f3906129c3565b60405180910390fd5b5f5b8151811015610882575f60045f84848151811061081e5761081d612c30565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107fe565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109186114e2565b73ffffffffffffffffffffffffffffffffffffffff1614610937575f80fd5b5f61094130610a15565b90505f8111156109555761095481611fe1565b5b5f4790505f81111561096b5761096a8161224c565b5b5050565b6109776114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa906129c3565b60405180910390fd5b81600681905550806007819055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a636114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae6906129c3565b60405180910390fd5b610af7610d29565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b39573d5f803e3d5ffd5b505f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610bfc6114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f906129c3565b60405180910390fd5b6009600a610c969190612ba5565b633b9aca00610ca59190612bef565b6009819055506009600a610cb99190612ba5565b633b9aca00610cc89190612bef565b600a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610cfd9190612ba5565b633b9aca00610d0c9190612bef565b604051610d199190612686565b60405180910390a1565b60095481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600581526020017f424153494e000000000000000000000000000000000000000000000000000000815250905090565b5f610da6610d9f6114e2565b84846116ac565b6001905092915050565b600b5481565b610dbe6114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e41906129c3565b60405180910390fd5b600f60149054906101000a900460ff1615610e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9190612ca7565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f1930337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6114e9565b610f5230610f4d6064610f3f600d54610f3133610a15565b6122b490919063ffffffff16565b61232b90919063ffffffff16565b610d93565b50600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190612cd9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611067573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061108b9190612cd9565b6040518363ffffffff1660e01b81526004016110a8929190612d04565b6020604051808303815f875af11580156110c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e89190612cd9565b600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061117330600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6114e9565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111bb30610a15565b5f806111c5610d29565b426040518863ffffffff1660e01b81526004016111e796959493929190612d6d565b60606040518083038185885af1158015611203573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112289190612de0565b505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016112c8929190612e30565b6020604051808303815f875af11580156112e4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113089190612e81565b506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550565b6113496114e2565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cc906129c3565b60405180910390fd5b5f5b815181101561145c57600160045f8484815181106113f8576113f7612c30565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506113d7565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154e90612f1c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bc90612faa565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161169f9190612686565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361171a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171190613038565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177f906130c6565b60405180910390fd5b5f81116117ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c190613154565b60405180910390fd5b5f6117d3610d29565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156118415750611811610d29565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ccf5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156118e4575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6118ec575f80fd5b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156119955750600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119e8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611acc57611a156064611a07600654856122b490919063ffffffff16565b61232b90919063ffffffff16565b9050600954821115611a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a53906131bc565b60405180910390fd5b600a5482611a6985610a15565b611a7391906131da565b1115611ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aab90613257565b60405180910390fd5b60085f815480929190611ac690613275565b91905055505b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b5457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b8457611b816064611b73600754856122b490919063ffffffff16565b61232b90919063ffffffff16565b90505b5f611b8e30610a15565b9050600f60159054906101000a900460ff16158015611bf95750600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c115750600f60169054906101000a900460ff165b8015611c1e5750600b5481115b15611ccd57601154431115611c35575f6010819055505b600360105410611c7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7190613306565b60405180910390fd5b611c97611c9284611c8d84600c54612374565b612374565b611fe1565b5f4790505f811115611cad57611cac4761224c565b5b60105f815480929190611cbf90613275565b919050555043601181905550505b505b5f811115611dce57611d278160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238c90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dc59190612686565b60405180910390a35b611e1e8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123e990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ec1611e7582846123e990919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461238c90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f6484866123e990919063ffffffff16565b604051611f719190612686565b60405180910390a350505050565b5f838311158290611fc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbd919061258c565b60405180910390fd5b505f8385611fd49190613324565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561201857612017612727565b5b6040519080825280602002602001820160405280156120465781602001602082028036833780820191505090505b50905030815f8151811061205d5761205c612c30565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612101573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121259190612cd9565b8160018151811061213957612138612c30565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061219f30600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114e9565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161220195949392919061340e565b5f604051808303815f87803b158015612218575f80fd5b505af115801561222a573d5f803e3d5ffd5b50505050505f600f60156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122b0573d5f803e3d5ffd5b5050565b5f8083036122c4575f9050612325565b5f82846122d19190612bef565b90508284826122e09190613493565b14612320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231790613533565b60405180910390fd5b809150505b92915050565b5f61236c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612432565b905092915050565b5f8183116123825782612384565b815b905092915050565b5f80828461239a91906131da565b9050838110156123df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d69061359b565b60405180910390fd5b8091505092915050565b5f61242a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f7f565b905092915050565b5f8083118290612478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246f919061258c565b60405180910390fd5b505f83856124869190613493565b9050809150509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6124b6816124a4565b81146124c0575f80fd5b50565b5f813590506124d1816124ad565b92915050565b5f602082840312156124ec576124eb61249c565b5b5f6124f9848285016124c3565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561253957808201518184015260208101905061251e565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61255e82612502565b612568818561250c565b935061257881856020860161251c565b61258181612544565b840191505092915050565b5f6020820190508181035f8301526125a48184612554565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125d5826125ac565b9050919050565b6125e5816125cb565b81146125ef575f80fd5b50565b5f81359050612600816125dc565b92915050565b5f806040838503121561261c5761261b61249c565b5b5f612629858286016125f2565b925050602061263a858286016124c3565b9150509250929050565b5f8115159050919050565b61265881612644565b82525050565b5f6020820190506126715f83018461264f565b92915050565b612680816124a4565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f805f606084860312156126b6576126b561249c565b5b5f6126c3868287016125f2565b93505060206126d4868287016125f2565b92505060406126e5868287016124c3565b9150509250925092565b5f60ff82169050919050565b612704816126ef565b82525050565b5f60208201905061271d5f8301846126fb565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61275d82612544565b810181811067ffffffffffffffff8211171561277c5761277b612727565b5b80604052505050565b5f61278e612493565b905061279a8282612754565b919050565b5f67ffffffffffffffff8211156127b9576127b8612727565b5b602082029050602081019050919050565b5f80fd5b5f6127e06127db8461279f565b612785565b90508083825260208201905060208402830185811115612803576128026127ca565b5b835b8181101561282c578061281888826125f2565b845260208401935050602081019050612805565b5050509392505050565b5f82601f83011261284a57612849612723565b5b813561285a8482602086016127ce565b91505092915050565b5f602082840312156128785761287761249c565b5b5f82013567ffffffffffffffff811115612895576128946124a0565b5b6128a184828501612836565b91505092915050565b5f602082840312156128bf576128be61249c565b5b5f6128cc848285016125f2565b91505092915050565b5f80604083850312156128eb576128ea61249c565b5b5f6128f8858286016124c3565b9250506020612909858286016124c3565b9150509250929050565b61291c816125cb565b82525050565b5f6020820190506129355f830184612913565b92915050565b5f80604083850312156129515761295061249c565b5b5f61295e858286016125f2565b925050602061296f858286016125f2565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129ad60208361250c565b91506129b882612979565b602082019050919050565b5f6020820190508181035f8301526129da816129a1565b9050919050565b7f50657263656e746167652063616e6e6f742065786365656420313030000000005f82015250565b5f612a15601c8361250c565b9150612a20826129e1565b602082019050919050565b5f6020820190508181035f830152612a4281612a09565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612acb57808604811115612aa757612aa6612a49565b5b6001851615612ab65780820291505b8081029050612ac485612a76565b9450612a8b565b94509492505050565b5f82612ae35760019050612b9e565b81612af0575f9050612b9e565b8160018114612b065760028114612b1057612b3f565b6001915050612b9e565b60ff841115612b2257612b21612a49565b5b8360020a915084821115612b3957612b38612a49565b5b50612b9e565b5060208310610133831016604e8410600b8410161715612b745782820a905083811115612b6f57612b6e612a49565b5b612b9e565b612b818484846001612a82565b92509050818404811115612b9857612b97612a49565b5b81810290505b9392505050565b5f612baf826124a4565b9150612bba836126ef565b9250612be77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ad4565b905092915050565b5f612bf9826124a4565b9150612c04836124a4565b9250828202612c12816124a4565b91508282048414831517612c2957612c28612a49565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c9160178361250c565b9150612c9c82612c5d565b602082019050919050565b5f6020820190508181035f830152612cbe81612c85565b9050919050565b5f81519050612cd3816125dc565b92915050565b5f60208284031215612cee57612ced61249c565b5b5f612cfb84828501612cc5565b91505092915050565b5f604082019050612d175f830185612913565b612d246020830184612913565b9392505050565b5f819050919050565b5f819050919050565b5f612d57612d52612d4d84612d2b565b612d34565b6124a4565b9050919050565b612d6781612d3d565b82525050565b5f60c082019050612d805f830189612913565b612d8d6020830188612677565b612d9a6040830187612d5e565b612da76060830186612d5e565b612db46080830185612913565b612dc160a0830184612677565b979650505050505050565b5f81519050612dda816124ad565b92915050565b5f805f60608486031215612df757612df661249c565b5b5f612e0486828701612dcc565b9350506020612e1586828701612dcc565b9250506040612e2686828701612dcc565b9150509250925092565b5f604082019050612e435f830185612913565b612e506020830184612677565b9392505050565b612e6081612644565b8114612e6a575f80fd5b50565b5f81519050612e7b81612e57565b92915050565b5f60208284031215612e9657612e9561249c565b5b5f612ea384828501612e6d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612f0660248361250c565b9150612f1182612eac565b604082019050919050565b5f6020820190508181035f830152612f3381612efa565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f9460228361250c565b9150612f9f82612f3a565b604082019050919050565b5f6020820190508181035f830152612fc181612f88565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61302260258361250c565b915061302d82612fc8565b604082019050919050565b5f6020820190508181035f83015261304f81613016565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130b060238361250c565b91506130bb82613056565b604082019050919050565b5f6020820190508181035f8301526130dd816130a4565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61313e60298361250c565b9150613149826130e4565b604082019050919050565b5f6020820190508181035f83015261316b81613132565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131a660198361250c565b91506131b182613172565b602082019050919050565b5f6020820190508181035f8301526131d38161319a565b9050919050565b5f6131e4826124a4565b91506131ef836124a4565b925082820190508082111561320757613206612a49565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613241601a8361250c565b915061324c8261320d565b602082019050919050565b5f6020820190508181035f83015261326e81613235565b9050919050565b5f61327f826124a4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132b1576132b0612a49565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6132f060178361250c565b91506132fb826132bc565b602082019050919050565b5f6020820190508181035f83015261331d816132e4565b9050919050565b5f61332e826124a4565b9150613339836124a4565b925082820390508181111561335157613350612a49565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613389816125cb565b82525050565b5f61339a8383613380565b60208301905092915050565b5f602082019050919050565b5f6133bc82613357565b6133c68185613361565b93506133d183613371565b805f5b838110156134015781516133e8888261338f565b97506133f3836133a6565b9250506001810190506133d4565b5085935050505092915050565b5f60a0820190506134215f830188612677565b61342e6020830187612d5e565b818103604083015261344081866133b2565b905061344f6060830185612913565b61345c6080830184612677565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61349d826124a4565b91506134a8836124a4565b9250826134b8576134b7613466565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61351d60218361250c565b9150613528826134c3565b604082019050919050565b5f6020820190508181035f83015261354a81613511565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613585601b8361250c565b915061359082613551565b602082019050919050565b5f6020820190508181035f8301526135b281613579565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207679e11f9e4ed8708ad11ea1858cc16306f648ad209433266885288451ac9f0064736f6c63430008170033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.