More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 515 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24152401 | 61 days ago | IN | 0 ETH | 0.00000113 | ||||
| Transfer | 23838994 | 104 days ago | IN | 0 ETH | 0.00009613 | ||||
| Approve | 23706459 | 123 days ago | IN | 0 ETH | 0.00009803 | ||||
| Approve | 23446461 | 159 days ago | IN | 0 ETH | 0.00001947 | ||||
| Approve | 23425762 | 162 days ago | IN | 0 ETH | 0.00002267 | ||||
| Approve | 23395830 | 166 days ago | IN | 0 ETH | 0.00003654 | ||||
| Approve | 23260583 | 185 days ago | IN | 0 ETH | 0.0000099 | ||||
| Approve | 23239534 | 188 days ago | IN | 0 ETH | 0.00006812 | ||||
| Approve | 23199127 | 194 days ago | IN | 0 ETH | 0.0001352 | ||||
| Approve | 23169580 | 198 days ago | IN | 0 ETH | 0.00003727 | ||||
| Approve | 23041798 | 216 days ago | IN | 0 ETH | 0.00005275 | ||||
| Approve | 22998631 | 222 days ago | IN | 0 ETH | 0.00011604 | ||||
| Approve | 22991990 | 223 days ago | IN | 0 ETH | 0.00011308 | ||||
| Approve | 22977736 | 225 days ago | IN | 0 ETH | 0.0001128 | ||||
| Approve | 22953657 | 228 days ago | IN | 0 ETH | 0.00010142 | ||||
| Approve | 22859899 | 241 days ago | IN | 0 ETH | 0.00010495 | ||||
| Approve | 22833376 | 245 days ago | IN | 0 ETH | 0.0001879 | ||||
| Approve | 22744749 | 257 days ago | IN | 0 ETH | 0.00006059 | ||||
| Transfer | 22742689 | 258 days ago | IN | 0 ETH | 0.00002791 | ||||
| Approve | 22601089 | 278 days ago | IN | 0 ETH | 0.00009623 | ||||
| Approve | 22564942 | 283 days ago | IN | 0 ETH | 0.0000651 | ||||
| Approve | 22483822 | 294 days ago | IN | 0 ETH | 0.0001978 | ||||
| Approve | 22331632 | 315 days ago | IN | 0 ETH | 0.00017393 | ||||
| Approve | 22110378 | 346 days ago | IN | 0 ETH | 0.00001702 | ||||
| Approve | 22110375 | 346 days ago | IN | 0 ETH | 0.00001813 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 23712976 | 122 days ago | 0.00038369 ETH | ||||
| Transfer | 23446463 | 159 days ago | 0.0006325 ETH | ||||
| Transfer | 23395830 | 166 days ago | 0.00010313 ETH | ||||
| Transfer | 23371250 | 170 days ago | 0.00007061 ETH | ||||
| Transfer | 23199130 | 194 days ago | 0.00054057 ETH | ||||
| Transfer | 22998634 | 222 days ago | 0.00007959 ETH | ||||
| Transfer | 22991992 | 223 days ago | 0.00021585 ETH | ||||
| Transfer | 22977741 | 225 days ago | 0.00086531 ETH | ||||
| Transfer | 22977003 | 225 days ago | 0.0009843 ETH | ||||
| Transfer | 22953657 | 228 days ago | 0.0001911 ETH | ||||
| Transfer | 22859900 | 241 days ago | 0.0002166 ETH | ||||
| Transfer | 22833384 | 245 days ago | 0.00037698 ETH | ||||
| Transfer | 22601090 | 278 days ago | 0.00023601 ETH | ||||
| Transfer | 22564945 | 283 days ago | 0.00006384 ETH | ||||
| Transfer | 22483824 | 294 days ago | 0.00083852 ETH | ||||
| Transfer | 22331633 | 315 days ago | 0.0001543 ETH | ||||
| Transfer | 22218695 | 331 days ago | 0.00020693 ETH | ||||
| Transfer | 22110380 | 346 days ago | 0.00023179 ETH | ||||
| Transfer | 22054912 | 354 days ago | 0.00170895 ETH | ||||
| Transfer | 22054900 | 354 days ago | 0.00173751 ETH | ||||
| Transfer | 21836675 | 384 days ago | 0.00019489 ETH | ||||
| Transfer | 21831923 | 385 days ago | 0.00173049 ETH | ||||
| Transfer | 21830048 | 385 days ago | 0.00025818 ETH | ||||
| Transfer | 21817181 | 387 days ago | 0.00018553 ETH | ||||
| Transfer | 21773172 | 393 days ago | 0.00034594 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
QUESTAI
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
No with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
//
// ___ _ _ _____ ____ _____ _ ___
// / _ \| | | | ____/ ___|_ _| / \ |_ _|
// | | | | | | | _| \___ \ | | / _ \ | |
// | |_| | |_| | |___ ___) || | / ___ \ | |
// \__\_\\___/|_____|____/ |_| /_/ \_\___|
//
//
// Telegram: https://t.me/questai_app
//
// Website: https://queai.app/
// X: https://x.com/QuestAI_app
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
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
);
}
interface IFactory {
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
}
interface IRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable;
}
abstract contract Context {
function _msgSender() internal view returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view returns (bytes memory) {
this;
return msg.data;
}
}
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);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(
newOwner != address(0),
"Ownable: new owner is the zero address"
);
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
contract QUESTAI is IERC20, Ownable {
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) public blacklisted;
mapping(address => bool) private isFeeExempt;
mapping(address => bool) private liquidityCreator;
mapping(address => bool) private isMaxBuyExempt;
mapping(address => bool) private liquidityPools;
address immutable public pair;
IRouter public router;
string private constant _name = "QUEST AI";
string private constant _symbol = "QUEAI";
uint8 private constant _decimals = 18;
uint256 private constant _totalSupply = 100_000_000 * (10 ** _decimals);
uint256 private totalFee = 5000;
uint256 private feeDenominator = 10000;
// 1% of total supply
uint256 private maxBuyNumerator = 100;
uint256 private maxBuyDenominator = 10000;
uint256 public launchedAt;
bool private isTradingAllowed;
bool private swapBackEnabled;
bool private inSwap;
address private constant routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
address public devWallet;
address public marketingWallet;
uint8 public devWalletSupplyPercentage = 5;
uint8 public marketingWalletSupplyPercentage = 15;
uint256 private _devWalletSupply = _totalSupply * devWalletSupplyPercentage / 100;
uint256 private _marketingWalletSupply = _totalSupply * marketingWalletSupplyPercentage / 100;
uint256 private _ownerWalletSupply = _totalSupply - _devWalletSupply - _marketingWalletSupply;
address private constant zeroAddress = 0x0000000000000000000000000000000000000000;
address private constant deadAddress = 0x000000000000000000000000000000000000dEaD;
modifier onlyDev() {
require(_msgSender() == devWallet, "QUEST AI: caller is not a team member");
_;
}
modifier swapping() {
inSwap = true;
_;
inSwap = false;
}
event DistributedFees(uint256 fee);
constructor(address _devWallet, address _marketingWallet) {
router = IRouter(routerAddress);
pair = IFactory(router.factory()).createPair(
router.WETH(),
address(this)
);
liquidityPools[pair] = true;
_allowances[owner()][routerAddress] = type(uint256).max;
_allowances[address(this)][routerAddress] = type(uint256).max;
devWallet = _devWallet;
marketingWallet = _marketingWallet;
isFeeExempt[owner()] = true;
isFeeExempt[address(this)] = true;
isFeeExempt[devWallet] = true;
isFeeExempt[marketingWallet] = true;
liquidityCreator[owner()] = true;
_balances[owner()] = _ownerWalletSupply;
_balances[devWallet] = _devWalletSupply;
_balances[marketingWallet] = _marketingWalletSupply;
isMaxBuyExempt[owner()] = true;
isMaxBuyExempt[address(this)] = true;
isMaxBuyExempt[pair] = true;
isMaxBuyExempt[routerAddress] = true;
isTradingAllowed = false;
swapBackEnabled = true;
emit Transfer(address(0), owner(), _ownerWalletSupply);
emit Transfer(address(0), devWallet, _devWalletSupply);
emit Transfer(address(0), marketingWallet, _marketingWalletSupply);
}
receive() external payable {}
function totalSupply() external pure override returns (uint256) {
return _totalSupply;
}
function decimals() external pure returns (uint8) {
return _decimals;
}
function symbol() external pure returns (string memory) {
return _symbol;
}
function name() external pure returns (string memory) {
return _name;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function allowance(
address holder,
address spender
) external view override returns (uint256) {
return _allowances[holder][spender];
}
function approve(
address spender,
uint256 amount
) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMaximum(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function decreaseFee(uint256 _newFee) external onlyDev {
require(_newFee <= totalFee, "QUEST AI: Can't increase fee.");
totalFee = _newFee;
}
function updateDevWallet(address newWallet) external onlyOwner {
require(devWallet != newWallet ,'Wallet already set');
devWallet = newWallet;
isFeeExempt[devWallet] = true;
}
function updateMarketingWallet(address newWallet) external onlyOwner {
require(marketingWallet != newWallet ,'Wallet already set');
marketingWallet = newWallet;
isFeeExempt[marketingWallet] = true;
}
function feeWithdrawal(uint256 amount) external onlyDev {
uint256 amountETH = address(this).balance;
payable(devWallet).transfer((amountETH * amount) / 100);
}
function startTrading() external onlyOwner {
require(!isTradingAllowed);
isTradingAllowed = true;
launchedAt = block.number;
}
function transfer(
address recipient,
uint256 amount
) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(
address sender,
address recipient,
uint256 amount
) external override returns (bool) {
if (_allowances[sender][msg.sender] != type(uint256).max) {
_allowances[sender][msg.sender] =
_allowances[sender][msg.sender] -
amount;
}
return _transferFrom(sender, recipient, amount);
}
function _transferFrom(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {
require(sender != address(0), "QUEST AI: Transfer from the zero address.");
require(recipient != address(0), "QUEST AI: Transfer to the zero address.");
require(amount > 0, "QUEST AI: Transfer amount must be greater than zero.");
require(_balances[sender] >= amount, "QUEST AI: You are trying to transfer more than your balance.");
require(!blacklisted[sender] && !blacklisted[recipient], "QUEST AI: Address is blacklisted.");
if (!launched() && liquidityPools[recipient]) {
require(
liquidityCreator[sender],
"QUEST AI: Liquidity not added yet."
);
launch();
}
if (!isTradingAllowed) {
require(
liquidityCreator[sender] || liquidityCreator[recipient],
"QUEST AI: Trading is currently disabled."
);
}
if (inSwap) {
return _basicTransfer(sender, recipient, amount);
}
if (liquidityPools[sender] && !isMaxBuyExempt[recipient]) {
// we are buying tokens
uint256 maxAmount = (_totalSupply * maxBuyNumerator) /
maxBuyDenominator;
require(
amount <= maxAmount,
"QUEST AI: Max buy amount exceeded. Try a lower amount."
);
}
_balances[sender] = _balances[sender] - amount;
uint256 amountReceived = feeExcluded(sender)
? receiveFee(recipient, amount)
: amount;
if (shouldSwapBack(recipient)) {
if (amount > 0) swapBack();
}
_balances[recipient] = _balances[recipient] + amountReceived;
emit Transfer(sender, recipient, amountReceived);
return true;
}
function launched() internal view returns (bool) {
return launchedAt != 0;
}
function launch() internal {
launchedAt = block.number;
}
function _basicTransfer(
address sender,
address recipient,
uint256 amount
) internal returns (bool) {
_balances[sender] = _balances[sender] - amount;
_balances[recipient] = _balances[recipient] + amount;
emit Transfer(sender, recipient, amount);
return true;
}
function feeExcluded(address sender) internal view returns (bool) {
return !isFeeExempt[sender];
}
function receiveFee(
address recipient,
uint256 amount
) internal returns (uint256) {
bool sellingOrBuying = liquidityPools[recipient] ||
liquidityPools[msg.sender];
if (!sellingOrBuying) {
return amount;
}
uint256 feeAmount = (amount * totalFee) / feeDenominator;
_balances[address(this)] += feeAmount;
return amount - feeAmount;
}
function shouldSwapBack(address recipient) internal view returns (bool) {
return
!liquidityPools[msg.sender] && !inSwap && liquidityPools[recipient] && swapBackEnabled;
}
function setProvideLiquidity(address lp, bool isPool) external onlyDev {
require(lp != pair, "QUEST AI: Can't alter current liquidity pair.");
liquidityPools[lp] = isPool;
}
function setSwapBackEnabled(bool _enabled) external onlyDev {
swapBackEnabled = _enabled;
}
function setMaxBuyExempt(address _address, bool _isExempt) external onlyDev {
isMaxBuyExempt[_address] = _isExempt;
}
function setBlacklist(address _address, bool _isBlacklisted) external onlyOwner {
blacklisted[_address] = _isBlacklisted;
}
function swapBack() internal swapping {
uint256 myBalance = _balances[address(this)];
if (myBalance == 0) return;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = router.WETH();
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
myBalance,
0,
path,
address(this),
block.timestamp
);
emit DistributedFees(myBalance);
}
function addLiquidityCreator(address _liquidityCreator) external onlyOwner {
liquidityCreator[_liquidityCreator] = true;
}
function getCurrentSupply() public view returns (uint256) {
return _totalSupply - balanceOf(deadAddress) - balanceOf(zeroAddress);
}
}{
"evmVersion": "paris",
"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":[{"internalType":"address","name":"_devWallet","type":"address"},{"internalType":"address","name":"_marketingWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"DistributedFees","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":[{"internalType":"address","name":"_liquidityCreator","type":"address"}],"name":"addLiquidityCreator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMaximum","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":[{"internalType":"address","name":"","type":"address"}],"name":"blacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"decreaseFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWalletSupplyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"feeWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletSupplyPercentage","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isBlacklisted","type":"bool"}],"name":"setBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_isExempt","type":"bool"}],"name":"setMaxBuyExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lp","type":"address"},{"internalType":"bool","name":"isPool","type":"bool"}],"name":"setProvideLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapBackEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a0604052611388600955612710600a556064600b55612710600c556005600f60146101000a81548160ff021916908360ff160217905550600f8060156101000a81548160ff021916908360ff1602179055506064600f60149054906101000a900460ff1660ff166012600a62000077919062000efd565b6305f5e10062000088919062000f4e565b62000094919062000f4e565b620000a0919062000fc8565b6010556064600f60159054906101000a900460ff1660ff166012600a620000c8919062000efd565b6305f5e100620000d9919062000f4e565b620000e5919062000f4e565b620000f1919062000fc8565b6011556011546010546012600a6200010a919062000efd565b6305f5e1006200011b919062000f4e565b62000127919062001000565b62000133919062001000565b6012553480156200014357600080fd5b5060405162004d0638038062004d068339818101604052810190620001699190620010a5565b60006200017b62000d3260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003029190620010ec565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200038b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b19190620010ec565b306040518363ffffffff1660e01b8152600401620003d19291906200112f565b6020604051808303816000875af1158015620003f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004179190620010ec565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060016007600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60026000620004d962000d3a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600e60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000620006b562000d3a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560006200086862000d3a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060125460016000620008d062000d3a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060105460016000600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060115460016000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620009f462000d3a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600e60006101000a81548160ff0219169083151502179055506001600e60016101000a81548160ff02191690831515021790555062000ba962000d3a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60125460405162000c0a91906200116d565b60405180910390a3600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60105460405162000c9691906200116d565b60405180910390a3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60115460405162000d2291906200116d565b60405180910390a350506200118a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000df15780860481111562000dc95762000dc862000d63565b5b600185161562000dd95780820291505b808102905062000de98562000d92565b945062000da9565b94509492505050565b60008262000e0c576001905062000edf565b8162000e1c576000905062000edf565b816001811462000e35576002811462000e405762000e76565b600191505062000edf565b60ff84111562000e555762000e5462000d63565b5b8360020a91508482111562000e6f5762000e6e62000d63565b5b5062000edf565b5060208310610133831016604e8410600b841016171562000eb05782820a90508381111562000eaa5762000ea962000d63565b5b62000edf565b62000ebf848484600162000d9f565b9250905081840481111562000ed95762000ed862000d63565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000f0a8262000ee6565b915062000f178362000ef0565b925062000f467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000dfa565b905092915050565b600062000f5b8262000ee6565b915062000f688362000ee6565b925082820262000f788162000ee6565b9150828204841483151762000f925762000f9162000d63565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000fd58262000ee6565b915062000fe28362000ee6565b92508262000ff55762000ff462000f99565b5b828204905092915050565b60006200100d8262000ee6565b91506200101a8362000ee6565b925082820390508181111562001035576200103462000d63565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200106d8262001040565b9050919050565b6200107f8162001060565b81146200108b57600080fd5b50565b6000815190506200109f8162001074565b92915050565b60008060408385031215620010bf57620010be6200103b565b5b6000620010cf858286016200108e565b9250506020620010e2858286016200108e565b9150509250929050565b6000602082840312156200110557620011046200103b565b5b600062001115848285016200108e565b91505092915050565b620011298162001060565b82525050565b60006040820190506200114660008301856200111e565b6200115560208301846200111e565b9392505050565b620011678162000ee6565b82525050565b60006020820190506200118460008301846200115c565b92915050565b608051613b59620011ad600039600081816114000152611b320152613b596000f3fe6080604052600436106101e75760003560e01c80638da5cb5b11610102578063bf56b37111610095578063e3acfb9111610064578063e3acfb91146106ef578063f2fde38b14610718578063f887ea4014610741578063fdad93021461076c576101ee565b8063bf56b37114610621578063c5730d9d1461064c578063dbac26e914610675578063dd62ed3e146106b2576101ee565b8063a8aa1b31116100d1578063a8aa1b3114610565578063a9059cbb14610590578063aacebbe3146105cd578063aea2d205146105f6576101ee565b80638da5cb5b146104b95780638ea5220f146104e457806391546ab41461050f57806395d89b411461053a576101ee565b8063293230b81161017a57806370a082311161014957806370a08231146103fd578063715018a61461043a57806375f0a874146104515780637c6e0a5e1461047c576101ee565b8063293230b814610367578063313ce5671461037e5780633c8f81d0146103a95780634f3e1efc146103d2576101ee565b806318160ddd116101b657806318160ddd146102ad5780631816467f146102d85780631e53dbe91461030157806323b872dd1461032a576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630961fbf71461025b578063153b0d1e14610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610795565b6040516102159190612b33565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612bee565b6107d2565b6040516102529190612c49565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d9190612c64565b6108c4565b005b34801561029057600080fd5b506102ab60048036038101906102a69190612cbd565b6109e4565b005b3480156102b957600080fd5b506102c2610ad4565b6040516102cf9190612d0c565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190612d27565b610af8565b005b34801561030d57600080fd5b5061032860048036038101906103239190612d54565b610cdb565b005b34801561033657600080fd5b50610351600480360381019061034c9190612d81565b610d8f565b60405161035e9190612c49565b60405180910390f35b34801561037357600080fd5b5061037c610f51565b005b34801561038a57600080fd5b50610393611024565b6040516103a09190612df0565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb9190612d27565b61102d565b005b3480156103de57600080fd5b506103e761111d565b6040516103f49190612d0c565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190612d27565b61116a565b6040516104319190612d0c565b60405180910390f35b34801561044657600080fd5b5061044f6111b3565b005b34801561045d57600080fd5b50610466611306565b6040516104739190612e1a565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e9190612d27565b61132c565b6040516104b09190612c49565b60405180910390f35b3480156104c557600080fd5b506104ce61135f565b6040516104db9190612e1a565b60405180910390f35b3480156104f057600080fd5b506104f9611388565b6040516105069190612e1a565b60405180910390f35b34801561051b57600080fd5b506105246113ae565b6040516105319190612df0565b60405180910390f35b34801561054657600080fd5b5061054f6113c1565b60405161055c9190612b33565b60405180910390f35b34801561057157600080fd5b5061057a6113fe565b6040516105879190612e1a565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b29190612bee565b611422565b6040516105c49190612c49565b60405180910390f35b3480156105d957600080fd5b506105f460048036038101906105ef9190612d27565b611437565b005b34801561060257600080fd5b5061060b61161a565b6040516106189190612df0565b60405180910390f35b34801561062d57600080fd5b5061063661162d565b6040516106439190612d0c565b60405180910390f35b34801561065857600080fd5b50610673600480360381019061066e9190612c64565b611633565b005b34801561068157600080fd5b5061069c60048036038101906106979190612d27565b611719565b6040516106a99190612c49565b60405180910390f35b3480156106be57600080fd5b506106d960048036038101906106d49190612e35565b611739565b6040516106e69190612d0c565b60405180910390f35b3480156106fb57600080fd5b5061071660048036038101906107119190612cbd565b6117c0565b005b34801561072457600080fd5b5061073f600480360381019061073a9190612d27565b6118b2565b005b34801561074d57600080fd5b50610756611a73565b6040516107639190612ed4565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e9190612cbd565b611a99565b005b60606040518060400160405280600881526020017f5155455354204149000000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108b29190612d0c565b60405180910390a36001905092915050565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610905611c19565b73ffffffffffffffffffffffffffffffffffffffff161461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612f61565b60405180910390fd5b6000479050600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606484846109aa9190612fb0565b6109b49190613021565b9081150290604051600060405180830381858888f193505050501580156109df573d6000803e3d6000fd5b505050565b6109ec611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a709061309e565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012600a610ae491906131f1565b6305f5e100610af39190612fb0565b905090565b610b00611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b849061309e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490613288565b60405180910390fd5b80600e60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1c611c19565b73ffffffffffffffffffffffffffffffffffffffff1614610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612f61565b60405180910390fd5b80600e60016101000a81548160ff02191690831515021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f3d5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebc91906132a8565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610f48848484611c21565b90509392505050565b610f59611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd9061309e565b60405180910390fd5b600e60009054906101000a900460ff161561100057600080fd5b6001600e60006101000a81548160ff02191690831515021790555043600d81905550565b60006012905090565b611035611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b99061309e565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611129600061116a565b61113461dead61116a565b6012600a61114291906131f1565b6305f5e1006111519190612fb0565b61115b91906132a8565b61116591906132a8565b905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111bb611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f9061309e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611358827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107d2565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60159054906101000a900460ff1681565b60606040518060400160405280600581526020017f5155454149000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061142f338484611c21565b905092915050565b61143f611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c39061309e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390613288565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60149054906101000a900460ff1681565b600d5481565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611674611c19565b73ffffffffffffffffffffffffffffffffffffffff16146116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190612f61565b60405180910390fd5b60095481111561170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170690613328565b60405180910390fd5b8060098190555050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611801611c19565b73ffffffffffffffffffffffffffffffffffffffff1614611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90612f61565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6118ba611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e9061309e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad906133ba565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ada611c19565b73ffffffffffffffffffffffffffffffffffffffff1614611b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2790612f61565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb59061344c565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c88906134de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf790613570565b60405180910390fd5b60008211611d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3a90613602565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbc90613694565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e695750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9f90613726565b60405180910390fd5b611eb06123b5565b158015611f065750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611fa057600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e906137b8565b60405180910390fd5b611f9f6123c2565b5b600e60009054906101000a900460ff1661209557600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120555750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b9061384a565b60405180910390fd5b5b600e60029054906101000a900460ff16156120bc576120b58484846123cb565b90506123ae565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561215f5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121e4576000600c54600b546012600a61217a91906131f1565b6305f5e1006121899190612fb0565b6121939190612fb0565b61219d9190613021565b9050808311156121e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d9906138dc565b60405180910390fd5b505b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222f91906132a8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061227d85612559565b6122875782612292565b61229184846125b0565b5b905061229d846126f0565b156122b55760008311156122b4576122b36127cd565b5b5b80600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230091906138fc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123a09190612d0c565b60405180910390a360019150505b9392505050565b600080600d541415905090565b43600d81905550565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241891906132a8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a691906138fc565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125469190612d0c565b60405180910390a3600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126545750600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508061266457829150506126ea565b6000600a54600954856126779190612fb0565b6126819190613021565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126d291906138fc565b9250508190555080846126e591906132a8565b925050505b92915050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127595750600e60029054906101000a900460ff16155b80156127ae5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156127c65750600e60019054906101000a900460ff165b9050919050565b6001600e60026101000a81548160ff0219169083151502179055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000810361283a5750612a86565b6000600267ffffffffffffffff81111561285757612856613930565b5b6040519080825280602002602001820160405280156128855781602001602082028036833780820191505090505b509050308160008151811061289d5761289c61395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612944573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296891906139a3565b8160018151811061297c5761297b61395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a1a959493929190613ac9565b600060405180830381600087803b158015612a3457600080fd5b505af1158015612a48573d6000803e3d6000fd5b505050507f6730af06a7a0b552d900fed41c1d468b459eaa290e6eefe61a94a339eabbec1c82604051612a7b9190612d0c565b60405180910390a150505b6000600e60026101000a81548160ff021916908315150217905550565b600081519050919050565b600082825260208201905092915050565b60005b83811015612add578082015181840152602081019050612ac2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b0582612aa3565b612b0f8185612aae565b9350612b1f818560208601612abf565b612b2881612ae9565b840191505092915050565b60006020820190508181036000830152612b4d8184612afa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b8582612b5a565b9050919050565b612b9581612b7a565b8114612ba057600080fd5b50565b600081359050612bb281612b8c565b92915050565b6000819050919050565b612bcb81612bb8565b8114612bd657600080fd5b50565b600081359050612be881612bc2565b92915050565b60008060408385031215612c0557612c04612b55565b5b6000612c1385828601612ba3565b9250506020612c2485828601612bd9565b9150509250929050565b60008115159050919050565b612c4381612c2e565b82525050565b6000602082019050612c5e6000830184612c3a565b92915050565b600060208284031215612c7a57612c79612b55565b5b6000612c8884828501612bd9565b91505092915050565b612c9a81612c2e565b8114612ca557600080fd5b50565b600081359050612cb781612c91565b92915050565b60008060408385031215612cd457612cd3612b55565b5b6000612ce285828601612ba3565b9250506020612cf385828601612ca8565b9150509250929050565b612d0681612bb8565b82525050565b6000602082019050612d216000830184612cfd565b92915050565b600060208284031215612d3d57612d3c612b55565b5b6000612d4b84828501612ba3565b91505092915050565b600060208284031215612d6a57612d69612b55565b5b6000612d7884828501612ca8565b91505092915050565b600080600060608486031215612d9a57612d99612b55565b5b6000612da886828701612ba3565b9350506020612db986828701612ba3565b9250506040612dca86828701612bd9565b9150509250925092565b600060ff82169050919050565b612dea81612dd4565b82525050565b6000602082019050612e056000830184612de1565b92915050565b612e1481612b7a565b82525050565b6000602082019050612e2f6000830184612e0b565b92915050565b60008060408385031215612e4c57612e4b612b55565b5b6000612e5a85828601612ba3565b9250506020612e6b85828601612ba3565b9150509250929050565b6000819050919050565b6000612e9a612e95612e9084612b5a565b612e75565b612b5a565b9050919050565b6000612eac82612e7f565b9050919050565b6000612ebe82612ea1565b9050919050565b612ece81612eb3565b82525050565b6000602082019050612ee96000830184612ec5565b92915050565b7f51554553542041493a2063616c6c6572206973206e6f742061207465616d206d60008201527f656d626572000000000000000000000000000000000000000000000000000000602082015250565b6000612f4b602583612aae565b9150612f5682612eef565b604082019050919050565b60006020820190508181036000830152612f7a81612f3e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fbb82612bb8565b9150612fc683612bb8565b9250828202612fd481612bb8565b91508282048414831517612feb57612fea612f81565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061302c82612bb8565b915061303783612bb8565b92508261304757613046612ff2565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613088602083612aae565b915061309382613052565b602082019050919050565b600060208201905081810360008301526130b78161307b565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613115578086048111156130f1576130f0612f81565b5b60018516156131005780820291505b808102905061310e856130be565b94506130d5565b94509492505050565b60008261312e57600190506131ea565b8161313c57600090506131ea565b8160018114613152576002811461315c5761318b565b60019150506131ea565b60ff84111561316e5761316d612f81565b5b8360020a91508482111561318557613184612f81565b5b506131ea565b5060208310610133831016604e8410600b84101617156131c05782820a9050838111156131bb576131ba612f81565b5b6131ea565b6131cd84848460016130cb565b925090508184048111156131e4576131e3612f81565b5b81810290505b9392505050565b60006131fc82612bb8565b915061320783612dd4565b92506132347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461311e565b905092915050565b7f57616c6c657420616c7265616479207365740000000000000000000000000000600082015250565b6000613272601283612aae565b915061327d8261323c565b602082019050919050565b600060208201905081810360008301526132a181613265565b9050919050565b60006132b382612bb8565b91506132be83612bb8565b92508282039050818111156132d6576132d5612f81565b5b92915050565b7f51554553542041493a2043616e277420696e637265617365206665652e000000600082015250565b6000613312601d83612aae565b915061331d826132dc565b602082019050919050565b6000602082019050818103600083015261334181613305565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133a4602683612aae565b91506133af82613348565b604082019050919050565b600060208201905081810360008301526133d381613397565b9050919050565b7f51554553542041493a2043616e277420616c7465722063757272656e74206c6960008201527f7175696469747920706169722e00000000000000000000000000000000000000602082015250565b6000613436602d83612aae565b9150613441826133da565b604082019050919050565b6000602082019050818103600083015261346581613429565b9050919050565b7f51554553542041493a205472616e736665722066726f6d20746865207a65726f60008201527f20616464726573732e0000000000000000000000000000000000000000000000602082015250565b60006134c8602983612aae565b91506134d38261346c565b604082019050919050565b600060208201905081810360008301526134f7816134bb565b9050919050565b7f51554553542041493a205472616e7366657220746f20746865207a65726f206160008201527f6464726573732e00000000000000000000000000000000000000000000000000602082015250565b600061355a602783612aae565b9150613565826134fe565b604082019050919050565b600060208201905081810360008301526135898161354d565b9050919050565b7f51554553542041493a205472616e7366657220616d6f756e74206d757374206260008201527f652067726561746572207468616e207a65726f2e000000000000000000000000602082015250565b60006135ec603483612aae565b91506135f782613590565b604082019050919050565b6000602082019050818103600083015261361b816135df565b9050919050565b7f51554553542041493a20596f752061726520747279696e6720746f207472616e60008201527f73666572206d6f7265207468616e20796f75722062616c616e63652e00000000602082015250565b600061367e603c83612aae565b915061368982613622565b604082019050919050565b600060208201905081810360008301526136ad81613671565b9050919050565b7f51554553542041493a204164647265737320697320626c61636b6c697374656460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000613710602183612aae565b915061371b826136b4565b604082019050919050565b6000602082019050818103600083015261373f81613703565b9050919050565b7f51554553542041493a204c6971756964697479206e6f7420616464656420796560008201527f742e000000000000000000000000000000000000000000000000000000000000602082015250565b60006137a2602283612aae565b91506137ad82613746565b604082019050919050565b600060208201905081810360008301526137d181613795565b9050919050565b7f51554553542041493a2054726164696e672069732063757272656e746c79206460008201527f697361626c65642e000000000000000000000000000000000000000000000000602082015250565b6000613834602883612aae565b915061383f826137d8565b604082019050919050565b6000602082019050818103600083015261386381613827565b9050919050565b7f51554553542041493a204d61782062757920616d6f756e74206578636565646560008201527f642e205472792061206c6f77657220616d6f756e742e00000000000000000000602082015250565b60006138c6603683612aae565b91506138d18261386a565b604082019050919050565b600060208201905081810360008301526138f5816138b9565b9050919050565b600061390782612bb8565b915061391283612bb8565b925082820190508082111561392a57613929612f81565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061399d81612b8c565b92915050565b6000602082840312156139b9576139b8612b55565b5b60006139c78482850161398e565b91505092915050565b6000819050919050565b60006139f56139f06139eb846139d0565b612e75565b612bb8565b9050919050565b613a05816139da565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a4081612b7a565b82525050565b6000613a528383613a37565b60208301905092915050565b6000602082019050919050565b6000613a7682613a0b565b613a808185613a16565b9350613a8b83613a27565b8060005b83811015613abc578151613aa38882613a46565b9750613aae83613a5e565b925050600181019050613a8f565b5085935050505092915050565b600060a082019050613ade6000830188612cfd565b613aeb60208301876139fc565b8181036040830152613afd8186613a6b565b9050613b0c6060830185612e0b565b613b196080830184612cfd565b969550505050505056fea2646970667358221220e0652fd087003b4073bce9f0f17279cc997c0fdfb9395442b3f14f89decdcf0e64736f6c634300081800330000000000000000000000009039ac98bab897072a5f75f9abaf53805472238a00000000000000000000000003ba718c593a1e14f3c6c16b37119a09a23a3c6a
Deployed Bytecode
0x6080604052600436106101e75760003560e01c80638da5cb5b11610102578063bf56b37111610095578063e3acfb9111610064578063e3acfb91146106ef578063f2fde38b14610718578063f887ea4014610741578063fdad93021461076c576101ee565b8063bf56b37114610621578063c5730d9d1461064c578063dbac26e914610675578063dd62ed3e146106b2576101ee565b8063a8aa1b31116100d1578063a8aa1b3114610565578063a9059cbb14610590578063aacebbe3146105cd578063aea2d205146105f6576101ee565b80638da5cb5b146104b95780638ea5220f146104e457806391546ab41461050f57806395d89b411461053a576101ee565b8063293230b81161017a57806370a082311161014957806370a08231146103fd578063715018a61461043a57806375f0a874146104515780637c6e0a5e1461047c576101ee565b8063293230b814610367578063313ce5671461037e5780633c8f81d0146103a95780634f3e1efc146103d2576101ee565b806318160ddd116101b657806318160ddd146102ad5780631816467f146102d85780631e53dbe91461030157806323b872dd1461032a576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630961fbf71461025b578063153b0d1e14610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610795565b6040516102159190612b33565b60405180910390f35b34801561022a57600080fd5b5061024560048036038101906102409190612bee565b6107d2565b6040516102529190612c49565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d9190612c64565b6108c4565b005b34801561029057600080fd5b506102ab60048036038101906102a69190612cbd565b6109e4565b005b3480156102b957600080fd5b506102c2610ad4565b6040516102cf9190612d0c565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190612d27565b610af8565b005b34801561030d57600080fd5b5061032860048036038101906103239190612d54565b610cdb565b005b34801561033657600080fd5b50610351600480360381019061034c9190612d81565b610d8f565b60405161035e9190612c49565b60405180910390f35b34801561037357600080fd5b5061037c610f51565b005b34801561038a57600080fd5b50610393611024565b6040516103a09190612df0565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb9190612d27565b61102d565b005b3480156103de57600080fd5b506103e761111d565b6040516103f49190612d0c565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190612d27565b61116a565b6040516104319190612d0c565b60405180910390f35b34801561044657600080fd5b5061044f6111b3565b005b34801561045d57600080fd5b50610466611306565b6040516104739190612e1a565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e9190612d27565b61132c565b6040516104b09190612c49565b60405180910390f35b3480156104c557600080fd5b506104ce61135f565b6040516104db9190612e1a565b60405180910390f35b3480156104f057600080fd5b506104f9611388565b6040516105069190612e1a565b60405180910390f35b34801561051b57600080fd5b506105246113ae565b6040516105319190612df0565b60405180910390f35b34801561054657600080fd5b5061054f6113c1565b60405161055c9190612b33565b60405180910390f35b34801561057157600080fd5b5061057a6113fe565b6040516105879190612e1a565b60405180910390f35b34801561059c57600080fd5b506105b760048036038101906105b29190612bee565b611422565b6040516105c49190612c49565b60405180910390f35b3480156105d957600080fd5b506105f460048036038101906105ef9190612d27565b611437565b005b34801561060257600080fd5b5061060b61161a565b6040516106189190612df0565b60405180910390f35b34801561062d57600080fd5b5061063661162d565b6040516106439190612d0c565b60405180910390f35b34801561065857600080fd5b50610673600480360381019061066e9190612c64565b611633565b005b34801561068157600080fd5b5061069c60048036038101906106979190612d27565b611719565b6040516106a99190612c49565b60405180910390f35b3480156106be57600080fd5b506106d960048036038101906106d49190612e35565b611739565b6040516106e69190612d0c565b60405180910390f35b3480156106fb57600080fd5b5061071660048036038101906107119190612cbd565b6117c0565b005b34801561072457600080fd5b5061073f600480360381019061073a9190612d27565b6118b2565b005b34801561074d57600080fd5b50610756611a73565b6040516107639190612ed4565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e9190612cbd565b611a99565b005b60606040518060400160405280600881526020017f5155455354204149000000000000000000000000000000000000000000000000815250905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108b29190612d0c565b60405180910390a36001905092915050565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610905611c19565b73ffffffffffffffffffffffffffffffffffffffff161461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290612f61565b60405180910390fd5b6000479050600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606484846109aa9190612fb0565b6109b49190613021565b9081150290604051600060405180830381858888f193505050501580156109df573d6000803e3d6000fd5b505050565b6109ec611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a709061309e565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012600a610ae491906131f1565b6305f5e100610af39190612fb0565b905090565b610b00611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b849061309e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1490613288565b60405180910390fd5b80600e60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d1c611c19565b73ffffffffffffffffffffffffffffffffffffffff1614610d72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6990612f61565b60405180910390fd5b80600e60016101000a81548160ff02191690831515021790555050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610f3d5781600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ebc91906132a8565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610f48848484611c21565b90509392505050565b610f59611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd9061309e565b60405180910390fd5b600e60009054906101000a900460ff161561100057600080fd5b6001600e60006101000a81548160ff02191690831515021790555043600d81905550565b60006012905090565b611035611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b99061309e565b60405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611129600061116a565b61113461dead61116a565b6012600a61114291906131f1565b6305f5e1006111519190612fb0565b61115b91906132a8565b61116591906132a8565b905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111bb611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f9061309e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611358827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107d2565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60159054906101000a900460ff1681565b60606040518060400160405280600581526020017f5155454149000000000000000000000000000000000000000000000000000000815250905090565b7f000000000000000000000000b91d0f34f79d6573c8b49fadbcdaff1dc8c9872d81565b600061142f338484611c21565b905092915050565b61143f611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c39061309e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390613288565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60149054906101000a900460ff1681565b600d5481565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611674611c19565b73ffffffffffffffffffffffffffffffffffffffff16146116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c190612f61565b60405180910390fd5b60095481111561170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170690613328565b60405180910390fd5b8060098190555050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611801611c19565b73ffffffffffffffffffffffffffffffffffffffff1614611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90612f61565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6118ba611c19565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193e9061309e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ad906133ba565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ada611c19565b73ffffffffffffffffffffffffffffffffffffffff1614611b30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2790612f61565b60405180910390fd5b7f000000000000000000000000b91d0f34f79d6573c8b49fadbcdaff1dc8c9872d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb59061344c565b60405180910390fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c88906134de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf790613570565b60405180910390fd5b60008211611d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3a90613602565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbc90613694565b60405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e695750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611ea8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9f90613726565b60405180910390fd5b611eb06123b5565b158015611f065750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611fa057600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8e906137b8565b60405180910390fd5b611f9f6123c2565b5b600e60009054906101000a900460ff1661209557600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120555750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b9061384a565b60405180910390fd5b5b600e60029054906101000a900460ff16156120bc576120b58484846123cb565b90506123ae565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561215f5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121e4576000600c54600b546012600a61217a91906131f1565b6305f5e1006121899190612fb0565b6121939190612fb0565b61219d9190613021565b9050808311156121e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d9906138dc565b60405180910390fd5b505b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461222f91906132a8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061227d85612559565b6122875782612292565b61229184846125b0565b5b905061229d846126f0565b156122b55760008311156122b4576122b36127cd565b5b5b80600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230091906138fc565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123a09190612d0c565b60405180910390a360019150505b9392505050565b600080600d541415905090565b43600d81905550565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241891906132a8565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a691906138fc565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125469190612d0c565b60405180910390a3600190509392505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126545750600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508061266457829150506126ea565b6000600a54600954856126779190612fb0565b6126819190613021565b905080600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546126d291906138fc565b9250508190555080846126e591906132a8565b925050505b92915050565b6000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127595750600e60029054906101000a900460ff16155b80156127ae5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156127c65750600e60019054906101000a900460ff165b9050919050565b6001600e60026101000a81548160ff0219169083151502179055506000600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000810361283a5750612a86565b6000600267ffffffffffffffff81111561285757612856613930565b5b6040519080825280602002602001820160405280156128855781602001602082028036833780820191505090505b509050308160008151811061289d5761289c61395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612944573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061296891906139a3565b8160018151811061297c5761297b61395f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612a1a959493929190613ac9565b600060405180830381600087803b158015612a3457600080fd5b505af1158015612a48573d6000803e3d6000fd5b505050507f6730af06a7a0b552d900fed41c1d468b459eaa290e6eefe61a94a339eabbec1c82604051612a7b9190612d0c565b60405180910390a150505b6000600e60026101000a81548160ff021916908315150217905550565b600081519050919050565b600082825260208201905092915050565b60005b83811015612add578082015181840152602081019050612ac2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b0582612aa3565b612b0f8185612aae565b9350612b1f818560208601612abf565b612b2881612ae9565b840191505092915050565b60006020820190508181036000830152612b4d8184612afa565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612b8582612b5a565b9050919050565b612b9581612b7a565b8114612ba057600080fd5b50565b600081359050612bb281612b8c565b92915050565b6000819050919050565b612bcb81612bb8565b8114612bd657600080fd5b50565b600081359050612be881612bc2565b92915050565b60008060408385031215612c0557612c04612b55565b5b6000612c1385828601612ba3565b9250506020612c2485828601612bd9565b9150509250929050565b60008115159050919050565b612c4381612c2e565b82525050565b6000602082019050612c5e6000830184612c3a565b92915050565b600060208284031215612c7a57612c79612b55565b5b6000612c8884828501612bd9565b91505092915050565b612c9a81612c2e565b8114612ca557600080fd5b50565b600081359050612cb781612c91565b92915050565b60008060408385031215612cd457612cd3612b55565b5b6000612ce285828601612ba3565b9250506020612cf385828601612ca8565b9150509250929050565b612d0681612bb8565b82525050565b6000602082019050612d216000830184612cfd565b92915050565b600060208284031215612d3d57612d3c612b55565b5b6000612d4b84828501612ba3565b91505092915050565b600060208284031215612d6a57612d69612b55565b5b6000612d7884828501612ca8565b91505092915050565b600080600060608486031215612d9a57612d99612b55565b5b6000612da886828701612ba3565b9350506020612db986828701612ba3565b9250506040612dca86828701612bd9565b9150509250925092565b600060ff82169050919050565b612dea81612dd4565b82525050565b6000602082019050612e056000830184612de1565b92915050565b612e1481612b7a565b82525050565b6000602082019050612e2f6000830184612e0b565b92915050565b60008060408385031215612e4c57612e4b612b55565b5b6000612e5a85828601612ba3565b9250506020612e6b85828601612ba3565b9150509250929050565b6000819050919050565b6000612e9a612e95612e9084612b5a565b612e75565b612b5a565b9050919050565b6000612eac82612e7f565b9050919050565b6000612ebe82612ea1565b9050919050565b612ece81612eb3565b82525050565b6000602082019050612ee96000830184612ec5565b92915050565b7f51554553542041493a2063616c6c6572206973206e6f742061207465616d206d60008201527f656d626572000000000000000000000000000000000000000000000000000000602082015250565b6000612f4b602583612aae565b9150612f5682612eef565b604082019050919050565b60006020820190508181036000830152612f7a81612f3e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612fbb82612bb8565b9150612fc683612bb8565b9250828202612fd481612bb8565b91508282048414831517612feb57612fea612f81565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061302c82612bb8565b915061303783612bb8565b92508261304757613046612ff2565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613088602083612aae565b915061309382613052565b602082019050919050565b600060208201905081810360008301526130b78161307b565b9050919050565b60008160011c9050919050565b6000808291508390505b6001851115613115578086048111156130f1576130f0612f81565b5b60018516156131005780820291505b808102905061310e856130be565b94506130d5565b94509492505050565b60008261312e57600190506131ea565b8161313c57600090506131ea565b8160018114613152576002811461315c5761318b565b60019150506131ea565b60ff84111561316e5761316d612f81565b5b8360020a91508482111561318557613184612f81565b5b506131ea565b5060208310610133831016604e8410600b84101617156131c05782820a9050838111156131bb576131ba612f81565b5b6131ea565b6131cd84848460016130cb565b925090508184048111156131e4576131e3612f81565b5b81810290505b9392505050565b60006131fc82612bb8565b915061320783612dd4565b92506132347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461311e565b905092915050565b7f57616c6c657420616c7265616479207365740000000000000000000000000000600082015250565b6000613272601283612aae565b915061327d8261323c565b602082019050919050565b600060208201905081810360008301526132a181613265565b9050919050565b60006132b382612bb8565b91506132be83612bb8565b92508282039050818111156132d6576132d5612f81565b5b92915050565b7f51554553542041493a2043616e277420696e637265617365206665652e000000600082015250565b6000613312601d83612aae565b915061331d826132dc565b602082019050919050565b6000602082019050818103600083015261334181613305565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133a4602683612aae565b91506133af82613348565b604082019050919050565b600060208201905081810360008301526133d381613397565b9050919050565b7f51554553542041493a2043616e277420616c7465722063757272656e74206c6960008201527f7175696469747920706169722e00000000000000000000000000000000000000602082015250565b6000613436602d83612aae565b9150613441826133da565b604082019050919050565b6000602082019050818103600083015261346581613429565b9050919050565b7f51554553542041493a205472616e736665722066726f6d20746865207a65726f60008201527f20616464726573732e0000000000000000000000000000000000000000000000602082015250565b60006134c8602983612aae565b91506134d38261346c565b604082019050919050565b600060208201905081810360008301526134f7816134bb565b9050919050565b7f51554553542041493a205472616e7366657220746f20746865207a65726f206160008201527f6464726573732e00000000000000000000000000000000000000000000000000602082015250565b600061355a602783612aae565b9150613565826134fe565b604082019050919050565b600060208201905081810360008301526135898161354d565b9050919050565b7f51554553542041493a205472616e7366657220616d6f756e74206d757374206260008201527f652067726561746572207468616e207a65726f2e000000000000000000000000602082015250565b60006135ec603483612aae565b91506135f782613590565b604082019050919050565b6000602082019050818103600083015261361b816135df565b9050919050565b7f51554553542041493a20596f752061726520747279696e6720746f207472616e60008201527f73666572206d6f7265207468616e20796f75722062616c616e63652e00000000602082015250565b600061367e603c83612aae565b915061368982613622565b604082019050919050565b600060208201905081810360008301526136ad81613671565b9050919050565b7f51554553542041493a204164647265737320697320626c61636b6c697374656460008201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000613710602183612aae565b915061371b826136b4565b604082019050919050565b6000602082019050818103600083015261373f81613703565b9050919050565b7f51554553542041493a204c6971756964697479206e6f7420616464656420796560008201527f742e000000000000000000000000000000000000000000000000000000000000602082015250565b60006137a2602283612aae565b91506137ad82613746565b604082019050919050565b600060208201905081810360008301526137d181613795565b9050919050565b7f51554553542041493a2054726164696e672069732063757272656e746c79206460008201527f697361626c65642e000000000000000000000000000000000000000000000000602082015250565b6000613834602883612aae565b915061383f826137d8565b604082019050919050565b6000602082019050818103600083015261386381613827565b9050919050565b7f51554553542041493a204d61782062757920616d6f756e74206578636565646560008201527f642e205472792061206c6f77657220616d6f756e742e00000000000000000000602082015250565b60006138c6603683612aae565b91506138d18261386a565b604082019050919050565b600060208201905081810360008301526138f5816138b9565b9050919050565b600061390782612bb8565b915061391283612bb8565b925082820190508082111561392a57613929612f81565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061399d81612b8c565b92915050565b6000602082840312156139b9576139b8612b55565b5b60006139c78482850161398e565b91505092915050565b6000819050919050565b60006139f56139f06139eb846139d0565b612e75565b612bb8565b9050919050565b613a05816139da565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a4081612b7a565b82525050565b6000613a528383613a37565b60208301905092915050565b6000602082019050919050565b6000613a7682613a0b565b613a808185613a16565b9350613a8b83613a27565b8060005b83811015613abc578151613aa38882613a46565b9750613aae83613a5e565b925050600181019050613a8f565b5085935050505092915050565b600060a082019050613ade6000830188612cfd565b613aeb60208301876139fc565b8181036040830152613afd8186613a6b565b9050613b0c6060830185612e0b565b613b196080830184612cfd565b969550505050505056fea2646970667358221220e0652fd087003b4073bce9f0f17279cc997c0fdfb9395442b3f14f89decdcf0e64736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009039ac98bab897072a5f75f9abaf53805472238a00000000000000000000000003ba718c593a1e14f3c6c16b37119a09a23a3c6a
-----Decoded View---------------
Arg [0] : _devWallet (address): 0x9039Ac98BAB897072a5f75F9abAf53805472238a
Arg [1] : _marketingWallet (address): 0x03bA718C593a1e14F3c6C16B37119A09A23a3c6a
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009039ac98bab897072a5f75f9abaf53805472238a
Arg [1] : 00000000000000000000000003ba718c593a1e14f3c6c16b37119a09a23a3c6a
Loading...
Loading
Loading...
Loading
OVERVIEW
QuestAI a game-changing tool that combines the power of analyzing real groups and top shillers. Discover calls, track influencers, and gain insights like never before. Simple, transparent, and built to help you stay ahead in the fast-paced world of crypto.Net Worth in USD
$263.17
Net Worth in ETH
0.124111
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,120.44 | 0.1241 | $263.17 |
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.