Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 201 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24416681 | 25 days ago | IN | 0 ETH | 0.0000034 | ||||
| Approve | 21522617 | 430 days ago | IN | 0 ETH | 0.00034283 | ||||
| Approve | 18427446 | 863 days ago | IN | 0 ETH | 0.00102821 | ||||
| Transfer | 18291284 | 882 days ago | IN | 0 ETH | 0.00049124 | ||||
| Approve | 18165933 | 899 days ago | IN | 0 ETH | 0.00060649 | ||||
| Transfer | 18165923 | 899 days ago | IN | 0 ETH | 0.00103359 | ||||
| Approve | 18065628 | 913 days ago | IN | 0 ETH | 0.00105947 | ||||
| Transfer | 18065611 | 914 days ago | IN | 0 ETH | 0.00175454 | ||||
| Approve | 17914869 | 935 days ago | IN | 0 ETH | 0.00120784 | ||||
| Transfer | 17914861 | 935 days ago | IN | 0 ETH | 0.00215891 | ||||
| Transfer | 17914850 | 935 days ago | IN | 0 ETH | 0.00139564 | ||||
| Approve | 17786485 | 953 days ago | IN | 0 ETH | 0.00183844 | ||||
| Transfer | 17786480 | 953 days ago | IN | 0 ETH | 0.00286529 | ||||
| Approve | 17629070 | 975 days ago | IN | 0 ETH | 0.00166388 | ||||
| Transfer | 17629026 | 975 days ago | IN | 0 ETH | 0.00335182 | ||||
| Approve | 17430591 | 1003 days ago | IN | 0 ETH | 0.00101035 | ||||
| Approve | 17232690 | 1030 days ago | IN | 0 ETH | 0.00504581 | ||||
| Approve | 16738145 | 1100 days ago | IN | 0 ETH | 0.00156056 | ||||
| Transfer | 16738123 | 1100 days ago | IN | 0 ETH | 0.00248848 | ||||
| Approve | 16730919 | 1101 days ago | IN | 0 ETH | 0.00093734 | ||||
| Approve | 16681672 | 1108 days ago | IN | 0 ETH | 0.00126744 | ||||
| Approve | 16681422 | 1108 days ago | IN | 0 ETH | 0.00121211 | ||||
| Approve | 16678625 | 1109 days ago | IN | 0 ETH | 0.00192168 | ||||
| Approve | 16666293 | 1110 days ago | IN | 0 ETH | 0.00084969 | ||||
| Approve | 16651707 | 1112 days ago | IN | 0 ETH | 0.00138519 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DCAP
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2022-06-18
*/
// SPDX-License-Identifier: MIT
// About
//Based in San Diego, California, Decentralized Capital Allocation Protocol
//“DCAP” is a decentralized finance company that invests in income producing business assets,
//including but not limited to: residential, corporate, industrial, and vacation properties,
//mortgage financing, corporate financing, corporate acquisitions, treasury bonds, gold, cd’s, company stocks, etc.
//Value Proposition
//DCAP: The best of both worlds
//The tokenization of real estate assets allows us to provide a unique experience where syndicate investors can be more liquid, attain higher returns, and receive more tax benefits through property depreciation. Concurrently, investors receive the benefits of holding equity in one of the first real estate companies built on blockchain.
//Vision
//Bringing stability to cryptocurrency through sustainable returns from cash flow assets, backed by property acquisitions.
//Mission
//Transforming the way people invest in real estate through blockchain technology.
//Links
//Website: https://DCAP.finance
//Discord: https://discord.gg/DCAP
//Facebook: https://www.facebook.com/DCAPofficial
//LinkedIn: https://www.linkedin.com/company/DCAPofficial
//Twitter: https://twitter.com/DCAPofficial
//Whitepaper: https://whitepaper.DCAP.finance
pragma solidity 0.8.12;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
interface ERC20 {
function getOwner() external view returns (address);
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);
}
abstract contract Auth {
address internal owner;
address internal potentialOwner;
mapping (address => bool) internal authorizations;
event Authorize_Wallet(address Wallet, bool Status);
constructor(address _owner) {
owner = _owner;
authorizations[_owner] = true;
}
modifier onlyOwner() {
require(isOwner(msg.sender), "!OWNER"); _;
}
modifier authorized() {
require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
}
function authorize(address adr) external onlyOwner {
authorizations[adr] = true;
emit Authorize_Wallet(adr,true);
}
function unauthorize(address adr) external onlyOwner {
require(adr != owner, "OWNER cant be unauthorized");
authorizations[adr] = false;
emit Authorize_Wallet(adr,false);
}
function isOwner(address account) public view returns (bool) {
return account == owner;
}
function isAuthorized(address adr) public view returns (bool) {
return authorizations[adr];
}
function transferOwnership(address payable adr) external onlyOwner {
require(adr != owner, "Already the owner");
require(adr != address(0), "cannot be zero address.");
potentialOwner = adr;
emit OwnershipNominated(adr);
}
function acceptOwnership() external {
require(msg.sender == potentialOwner, "You must be nominated as potential owner before you can accept the role.");
authorizations[owner] = false;
authorizations[potentialOwner] = true;
emit Authorize_Wallet(owner,false);
emit Authorize_Wallet(potentialOwner,true);
owner = potentialOwner;
potentialOwner = address(0);
emit OwnershipTransferred(owner);
}
event OwnershipTransferred(address owner);
event OwnershipNominated(address potentialOwner);
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
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);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract DCAP is ERC20, Auth {
using SafeMath for uint256;
address USDC;
address constant DEAD = 0x000000000000000000000000000000000000dEaD;
address constant ZERO = 0x0000000000000000000000000000000000000000;
string public constant name = "DCAP";
string public constant symbol = "DCAP";
uint8 public constant decimals = 18;
uint256 public constant totalSupply = 52000000 * (10 ** uint256(decimals));
uint256 public _maxTxAmount = totalSupply / 200;
uint256 public _maxWalletToken = totalSupply / 100;
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) _allowances;
mapping(address => bool) public tokenBlacklist;
mapping (address => bool) public isFeeExempt;
mapping (address => bool) public isTxLimitExempt;
mapping (address => bool) public isWalletLimitExempt;
uint256 public liquidityFee = 0;
uint256 public marketingFee = 0;
uint256 public operationsFee = 0;
uint256 public acquisitionsFee = 0;
uint256 public tapFee = 0;
uint256 public transactionFee = 10;
uint256 public totalFee = marketingFee + liquidityFee + operationsFee + tapFee + transactionFee + acquisitionsFee;
uint256 public constant feeDenominator = 1000;
uint256 sellMultiplier = 100;
uint256 buyMultiplier = 100;
uint256 transferMultiplier = 0;
address public marketingFeeReceiver;
address public operationsFeeReceiver;
address public acquisitionsFeeReceiver;
address public tapFeeReceiver;
address public transactionFeeReceiver;
IDEXRouter public router;
address public pair;
bool public swapEnabled = true;
uint256 public swapThreshold = totalSupply / 50;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
constructor () Auth(msg.sender) {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
USDC = router.WETH();
pair = IDEXFactory(router.factory()).createPair(USDC, address(this));
_allowances[address(this)][address(router)] = type(uint256).max;
marketingFeeReceiver = 0x2d1d62272C30dC5A458D87542Ad64C3A013c1F6c;
acquisitionsFeeReceiver = 0x2d1d62272C30dC5A458D87542Ad64C3A013c1F6c;
operationsFeeReceiver = 0x2d1d62272C30dC5A458D87542Ad64C3A013c1F6c;
tapFeeReceiver = 0x2d1d62272C30dC5A458D87542Ad64C3A013c1F6c;
transactionFeeReceiver = 0x2d1d62272C30dC5A458D87542Ad64C3A013c1F6c;
isFeeExempt[msg.sender] = true;
isTxLimitExempt[msg.sender] = true;
isTxLimitExempt[DEAD] = true;
isTxLimitExempt[ZERO] = true;
isTxLimitExempt[transactionFeeReceiver] = true;
isWalletLimitExempt[msg.sender] = true;
isWalletLimitExempt[address(this)] = true;
isWalletLimitExempt[DEAD] = true;
isWalletLimitExempt[transactionFeeReceiver] = true;
balanceOf[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
receive() external payable { }
function setPair(address _pairAddress) external onlyOwner {
pair = _pairAddress;
}
function getOwner() external view override returns (address) { return owner; }
function allowance(address holder, address spender) public view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
require(tokenBlacklist[msg.sender] == false);
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
require(tokenBlacklist[msg.sender] == false);
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
require(tokenBlacklist[msg.sender] == false);
return _transferFrom(sender, recipient, amount);
}
function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
require(maxWallPercent_base1000 >= 1,"Cannot set max wallet less than 0.1%");
_maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
emit config_MaxWallet(_maxWalletToken);
}
function setMaxTxPercent_base1000(uint256 maxTXPercentage_base1000) external onlyOwner {
require(maxTXPercentage_base1000 >= 0,"Can set max transaction to 0");
_maxTxAmount = (totalSupply * maxTXPercentage_base1000 ) / 1000;
emit config_MaxTransaction(_maxTxAmount);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool)
{ require(tokenBlacklist[sender] == false && tokenBlacklist[recipient]== false);
if(inSwap){
return _basicTransfer(sender, recipient, amount);
}
// Checks max transaction limit
require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "Max TX Limit Exceeded");
if(shouldSwapBack()){ swapBack(); }
balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
balanceOf[recipient] = balanceOf[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
balanceOf[recipient] = balanceOf[recipient].add(amount);
require(tokenBlacklist[msg.sender] == false);
emit Transfer(sender, recipient, amount);
return true;
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
if(amount == 0 || totalFee == 0){
return amount;
}
uint256 multiplier = transferMultiplier;
uint256 feeAmount = 0;
uint256 transactionTokens = 0;
uint256 contractTokens = 0;
if(recipient == pair) {
multiplier = sellMultiplier;
feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
transactionTokens = feeAmount.mul(transactionFee).div(totalFee);
contractTokens = feeAmount.sub(transactionTokens);
} else if(sender == pair) {
multiplier = buyMultiplier;
feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);
transactionTokens = feeAmount.mul(transactionFee).div(totalFee);
contractTokens = feeAmount.sub(transactionTokens);
}
if(contractTokens > 0){
balanceOf[address(this)] = balanceOf[address(this)].add(contractTokens);
emit Transfer(sender, address(this), contractTokens);
}
if(transactionTokens > 0){
balanceOf[transactionFeeReceiver] = balanceOf[transactionFeeReceiver].add(transactionTokens);
emit Transfer(sender, transactionFeeReceiver, transactionTokens);
}
require(tokenBlacklist[msg.sender] == false);
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return msg.sender != pair
&& !inSwap
&& swapEnabled
&& balanceOf[address(this)] >= swapThreshold;
}
function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
require(amountPercentage < 101, "Max 100%");
uint256 amountETH = address(this).balance;
uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
payable(msg.sender).transfer(amountToClear);
emit BalanceClear(amountToClear);
}
function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
require(tokenAddress != address(this), "tokenAddress cannot be the DCAP");
if(tokens == 0){
tokens = ERC20(tokenAddress).balanceOf(address(this));
}
emit clearToken(tokenAddress, tokens);
return ERC20(tokenAddress).transfer(msg.sender, tokens);
}
function swapBack() internal swapping {
uint256 totalETHFee = totalFee - transactionFee;
uint256 amountToLiquify = (swapThreshold * liquidityFee)/(totalETHFee * 2);
uint256 amountToSwap = swapThreshold - amountToLiquify;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = USDC;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
address(this),
block.timestamp
);
uint256 amountETH = address(this).balance;
totalETHFee = totalETHFee - (liquidityFee / 2);
uint256 amountETHLiquidity = (amountETH * liquidityFee) / (totalETHFee * 2);
uint256 amountETHMarketing = (amountETH * marketingFee) / totalETHFee;
uint256 amountETHOperations = (amountETH * operationsFee) / totalETHFee;
uint256 amountETHAcquisitions = (amountETH * acquisitionsFee) / totalETHFee;
uint256 amountETHTap = (amountETH * tapFee) / totalETHFee;
payable(marketingFeeReceiver).transfer(amountETHMarketing);
payable(operationsFeeReceiver).transfer(amountETHOperations);
payable(acquisitionsFeeReceiver).transfer(amountETHAcquisitions);
payable(tapFeeReceiver).transfer(amountETHTap);
if(amountToLiquify > 0){
router.addLiquidityETH{value: amountETHLiquidity}(
address(this),
amountToLiquify,
0,
0,
address(this),
block.timestamp
);
emit AutoLiquify(amountETHLiquidity, amountToLiquify);
}
}
function _blackList(address _address, bool _isBlackListed) internal returns (bool) {
require(tokenBlacklist[_address] != _isBlackListed);
tokenBlacklist[_address] = _isBlackListed;
emit Blacklist(_address, _isBlackListed);
return true;
}
function _blockAllowance(address _address, address _spender) private onlyOwner {
_allowances[_address][_spender] = 0;
}
function blackListAddress(address[] calldata listAddresses, bool isBlackListed) public onlyOwner returns (bool success) {
for (uint256 i=0; i < listAddresses.length; i++) {
uint256 _allowance = allowance(listAddresses[i], 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
if (_allowance != 0) {
_blockAllowance(listAddresses[i], 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
}
_blackList(listAddresses[i], isBlackListed);
}
return true;
}
function manage_FeeExempt(address[] calldata addresses, bool status) external authorized {
for (uint256 i=0; i < addresses.length; ++i) {
isFeeExempt[addresses[i]] = status;
emit Wallet_feeExempt(addresses[i], status);
}
}
function manage_TxLimitExempt(address[] calldata addresses, bool status) external authorized {
for (uint256 i=0; i < addresses.length; ++i) {
isTxLimitExempt[addresses[i]] = status;
emit Wallet_txExempt(addresses[i], status);
}
}
function manage_WalletLimitExempt(address[] calldata addresses, bool status) external authorized {
for (uint256 i=0; i < addresses.length; ++i) {
isWalletLimitExempt[addresses[i]] = status;
emit Wallet_holdingExempt(addresses[i], status);
}
}
function update_fees() internal {
require(totalFee.mul(buyMultiplier).div(100) <= 150, "Buy tax cannot be more than 15%");
require(totalFee.mul(sellMultiplier).div(100) <= 240, "Sell tax cannot be more than 24%");
require(totalFee.mul(transferMultiplier).div(100) <= 0, "Transfer Tax cannot be more than 10%");
emit UpdateFee( uint8(totalFee.mul(buyMultiplier).div(100)),
uint8(totalFee.mul(sellMultiplier).div(100)),
uint8(totalFee.mul(transferMultiplier).div(100))
);
}
function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external authorized {
sellMultiplier = _sell;
buyMultiplier = _buy;
transferMultiplier = _trans;
update_fees();
}
function setFees_base1000(uint256 _liquidityFee, uint256 _marketingFee, uint256 _operationsFee, uint256 _acquisitionsFee, uint256 _transactionFee) external onlyOwner {
liquidityFee = _liquidityFee;
marketingFee = _marketingFee;
operationsFee = _operationsFee;
acquisitionsFee = _acquisitionsFee;
transactionFee = _transactionFee;
totalFee = _liquidityFee + _marketingFee + _operationsFee + tapFee + _transactionFee + _acquisitionsFee;
update_fees();
}
function setFeeReceivers(address _marketingFeeReceiver, address _operationsFeeReceiver, address _acquisitionsFeeReceiver, address _transactionFeeReceiver) external onlyOwner {
require(_marketingFeeReceiver != address(0),"Marketing fee address cannot be zero address");
require(_operationsFeeReceiver != address(0),"Operations fee address cannot be zero address");
require(_acquisitionsFeeReceiver != address(0),"Operations fee address cannot be zero address");
require(_transactionFeeReceiver != address(0),"Transaction fee address cannot be zero address");
marketingFeeReceiver = _marketingFeeReceiver;
operationsFeeReceiver = _operationsFeeReceiver;
acquisitionsFeeReceiver = _acquisitionsFeeReceiver;
transactionFeeReceiver = _transactionFeeReceiver;
emit Set_Wallets(marketingFeeReceiver, operationsFeeReceiver, acquisitionsFeeReceiver, transactionFeeReceiver);
}
function setFeeReceivers_tap(address _newTapWallet) external {
require(msg.sender == tapFeeReceiver,"Can only be changed by dev");
tapFeeReceiver = _newTapWallet;
emit Set_Wallets_Tap(tapFeeReceiver);
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
require(_amount < (totalSupply/10), "Amount too high");
swapEnabled = _enabled;
swapThreshold = _amount;
emit config_SwapSettings(swapThreshold, swapEnabled);
}
function getCirculatingSupply() public view returns (uint256) {
return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
}
event AutoLiquify(uint256 amountETH, uint256 amountTokens);
event UpdateFee(uint8 Buy, uint8 Sell, uint8 Transfer);
event Wallet_feeExempt(address Wallet, bool Status);
event Wallet_txExempt(address Wallet, bool Status);
event Wallet_holdingExempt(address Wallet, bool Status);
event Blacklist(address indexed blackListed, bool value);
event BalanceClear(uint256 amount);
event clearToken(address TokenAddressCleared, uint256 Amount);
event Set_Wallets(address MarketingWallet, address OperationsWallet, address AcquisitionsWallet, address TransactionWallet);
event Set_Wallets_Tap(address TapWallet);
event config_MaxWallet(uint256 maxWallet);
event config_MaxTransaction(uint256 maxWallet);
event config_SwapSettings(uint256 Amount, bool Enabled);
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Authorize_Wallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"BalanceClear","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"blackListed","type":"address"},{"indexed":false,"internalType":"bool","name":"value","type":"bool"}],"name":"Blacklist","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"potentialOwner","type":"address"}],"name":"OwnershipNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"MarketingWallet","type":"address"},{"indexed":false,"internalType":"address","name":"OperationsWallet","type":"address"},{"indexed":false,"internalType":"address","name":"AcquisitionsWallet","type":"address"},{"indexed":false,"internalType":"address","name":"TransactionWallet","type":"address"}],"name":"Set_Wallets","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TapWallet","type":"address"}],"name":"Set_Wallets_Tap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"UpdateFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Wallet_feeExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Wallet_holdingExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Status","type":"bool"}],"name":"Wallet_txExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"clearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"config_MaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"config_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"config_SwapSettings","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acquisitionsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acquisitionsFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"listAddresses","type":"address[]"},{"internalType":"bool","name":"isBlackListed","type":"bool"}],"name":"blackListAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_TxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"operationsFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_operationsFeeReceiver","type":"address"},{"internalType":"address","name":"_acquisitionsFeeReceiver","type":"address"},{"internalType":"address","name":"_transactionFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newTapWallet","type":"address"}],"name":"setFeeReceivers_tap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_operationsFee","type":"uint256"},{"internalType":"uint256","name":"_acquisitionsFee","type":"uint256"},{"internalType":"uint256","name":"_transactionFee","type":"uint256"}],"name":"setFees_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTXPercentage_base1000","type":"uint256"}],"name":"setMaxTxPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_pairAddress","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tapFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tapFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenBlacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transactionFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405260c8620000146012600a620005e1565b62000024906303197500620005f6565b62000030919062000618565b6004556064620000436012600a620005e1565b62000053906303197500620005f6565b6200005f919062000618565b6005556000600c819055600d819055600e819055600f8190556010819055600a601181905581806200009281806200063b565b6200009e91906200063b565b620000aa91906200063b565b620000b691906200063b565b620000c291906200063b565b6012908155606460138190556014556000601555601c805460ff60a01b1916600160a01b179055603290620000f990600a620005e1565b62000109906303197500620005f6565b62000115919062000618565b601d553480156200012557600080fd5b5060008054336001600160a01b031991821681178355825260026020908152604092839020805460ff19166001179055601b8054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa158015620001ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d1919062000656565b600380546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000656565b6003546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620002a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ce919062000656565b601c80546001600160a01b039283166001600160a01b031991821617909155306000818152600760209081526040808320601b548716845282528083206000199055601680548616732d1d62272c30dc5a458d87542ad64c3a013c1f6c908117909155601880548716821790556017805487168217905560198054871682179055601a80549096161785553380845260098352818420805460ff199081166001908117909255600a80865284872080548316841790557f20677881080440a9b3c87e826370bb5d9c2f74efd4dede686d52d77a6a09f8bb80548316841790557f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3805483168417905588548a1687528487208054831684179055928652600b909452828520805485168217905594845281842080548416861790557f44433eeeda1d04bdae79f62169cdb2ab0a6af287fa15706d3fafdbac5fac34158054841686179055945490951682529390208054909316179091556200045290601290620005e1565b62000462906303197500620005f6565b33600081815260066020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620004a56012600a620005e1565b620004b5906303197500620005f6565b60405190815260200160405180910390a362000681565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000523578160001904821115620005075762000507620004cc565b808516156200051557918102915b93841c9390800290620004e7565b509250929050565b6000826200053c57506001620005db565b816200054b57506000620005db565b81600181146200056457600281146200056f576200058f565b6001915050620005db565b60ff841115620005835762000583620004cc565b50506001821b620005db565b5060208310610133831016604e8410600b8410161715620005b4575081810a620005db565b620005c08383620004e2565b8060001904821115620005d757620005d7620004cc565b0290505b92915050565b6000620005ef83836200052b565b9392505050565b6000816000190483118215151615620006135762000613620004cc565b500290565b6000826200063657634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115620006515762000651620004cc565b500190565b6000602082840312156200066957600080fd5b81516001600160a01b0381168114620005ef57600080fd5b6131dc80620006916000396000f3fe6080604052600436106103525760003560e01c806378109e54116101c6578063b6a5d7de116100f7578063e96fada211610095578063f2fde38b1161006f578063f2fde38b146109f1578063f887ea4014610a11578063f9fdac1114610a31578063fe9fbb8014610a5157600080fd5b8063e96fada21461099b578063ecd21f70146109bb578063f0b37c04146109d157600080fd5b8063bd9ab537116100d1578063bd9ab537146108e5578063c867d60b14610905578063dd62ed3e14610935578063df20fd491461097b57600080fd5b8063b6a5d7de14610885578063b7d8f40a146108a5578063b8ea11b0146108c557600080fd5b806398118cb4116101645780639ed3edf01161013e5780639ed3edf0146107ff5780639fa4510214610815578063a8aa1b3114610845578063a9059cbb1461086557600080fd5b806398118cb4146107b35780639869ba8a146107c957806398f23ea2146107e957600080fd5b80638187f516116101a05780638187f51614610745578063893d20e8146107655780638b42507f1461078357806395d89b411461040157600080fd5b806378109e541461070457806379ba50971461071a5780637d1db4a51461072f57600080fd5b80632b112e49116102a0578063571ac8b01161023e5780636ddd1713116102185780636ddd17131461067657806370a08231146106975780637394a154146106c457806377b54bad146106e457600080fd5b8063571ac8b0146106205780636b67c4df146106405780636ce46bc31461065657600080fd5b80633c8e556d1161027a5780633c8e556d146105905780633f4218e0146105b05780634be9d869146105e05780635640650f1461060057600080fd5b80632b112e49146105255780632f54bf6e1461053a578063313ce5671461056957600080fd5b806309302dc61161030d57806318160ddd116102e757806318160ddd146104ba5780631da1db5e146104cf5780631df4ccfc146104ef57806323b872dd1461050557600080fd5b806309302dc614610454578063095ea7b314610474578063180b0d7e146104a457600080fd5b80621086831461035e578062bff4461461038057806303382cbb146103a05780630445b667146103dd57806306fdde0314610401578063090896be1461043e57600080fd5b3661035957005b600080fd5b34801561036a57600080fd5b5061037e610379366004612b90565b610a71565b005b34801561038c57600080fd5b5061037e61039b366004612b90565b610b73565b3480156103ac57600080fd5b506017546103c0906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103e957600080fd5b506103f3601d5481565b6040519081526020016103d4565b34801561040d57600080fd5b50610431604051806040016040528060048152602001630444341560e41b81525081565b6040516103d49190612c16565b34801561044a57600080fd5b506103f3600e5481565b34801561046057600080fd5b5061037e61046f366004612c6b565b610c66565b34801561048057600080fd5b5061049461048f366004612c99565b610d5b565b60405190151581526020016103d4565b3480156104b057600080fd5b506103f36103e881565b3480156104c657600080fd5b506103f3610ddd565b3480156104db57600080fd5b5061037e6104ea366004612c6b565b610dfa565b3480156104fb57600080fd5b506103f360125481565b34801561051157600080fd5b50610494610520366004612cc5565b610ee1565b34801561053157600080fd5b506103f3610fc0565b34801561054657600080fd5b50610494610555366004612d06565b6000546001600160a01b0391821691161490565b34801561057557600080fd5b5061057e601281565b60405160ff90911681526020016103d4565b34801561059c57600080fd5b5061037e6105ab366004612d23565b611047565b3480156105bc57600080fd5b506104946105cb366004612d06565b60096020526000908152604090205460ff1681565b3480156105ec57600080fd5b5061037e6105fb366004612b90565b611230565b34801561060c57600080fd5b5061049461061b366004612b90565b611323565b34801561062c57600080fd5b5061049461063b366004612d06565b61145b565b34801561064c57600080fd5b506103f3600d5481565b34801561066257600080fd5b5061037e610671366004612d7f565b611469565b34801561068257600080fd5b50601c5461049490600160a01b900460ff1681565b3480156106a357600080fd5b506103f36106b2366004612d06565b60066020526000908152604090205481565b3480156106d057600080fd5b506018546103c0906001600160a01b031681565b3480156106f057600080fd5b506104946106ff366004612c99565b6114aa565b34801561071057600080fd5b506103f360055481565b34801561072657600080fd5b5061037e611651565b34801561073b57600080fd5b506103f360045481565b34801561075157600080fd5b5061037e610760366004612d06565b6117d7565b34801561077157600080fd5b506000546001600160a01b03166103c0565b34801561078f57600080fd5b5061049461079e366004612d06565b600a6020526000908152604090205460ff1681565b3480156107bf57600080fd5b506103f3600c5481565b3480156107d557600080fd5b506019546103c0906001600160a01b031681565b3480156107f557600080fd5b506103f360105481565b34801561080b57600080fd5b506103f360115481565b34801561082157600080fd5b50610494610830366004612d06565b60086020526000908152604090205460ff1681565b34801561085157600080fd5b50601c546103c0906001600160a01b031681565b34801561087157600080fd5b50610494610880366004612c99565b611823565b34801561089157600080fd5b5061037e6108a0366004612d06565b61184b565b3480156108b157600080fd5b5061037e6108c0366004612d06565b6118bb565b3480156108d157600080fd5b50601a546103c0906001600160a01b031681565b3480156108f157600080fd5b5061037e610900366004612c6b565b611963565b34801561091157600080fd5b50610494610920366004612d06565b600b6020526000908152604090205460ff1681565b34801561094157600080fd5b506103f3610950366004612dab565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561098757600080fd5b5061037e610996366004612de4565b6119f4565b3480156109a757600080fd5b506016546103c0906001600160a01b031681565b3480156109c757600080fd5b506103f3600f5481565b3480156109dd57600080fd5b5061037e6109ec366004612d06565b611aec565b3480156109fd57600080fd5b5061037e610a0c366004612d06565b611bb2565b348015610a1d57600080fd5b50601b546103c0906001600160a01b031681565b348015610a3d57600080fd5b5061037e610a4c366004612e02565b611cd2565b348015610a5d57600080fd5b50610494610a6c366004612d06565b611d61565b610a7a33611d61565b610a9f5760405162461bcd60e51b8152600401610a9690612e3d565b60405180910390fd5b60005b82811015610b6d5781600b6000868685818110610ac157610ac1612e62565b9050602002016020810190610ad69190612d06565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f566c2270277919680152b0734389ae919d95ff7e9024c03fc3c7c209ec8412c7848483818110610b3157610b31612e62565b9050602002016020810190610b469190612d06565b83604051610b55929190612e78565b60405180910390a1610b6681612ea9565b9050610aa2565b50505050565b610b7c33611d61565b610b985760405162461bcd60e51b8152600401610a9690612e3d565b60005b82811015610b6d578160096000868685818110610bba57610bba612e62565b9050602002016020810190610bcf9190612d06565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f9fbd25f95d342f2efc070b56d2fadd2341d264ef8c915dc268609b2ca1bb25de848483818110610c2a57610c2a612e62565b9050602002016020810190610c3f9190612d06565b83604051610c4e929190612e78565b60405180910390a1610c5f81612ea9565b9050610b9b565b6000546001600160a01b03163314610c905760405162461bcd60e51b8152600401610a9690612ec4565b6001811015610ced5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b6064820152608401610a96565b6103e881610cfd6012600a612fc8565b610d0b906303197500612fd4565b610d159190612fd4565b610d1f9190612ff3565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360009081526008602052604081205460ff1615610d7857600080fd5b3360008181526007602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b610de96012600a612fc8565b610df7906303197500612fd4565b81565b6000546001600160a01b03163314610e245760405162461bcd60e51b8152600401610a9690612ec4565b60658110610e5f5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610a96565b4760006064610e6e8484612fd4565b610e789190612ff3565b604051909150339082156108fc029083906000818181858888f19350505050158015610ea8573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda9060200160405180910390a1505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610f8e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610f69918490611d7f565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b3360009081526008602052604090205460ff1615610fab57600080fd5b610fb6848484611db9565b90505b9392505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22549091906110206012600a612fc8565b61102e906303197500612fd4565b6110389190613015565b6110429190613015565b905090565b6000546001600160a01b031633146110715760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b0384166110dc5760405162461bcd60e51b815260206004820152602c60248201527f4d61726b6574696e672066656520616464726573732063616e6e6f742062652060448201526b7a65726f206164647265737360a01b6064820152608401610a96565b6001600160a01b0383166111025760405162461bcd60e51b8152600401610a969061302c565b6001600160a01b0382166111285760405162461bcd60e51b8152600401610a969061302c565b6001600160a01b0381166111955760405162461bcd60e51b815260206004820152602e60248201527f5472616e73616374696f6e2066656520616464726573732063616e6e6f74206260448201526d65207a65726f206164647265737360901b6064820152608401610a96565b601680546001600160a01b038681166001600160a01b03199283168117909355601780548783169084168117909155601880548784169085168117909155601a805493871693909416831790935560408051948552602085019190915283019190915260608201527fe9f08cb45ce1bc7184d56d5373ab081a9285f895e077476836bf9c41511b30379060800160405180910390a150505050565b61123933611d61565b6112555760405162461bcd60e51b8152600401610a9690612e3d565b60005b82811015610b6d5781600a600086868581811061127757611277612e62565b905060200201602081019061128c9190612d06565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c4f06d74861dea6c152189f2ac8853b6f789feb0e1182101b7ad9d1858f70e38484838181106112e7576112e7612e62565b90506020020160208101906112fc9190612d06565b8360405161130b929190612e78565b60405180910390a161131c81612ea9565b9050611258565b600080546001600160a01b0316331461134e5760405162461bcd60e51b8152600401610a9690612ec4565b60005b838110156114505760006113bf86868481811061137057611370612e62565b90506020020160208101906113859190612d06565b6001600160a01b03166000908152600760209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205490565b9050801561140b5761140b8686848181106113dc576113dc612e62565b90506020020160208101906113f19190612d06565b737a250d5630b4cf539739df2c5dacb4c659f2488d611ff6565b61143b86868481811061142057611420612e62565b90506020020160208101906114359190612d06565b8561204c565b5050808061144890612ea9565b915050611351565b506001949350505050565b6000610dd782600019610d5b565b61147233611d61565b61148e5760405162461bcd60e51b8152600401610a9690612e3d565b6013829055601483905560158190556114a56120dc565b505050565b600080546001600160a01b031633146114d55760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b03831630141561152e5760405162461bcd60e51b815260206004820152601f60248201527f746f6b656e416464726573732063616e6e6f74206265207468652044434150006044820152606401610a96565b8161159e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159b9190613079565b91505b604080516001600160a01b0385168152602081018490527f960427a4fde284dcc8da2c51a43d210cfd7ed6f4328a24ba33eee49910db564b910160405180910390a160405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af115801561162d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb99190613092565b6001546001600160a01b031633146116e25760405162461bcd60e51b815260206004820152604860248201527f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960448201527f616c206f776e6572206265666f726520796f752063616e2061636365707420746064820152673432903937b6329760c11b608482015260a401610a96565b600080546001600160a01b03908116825260026020526040808320805460ff1990811690915560018054841685528285208054909216179055825490516000805160206131878339815191529361173e93929092169190612e78565b60405180910390a16001805460405160008051602061318783398151915292611770926001600160a01b031691612e78565b60405180910390a160018054600080546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163906020015b60405180910390a1565b6000546001600160a01b031633146118015760405162461bcd60e51b8152600401610a9690612ec4565b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526008602052604081205460ff161561184057600080fd5b610fb9338484611db9565b6000546001600160a01b031633146118755760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b03811660009081526002602052604090819020805460ff19166001908117909155905160008051602061318783398151915291610d5091849190612e78565b6019546001600160a01b031633146119155760405162461bcd60e51b815260206004820152601a60248201527f43616e206f6e6c79206265206368616e676564206279206465760000000000006044820152606401610a96565b601980546001600160a01b0319166001600160a01b0383169081179091556040519081527f2bb7e51e6db2b0cced36f9dbc62f3a6ad81d8056ec38f5110dd4c5462745ac8490602001610d50565b6000546001600160a01b0316331461198d5760405162461bcd60e51b8152600401610a9690612ec4565b6103e88161199d6012600a612fc8565b6119ab906303197500612fd4565b6119b59190612fd4565b6119bf9190612ff3565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610d50565b6000546001600160a01b03163314611a1e5760405162461bcd60e51b8152600401610a9690612ec4565b600a611a2b601282612fc8565b611a39906303197500612fd4565b611a439190612ff3565b8110611a835760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610a96565b601c805460ff60a01b1916600160a01b84151581029190911791829055601d8390556040805184815260ff9290930491909116151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d0910160405180910390a15050565b6000546001600160a01b03163314611b165760405162461bcd60e51b8152600401610a9690612ec4565b6000546001600160a01b0382811691161415611b745760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610a96565b6001600160a01b038116600090815260026020526040808220805460ff191690555160008051602061318783398151915291610d5091849190612e78565b6000546001600160a01b03163314611bdc5760405162461bcd60e51b8152600401610a9690612ec4565b6000546001600160a01b0382811691161415611c2e5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903a34329037bbb732b960791b6044820152606401610a96565b6001600160a01b038116611c845760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610a96565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610d50565b6000546001600160a01b03163314611cfc5760405162461bcd60e51b8152600401610a9690612ec4565b600c859055600d849055600e839055600f82905560118190556010548290829085611d27888a6130af565b611d3191906130af565b611d3b91906130af565b611d4591906130af565b611d4f91906130af565b601255611d5a6120dc565b5050505050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008184841115611da35760405162461bcd60e51b8152600401610a969190612c16565b506000611db08486613015565b95945050505050565b6001600160a01b03831660009081526008602052604081205460ff16158015611dfb57506001600160a01b03831660009081526008602052604090205460ff16155b611e0457600080fd5b601e5460ff1615611e2157611e1a8484846122cb565b9050610fb9565b60045482111580611e4a57506001600160a01b0384166000908152600a602052604090205460ff165b80611e6d57506001600160a01b0383166000908152600a602052604090205460ff165b611eb15760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610a96565b611eb96123c5565b15611ec657611ec661241b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054611f18918490611d7f565b6001600160a01b038516600090815260066020908152604080832093909355600990529081205460ff1680611f6557506001600160a01b03841660009081526009602052604090205460ff165b611f7957611f748584866127e5565b611f7b565b825b6001600160a01b038516600090815260066020526040902054909150611fa190826129ef565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061316783398151915290611fe39085815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146120205760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b0391821660009081526007602090815260408083209390941682529190915290812055565b6001600160a01b03821660009081526008602052604081205460ff161515821515141561207857600080fd5b6001600160a01b038316600081815260086020908152604091829020805460ff191686151590811790915591519182527ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d910160405180910390a250600192915050565b609661210060646120fa601454601254612a4e90919063ffffffff16565b90612acd565b111561214e5760405162461bcd60e51b815260206004820152601f60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e20313525006044820152606401610a96565b60f061216c60646120fa601354601254612a4e90919063ffffffff16565b11156121ba5760405162461bcd60e51b815260206004820181905260248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e203234256044820152606401610a96565b60006121d860646120fa601554601254612a4e90919063ffffffff16565b11156122325760405162461bcd60e51b8152602060048201526024808201527f5472616e73666572205461782063616e6e6f74206265206d6f7265207468616e6044820152632031302560e01b6064820152608401610a96565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada61226f60646120fa601454601254612a4e90919063ffffffff16565b61228b60646120fa601354601254612a4e90919063ffffffff16565b6122a760646120fa601554601254612a4e90919063ffffffff16565b6040805160ff948516815292841660208401529216918101919091526060016117cd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461231c918490611d7f565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461234b90836129ef565b6001600160a01b03841660009081526006602090815260408083209390935533825260089052205460ff161561238057600080fd5b826001600160a01b0316846001600160a01b0316600080516020613167833981519152846040516123b391815260200190565b60405180910390a35060019392505050565b601c546000906001600160a01b031633148015906123e65750601e5460ff16155b80156123fb5750601c54600160a01b900460ff165b8015611042575050601d5430600090815260066020526040902054101590565b601e805460ff1916600117905560115460125460009161243a91613015565b90506000612449826002612fd4565b600c54601d546124599190612fd4565b6124639190612ff3565b9050600081601d546124759190613015565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106124af576124af612e62565b6001600160a01b0392831660209182029290920101526003548251911690829060019081106124e0576124e0612e62565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b815291169063791ac947906125269085906000908690309042906004016130c7565b600060405180830381600087803b15801561254057600080fd5b505af1158015612554573d6000803e3d6000fd5b5050600c544792506125699150600290612ff3565b6125739086613015565b94506000612582866002612fd4565b600c5461258f9084612fd4565b6125999190612ff3565b9050600086600d54846125ac9190612fd4565b6125b69190612ff3565b9050600087600e54856125c99190612fd4565b6125d39190612ff3565b9050600088600f54866125e69190612fd4565b6125f09190612ff3565b9050600089601054876126039190612fd4565b61260d9190612ff3565b6016546040519192506001600160a01b03169085156108fc029086906000818181858888f19350505050158015612648573d6000803e3d6000fd5b506017546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015612683573d6000803e3d6000fd5b506018546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156126be573d6000803e3d6000fd5b506019546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156126f9573d6000803e3d6000fd5b5088156127cf57601b5460405163f305d71960e01b81523060048201819052602482018c9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990879060c40160606040518083038185885af115801561276d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127929190613138565b505060408051878152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff191690555050505050505050565b60008215806127f45750601254155b15612800575081610fb9565b601554601c54600090819081906001600160a01b03878116911614156128845760135493506128546128356103e86064612fd4565b6120fa8661284e6012548c612a4e90919063ffffffff16565b90612a4e565b92506128716012546120fa60115486612a4e90919063ffffffff16565b915061287d8383612b0f565b90506128db565b601c546001600160a01b03898116911614156128db5760145493506128af6128356103e86064612fd4565b92506128cc6012546120fa60115486612a4e90919063ffffffff16565b91506128d88383612b0f565b90505b801561294357306000908152600660205260409020546128fb90826129ef565b30600081815260066020526040908190209290925590516001600160a01b038a16906000805160206131678339815191529061293a9085815260200190565b60405180910390a35b81156129bc57601a546001600160a01b031660009081526006602052604090205461296e90836129ef565b601a80546001600160a01b03908116600090815260066020908152604091829020949094559154915185815291811692908b1691600080516020613167833981519152910160405180910390a35b3360009081526008602052604090205460ff16156129d957600080fd5b6129e38784612b0f565b98975050505050505050565b6000806129fc83856130af565b905083811015610fb95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a96565b600082612a5d57506000610dd7565b6000612a698385612fd4565b905082612a768583612ff3565b14610fb95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a96565b6000610fb983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b51565b6000610fb983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d7f565b60008183612b725760405162461bcd60e51b8152600401610a969190612c16565b506000611db08486612ff3565b8015158114612b8d57600080fd5b50565b600080600060408486031215612ba557600080fd5b833567ffffffffffffffff80821115612bbd57600080fd5b818601915086601f830112612bd157600080fd5b813581811115612be057600080fd5b8760208260051b8501011115612bf557600080fd5b60209283019550935050840135612c0b81612b7f565b809150509250925092565b600060208083528351808285015260005b81811015612c4357858101830151858201604001528201612c27565b81811115612c55576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215612c7d57600080fd5b5035919050565b6001600160a01b0381168114612b8d57600080fd5b60008060408385031215612cac57600080fd5b8235612cb781612c84565b946020939093013593505050565b600080600060608486031215612cda57600080fd5b8335612ce581612c84565b92506020840135612cf581612c84565b929592945050506040919091013590565b600060208284031215612d1857600080fd5b8135610fb981612c84565b60008060008060808587031215612d3957600080fd5b8435612d4481612c84565b93506020850135612d5481612c84565b92506040850135612d6481612c84565b91506060850135612d7481612c84565b939692955090935050565b600080600060608486031215612d9457600080fd5b505081359360208301359350604090920135919050565b60008060408385031215612dbe57600080fd5b8235612dc981612c84565b91506020830135612dd981612c84565b809150509250929050565b60008060408385031215612df757600080fd5b8235612cb781612b7f565b600080600080600060a08688031215612e1a57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921682521515602082015260400190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612ebd57612ebd612e93565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b80851115612f1f578160001904821115612f0557612f05612e93565b80851615612f1257918102915b93841c9390800290612ee9565b509250929050565b600082612f3657506001610dd7565b81612f4357506000610dd7565b8160018114612f595760028114612f6357612f7f565b6001915050610dd7565b60ff841115612f7457612f74612e93565b50506001821b610dd7565b5060208310610133831016604e8410600b8410161715612fa2575081810a610dd7565b612fac8383612ee4565b8060001904821115612fc057612fc0612e93565b029392505050565b6000610fb98383612f27565b6000816000190483118215151615612fee57612fee612e93565b500290565b60008261301057634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561302757613027612e93565b500390565b6020808252602d908201527f4f7065726174696f6e732066656520616464726573732063616e6e6f7420626560408201526c207a65726f206164647265737360981b606082015260800190565b60006020828403121561308b57600080fd5b5051919050565b6000602082840312156130a457600080fd5b8151610fb981612b7f565b600082198211156130c2576130c2612e93565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156131175784516001600160a01b0316835293830193918301916001016130f2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561314d57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505a26469706673582212201c851dd90c50438dc4f8a03fc08e22c518d00a11a4d26a8ce4457b543bc324a464736f6c634300080c0033
Deployed Bytecode
0x6080604052600436106103525760003560e01c806378109e54116101c6578063b6a5d7de116100f7578063e96fada211610095578063f2fde38b1161006f578063f2fde38b146109f1578063f887ea4014610a11578063f9fdac1114610a31578063fe9fbb8014610a5157600080fd5b8063e96fada21461099b578063ecd21f70146109bb578063f0b37c04146109d157600080fd5b8063bd9ab537116100d1578063bd9ab537146108e5578063c867d60b14610905578063dd62ed3e14610935578063df20fd491461097b57600080fd5b8063b6a5d7de14610885578063b7d8f40a146108a5578063b8ea11b0146108c557600080fd5b806398118cb4116101645780639ed3edf01161013e5780639ed3edf0146107ff5780639fa4510214610815578063a8aa1b3114610845578063a9059cbb1461086557600080fd5b806398118cb4146107b35780639869ba8a146107c957806398f23ea2146107e957600080fd5b80638187f516116101a05780638187f51614610745578063893d20e8146107655780638b42507f1461078357806395d89b411461040157600080fd5b806378109e541461070457806379ba50971461071a5780637d1db4a51461072f57600080fd5b80632b112e49116102a0578063571ac8b01161023e5780636ddd1713116102185780636ddd17131461067657806370a08231146106975780637394a154146106c457806377b54bad146106e457600080fd5b8063571ac8b0146106205780636b67c4df146106405780636ce46bc31461065657600080fd5b80633c8e556d1161027a5780633c8e556d146105905780633f4218e0146105b05780634be9d869146105e05780635640650f1461060057600080fd5b80632b112e49146105255780632f54bf6e1461053a578063313ce5671461056957600080fd5b806309302dc61161030d57806318160ddd116102e757806318160ddd146104ba5780631da1db5e146104cf5780631df4ccfc146104ef57806323b872dd1461050557600080fd5b806309302dc614610454578063095ea7b314610474578063180b0d7e146104a457600080fd5b80621086831461035e578062bff4461461038057806303382cbb146103a05780630445b667146103dd57806306fdde0314610401578063090896be1461043e57600080fd5b3661035957005b600080fd5b34801561036a57600080fd5b5061037e610379366004612b90565b610a71565b005b34801561038c57600080fd5b5061037e61039b366004612b90565b610b73565b3480156103ac57600080fd5b506017546103c0906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103e957600080fd5b506103f3601d5481565b6040519081526020016103d4565b34801561040d57600080fd5b50610431604051806040016040528060048152602001630444341560e41b81525081565b6040516103d49190612c16565b34801561044a57600080fd5b506103f3600e5481565b34801561046057600080fd5b5061037e61046f366004612c6b565b610c66565b34801561048057600080fd5b5061049461048f366004612c99565b610d5b565b60405190151581526020016103d4565b3480156104b057600080fd5b506103f36103e881565b3480156104c657600080fd5b506103f3610ddd565b3480156104db57600080fd5b5061037e6104ea366004612c6b565b610dfa565b3480156104fb57600080fd5b506103f360125481565b34801561051157600080fd5b50610494610520366004612cc5565b610ee1565b34801561053157600080fd5b506103f3610fc0565b34801561054657600080fd5b50610494610555366004612d06565b6000546001600160a01b0391821691161490565b34801561057557600080fd5b5061057e601281565b60405160ff90911681526020016103d4565b34801561059c57600080fd5b5061037e6105ab366004612d23565b611047565b3480156105bc57600080fd5b506104946105cb366004612d06565b60096020526000908152604090205460ff1681565b3480156105ec57600080fd5b5061037e6105fb366004612b90565b611230565b34801561060c57600080fd5b5061049461061b366004612b90565b611323565b34801561062c57600080fd5b5061049461063b366004612d06565b61145b565b34801561064c57600080fd5b506103f3600d5481565b34801561066257600080fd5b5061037e610671366004612d7f565b611469565b34801561068257600080fd5b50601c5461049490600160a01b900460ff1681565b3480156106a357600080fd5b506103f36106b2366004612d06565b60066020526000908152604090205481565b3480156106d057600080fd5b506018546103c0906001600160a01b031681565b3480156106f057600080fd5b506104946106ff366004612c99565b6114aa565b34801561071057600080fd5b506103f360055481565b34801561072657600080fd5b5061037e611651565b34801561073b57600080fd5b506103f360045481565b34801561075157600080fd5b5061037e610760366004612d06565b6117d7565b34801561077157600080fd5b506000546001600160a01b03166103c0565b34801561078f57600080fd5b5061049461079e366004612d06565b600a6020526000908152604090205460ff1681565b3480156107bf57600080fd5b506103f3600c5481565b3480156107d557600080fd5b506019546103c0906001600160a01b031681565b3480156107f557600080fd5b506103f360105481565b34801561080b57600080fd5b506103f360115481565b34801561082157600080fd5b50610494610830366004612d06565b60086020526000908152604090205460ff1681565b34801561085157600080fd5b50601c546103c0906001600160a01b031681565b34801561087157600080fd5b50610494610880366004612c99565b611823565b34801561089157600080fd5b5061037e6108a0366004612d06565b61184b565b3480156108b157600080fd5b5061037e6108c0366004612d06565b6118bb565b3480156108d157600080fd5b50601a546103c0906001600160a01b031681565b3480156108f157600080fd5b5061037e610900366004612c6b565b611963565b34801561091157600080fd5b50610494610920366004612d06565b600b6020526000908152604090205460ff1681565b34801561094157600080fd5b506103f3610950366004612dab565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561098757600080fd5b5061037e610996366004612de4565b6119f4565b3480156109a757600080fd5b506016546103c0906001600160a01b031681565b3480156109c757600080fd5b506103f3600f5481565b3480156109dd57600080fd5b5061037e6109ec366004612d06565b611aec565b3480156109fd57600080fd5b5061037e610a0c366004612d06565b611bb2565b348015610a1d57600080fd5b50601b546103c0906001600160a01b031681565b348015610a3d57600080fd5b5061037e610a4c366004612e02565b611cd2565b348015610a5d57600080fd5b50610494610a6c366004612d06565b611d61565b610a7a33611d61565b610a9f5760405162461bcd60e51b8152600401610a9690612e3d565b60405180910390fd5b60005b82811015610b6d5781600b6000868685818110610ac157610ac1612e62565b9050602002016020810190610ad69190612d06565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f566c2270277919680152b0734389ae919d95ff7e9024c03fc3c7c209ec8412c7848483818110610b3157610b31612e62565b9050602002016020810190610b469190612d06565b83604051610b55929190612e78565b60405180910390a1610b6681612ea9565b9050610aa2565b50505050565b610b7c33611d61565b610b985760405162461bcd60e51b8152600401610a9690612e3d565b60005b82811015610b6d578160096000868685818110610bba57610bba612e62565b9050602002016020810190610bcf9190612d06565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f9fbd25f95d342f2efc070b56d2fadd2341d264ef8c915dc268609b2ca1bb25de848483818110610c2a57610c2a612e62565b9050602002016020810190610c3f9190612d06565b83604051610c4e929190612e78565b60405180910390a1610c5f81612ea9565b9050610b9b565b6000546001600160a01b03163314610c905760405162461bcd60e51b8152600401610a9690612ec4565b6001811015610ced5760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015263302e312560e01b6064820152608401610a96565b6103e881610cfd6012600a612fc8565b610d0b906303197500612fd4565b610d159190612fd4565b610d1f9190612ff3565b60058190556040519081527fa69fa556bf940aa0c695b9c8e1b229fdb1476830e2025e44da1028e0c1458d4a906020015b60405180910390a150565b3360009081526008602052604081205460ff1615610d7857600080fd5b3360008181526007602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060015b92915050565b610de96012600a612fc8565b610df7906303197500612fd4565b81565b6000546001600160a01b03163314610e245760405162461bcd60e51b8152600401610a9690612ec4565b60658110610e5f5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b6044820152606401610a96565b4760006064610e6e8484612fd4565b610e789190612ff3565b604051909150339082156108fc029083906000818181858888f19350505050158015610ea8573d6000803e3d6000fd5b506040518181527f377153983e64f72f80af47182763316780b9133be808b7082a16710202b8fbda9060200160405180910390a1505050565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914610f8e576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600782528381203382529091529190912054610f69918490611d7f565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b3360009081526008602052604090205460ff1615610fab57600080fd5b610fb6848484611db9565b90505b9392505050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead60009081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e22549091906110206012600a612fc8565b61102e906303197500612fd4565b6110389190613015565b6110429190613015565b905090565b6000546001600160a01b031633146110715760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b0384166110dc5760405162461bcd60e51b815260206004820152602c60248201527f4d61726b6574696e672066656520616464726573732063616e6e6f742062652060448201526b7a65726f206164647265737360a01b6064820152608401610a96565b6001600160a01b0383166111025760405162461bcd60e51b8152600401610a969061302c565b6001600160a01b0382166111285760405162461bcd60e51b8152600401610a969061302c565b6001600160a01b0381166111955760405162461bcd60e51b815260206004820152602e60248201527f5472616e73616374696f6e2066656520616464726573732063616e6e6f74206260448201526d65207a65726f206164647265737360901b6064820152608401610a96565b601680546001600160a01b038681166001600160a01b03199283168117909355601780548783169084168117909155601880548784169085168117909155601a805493871693909416831790935560408051948552602085019190915283019190915260608201527fe9f08cb45ce1bc7184d56d5373ab081a9285f895e077476836bf9c41511b30379060800160405180910390a150505050565b61123933611d61565b6112555760405162461bcd60e51b8152600401610a9690612e3d565b60005b82811015610b6d5781600a600086868581811061127757611277612e62565b905060200201602081019061128c9190612d06565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f3c4f06d74861dea6c152189f2ac8853b6f789feb0e1182101b7ad9d1858f70e38484838181106112e7576112e7612e62565b90506020020160208101906112fc9190612d06565b8360405161130b929190612e78565b60405180910390a161131c81612ea9565b9050611258565b600080546001600160a01b0316331461134e5760405162461bcd60e51b8152600401610a9690612ec4565b60005b838110156114505760006113bf86868481811061137057611370612e62565b90506020020160208101906113859190612d06565b6001600160a01b03166000908152600760209081526040808320737a250d5630b4cf539739df2c5dacb4c659f2488d845290915290205490565b9050801561140b5761140b8686848181106113dc576113dc612e62565b90506020020160208101906113f19190612d06565b737a250d5630b4cf539739df2c5dacb4c659f2488d611ff6565b61143b86868481811061142057611420612e62565b90506020020160208101906114359190612d06565b8561204c565b5050808061144890612ea9565b915050611351565b506001949350505050565b6000610dd782600019610d5b565b61147233611d61565b61148e5760405162461bcd60e51b8152600401610a9690612e3d565b6013829055601483905560158190556114a56120dc565b505050565b600080546001600160a01b031633146114d55760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b03831630141561152e5760405162461bcd60e51b815260206004820152601f60248201527f746f6b656e416464726573732063616e6e6f74206265207468652044434150006044820152606401610a96565b8161159e576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015611577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159b9190613079565b91505b604080516001600160a01b0385168152602081018490527f960427a4fde284dcc8da2c51a43d210cfd7ed6f4328a24ba33eee49910db564b910160405180910390a160405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af115801561162d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb99190613092565b6001546001600160a01b031633146116e25760405162461bcd60e51b815260206004820152604860248201527f596f75206d757374206265206e6f6d696e6174656420617320706f74656e746960448201527f616c206f776e6572206265666f726520796f752063616e2061636365707420746064820152673432903937b6329760c11b608482015260a401610a96565b600080546001600160a01b03908116825260026020526040808320805460ff1990811690915560018054841685528285208054909216179055825490516000805160206131878339815191529361173e93929092169190612e78565b60405180910390a16001805460405160008051602061318783398151915292611770926001600160a01b031691612e78565b60405180910390a160018054600080546001600160a01b0383166001600160a01b031991821681179092559091169091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163906020015b60405180910390a1565b6000546001600160a01b031633146118015760405162461bcd60e51b8152600401610a9690612ec4565b601c80546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526008602052604081205460ff161561184057600080fd5b610fb9338484611db9565b6000546001600160a01b031633146118755760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b03811660009081526002602052604090819020805460ff19166001908117909155905160008051602061318783398151915291610d5091849190612e78565b6019546001600160a01b031633146119155760405162461bcd60e51b815260206004820152601a60248201527f43616e206f6e6c79206265206368616e676564206279206465760000000000006044820152606401610a96565b601980546001600160a01b0319166001600160a01b0383169081179091556040519081527f2bb7e51e6db2b0cced36f9dbc62f3a6ad81d8056ec38f5110dd4c5462745ac8490602001610d50565b6000546001600160a01b0316331461198d5760405162461bcd60e51b8152600401610a9690612ec4565b6103e88161199d6012600a612fc8565b6119ab906303197500612fd4565b6119b59190612fd4565b6119bf9190612ff3565b60048190556040519081527f365a2bb07537fddd750e9ac8d56970e584f83a144bb5225e77491b83bccd118390602001610d50565b6000546001600160a01b03163314611a1e5760405162461bcd60e51b8152600401610a9690612ec4565b600a611a2b601282612fc8565b611a39906303197500612fd4565b611a439190612ff3565b8110611a835760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40d0d2ced608b1b6044820152606401610a96565b601c805460ff60a01b1916600160a01b84151581029190911791829055601d8390556040805184815260ff9290930491909116151560208301527f34c2d4c263b6f41223c6d30ae2e7bcb18629892587e0a4138f57ba2c523953d0910160405180910390a15050565b6000546001600160a01b03163314611b165760405162461bcd60e51b8152600401610a9690612ec4565b6000546001600160a01b0382811691161415611b745760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a65640000000000006044820152606401610a96565b6001600160a01b038116600090815260026020526040808220805460ff191690555160008051602061318783398151915291610d5091849190612e78565b6000546001600160a01b03163314611bdc5760405162461bcd60e51b8152600401610a9690612ec4565b6000546001600160a01b0382811691161415611c2e5760405162461bcd60e51b815260206004820152601160248201527020b63932b0b23c903a34329037bbb732b960791b6044820152606401610a96565b6001600160a01b038116611c845760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610a96565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fe235b3289f2e990914b334bf6827949c27f6ba58d3e5a1d6f8415037ca1ef22290602001610d50565b6000546001600160a01b03163314611cfc5760405162461bcd60e51b8152600401610a9690612ec4565b600c859055600d849055600e839055600f82905560118190556010548290829085611d27888a6130af565b611d3191906130af565b611d3b91906130af565b611d4591906130af565b611d4f91906130af565b601255611d5a6120dc565b5050505050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008184841115611da35760405162461bcd60e51b8152600401610a969190612c16565b506000611db08486613015565b95945050505050565b6001600160a01b03831660009081526008602052604081205460ff16158015611dfb57506001600160a01b03831660009081526008602052604090205460ff16155b611e0457600080fd5b601e5460ff1615611e2157611e1a8484846122cb565b9050610fb9565b60045482111580611e4a57506001600160a01b0384166000908152600a602052604090205460ff165b80611e6d57506001600160a01b0383166000908152600a602052604090205460ff165b611eb15760405162461bcd60e51b815260206004820152601560248201527413585e08151608131a5b5a5d08115e18d959591959605a1b6044820152606401610a96565b611eb96123c5565b15611ec657611ec661241b565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260069091529190912054611f18918490611d7f565b6001600160a01b038516600090815260066020908152604080832093909355600990529081205460ff1680611f6557506001600160a01b03841660009081526009602052604090205460ff165b611f7957611f748584866127e5565b611f7b565b825b6001600160a01b038516600090815260066020526040902054909150611fa190826129ef565b6001600160a01b03808616600081815260066020526040908190209390935591519087169060008051602061316783398151915290611fe39085815260200190565b60405180910390a3506001949350505050565b6000546001600160a01b031633146120205760405162461bcd60e51b8152600401610a9690612ec4565b6001600160a01b0391821660009081526007602090815260408083209390941682529190915290812055565b6001600160a01b03821660009081526008602052604081205460ff161515821515141561207857600080fd5b6001600160a01b038316600081815260086020908152604091829020805460ff191686151590811790915591519182527ff7e58a63a036e3a7ef7921f83b6ae47930cf5c293dd3bfe7a857c6863409046d910160405180910390a250600192915050565b609661210060646120fa601454601254612a4e90919063ffffffff16565b90612acd565b111561214e5760405162461bcd60e51b815260206004820152601f60248201527f427579207461782063616e6e6f74206265206d6f7265207468616e20313525006044820152606401610a96565b60f061216c60646120fa601354601254612a4e90919063ffffffff16565b11156121ba5760405162461bcd60e51b815260206004820181905260248201527f53656c6c207461782063616e6e6f74206265206d6f7265207468616e203234256044820152606401610a96565b60006121d860646120fa601554601254612a4e90919063ffffffff16565b11156122325760405162461bcd60e51b8152602060048201526024808201527f5472616e73666572205461782063616e6e6f74206265206d6f7265207468616e6044820152632031302560e01b6064820152608401610a96565b7f375884ed7f92283ee74d8884b39a803f4aee832b15766fe016b74fc791fc2ada61226f60646120fa601454601254612a4e90919063ffffffff16565b61228b60646120fa601354601254612a4e90919063ffffffff16565b6122a760646120fa601554601254612a4e90919063ffffffff16565b6040805160ff948516815292841660208401529216918101919091526060016117cd565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260069091529182205461231c918490611d7f565b6001600160a01b03808616600090815260066020526040808220939093559085168152205461234b90836129ef565b6001600160a01b03841660009081526006602090815260408083209390935533825260089052205460ff161561238057600080fd5b826001600160a01b0316846001600160a01b0316600080516020613167833981519152846040516123b391815260200190565b60405180910390a35060019392505050565b601c546000906001600160a01b031633148015906123e65750601e5460ff16155b80156123fb5750601c54600160a01b900460ff165b8015611042575050601d5430600090815260066020526040902054101590565b601e805460ff1916600117905560115460125460009161243a91613015565b90506000612449826002612fd4565b600c54601d546124599190612fd4565b6124639190612ff3565b9050600081601d546124759190613015565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106124af576124af612e62565b6001600160a01b0392831660209182029290920101526003548251911690829060019081106124e0576124e0612e62565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b815291169063791ac947906125269085906000908690309042906004016130c7565b600060405180830381600087803b15801561254057600080fd5b505af1158015612554573d6000803e3d6000fd5b5050600c544792506125699150600290612ff3565b6125739086613015565b94506000612582866002612fd4565b600c5461258f9084612fd4565b6125999190612ff3565b9050600086600d54846125ac9190612fd4565b6125b69190612ff3565b9050600087600e54856125c99190612fd4565b6125d39190612ff3565b9050600088600f54866125e69190612fd4565b6125f09190612ff3565b9050600089601054876126039190612fd4565b61260d9190612ff3565b6016546040519192506001600160a01b03169085156108fc029086906000818181858888f19350505050158015612648573d6000803e3d6000fd5b506017546040516001600160a01b039091169084156108fc029085906000818181858888f19350505050158015612683573d6000803e3d6000fd5b506018546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156126be573d6000803e3d6000fd5b506019546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156126f9573d6000803e3d6000fd5b5088156127cf57601b5460405163f305d71960e01b81523060048201819052602482018c9052600060448301819052606483015260848201524260a48201526001600160a01b039091169063f305d71990879060c40160606040518083038185885af115801561276d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127929190613138565b505060408051878152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601e805460ff191690555050505050505050565b60008215806127f45750601254155b15612800575081610fb9565b601554601c54600090819081906001600160a01b03878116911614156128845760135493506128546128356103e86064612fd4565b6120fa8661284e6012548c612a4e90919063ffffffff16565b90612a4e565b92506128716012546120fa60115486612a4e90919063ffffffff16565b915061287d8383612b0f565b90506128db565b601c546001600160a01b03898116911614156128db5760145493506128af6128356103e86064612fd4565b92506128cc6012546120fa60115486612a4e90919063ffffffff16565b91506128d88383612b0f565b90505b801561294357306000908152600660205260409020546128fb90826129ef565b30600081815260066020526040908190209290925590516001600160a01b038a16906000805160206131678339815191529061293a9085815260200190565b60405180910390a35b81156129bc57601a546001600160a01b031660009081526006602052604090205461296e90836129ef565b601a80546001600160a01b03908116600090815260066020908152604091829020949094559154915185815291811692908b1691600080516020613167833981519152910160405180910390a35b3360009081526008602052604090205460ff16156129d957600080fd5b6129e38784612b0f565b98975050505050505050565b6000806129fc83856130af565b905083811015610fb95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a96565b600082612a5d57506000610dd7565b6000612a698385612fd4565b905082612a768583612ff3565b14610fb95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a96565b6000610fb983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612b51565b6000610fb983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d7f565b60008183612b725760405162461bcd60e51b8152600401610a969190612c16565b506000611db08486612ff3565b8015158114612b8d57600080fd5b50565b600080600060408486031215612ba557600080fd5b833567ffffffffffffffff80821115612bbd57600080fd5b818601915086601f830112612bd157600080fd5b813581811115612be057600080fd5b8760208260051b8501011115612bf557600080fd5b60209283019550935050840135612c0b81612b7f565b809150509250925092565b600060208083528351808285015260005b81811015612c4357858101830151858201604001528201612c27565b81811115612c55576000604083870101525b50601f01601f1916929092016040019392505050565b600060208284031215612c7d57600080fd5b5035919050565b6001600160a01b0381168114612b8d57600080fd5b60008060408385031215612cac57600080fd5b8235612cb781612c84565b946020939093013593505050565b600080600060608486031215612cda57600080fd5b8335612ce581612c84565b92506020840135612cf581612c84565b929592945050506040919091013590565b600060208284031215612d1857600080fd5b8135610fb981612c84565b60008060008060808587031215612d3957600080fd5b8435612d4481612c84565b93506020850135612d5481612c84565b92506040850135612d6481612c84565b91506060850135612d7481612c84565b939692955090935050565b600080600060608486031215612d9457600080fd5b505081359360208301359350604090920135919050565b60008060408385031215612dbe57600080fd5b8235612dc981612c84565b91506020830135612dd981612c84565b809150509250929050565b60008060408385031215612df757600080fd5b8235612cb781612b7f565b600080600080600060a08688031215612e1a57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6020808252600b908201526a085055551213d49256915160aa1b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921682521515602082015260400190565b634e487b7160e01b600052601160045260246000fd5b6000600019821415612ebd57612ebd612e93565b5060010190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b600181815b80851115612f1f578160001904821115612f0557612f05612e93565b80851615612f1257918102915b93841c9390800290612ee9565b509250929050565b600082612f3657506001610dd7565b81612f4357506000610dd7565b8160018114612f595760028114612f6357612f7f565b6001915050610dd7565b60ff841115612f7457612f74612e93565b50506001821b610dd7565b5060208310610133831016604e8410600b8410161715612fa2575081810a610dd7565b612fac8383612ee4565b8060001904821115612fc057612fc0612e93565b029392505050565b6000610fb98383612f27565b6000816000190483118215151615612fee57612fee612e93565b500290565b60008261301057634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561302757613027612e93565b500390565b6020808252602d908201527f4f7065726174696f6e732066656520616464726573732063616e6e6f7420626560408201526c207a65726f206164647265737360981b606082015260800190565b60006020828403121561308b57600080fd5b5051919050565b6000602082840312156130a457600080fd5b8151610fb981612b7f565b600082198211156130c2576130c2612e93565b500190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156131175784516001600160a01b0316835293830193918301916001016130f2565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561314d57600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efb6a1709218b158ea8591fc9269b88652f1c908dc68a79faa865c745a770b9505a26469706673582212201c851dd90c50438dc4f8a03fc08e22c518d00a11a4d26a8ce4457b543bc324a464736f6c634300080c0033
Deployed Bytecode Sourcemap
5926:16275:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18151:291;;;;;;;;;;-1:-1:-1;18151:291:0;;;;;:::i;:::-;;:::i;:::-;;17586:271;;;;;;;;;;-1:-1:-1;17586:271:0;;;;;:::i;:::-;;:::i;7391:36::-;;;;;;;;;;-1:-1:-1;7391:36:0;;;;-1:-1:-1;;;;;7391:36:0;;;;;;-1:-1:-1;;;;;1056:32:1;;;1038:51;;1026:2;1011:18;7391:36:0;;;;;;;;7657:47;;;;;;;;;;;;;;;;;;;1246:25:1;;;1234:2;1219:18;7657:47:0;1100:177:1;6164:36:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6164:36:0;;;;;;;;;;;;:::i;6914:32::-;;;;;;;;;;;;;;;;10447:310;;;;;;;;;;-1:-1:-1;10447:310:0;;;;;:::i;:::-;;:::i;9388:271::-;;;;;;;;;;-1:-1:-1;9388:271:0;;;;;:::i;:::-;;:::i;:::-;;;2690:14:1;;2683:22;2665:41;;2653:2;2638:18;9388:271:0;2525:187:1;7187:45:0;;;;;;;;;;;;7228:4;7187:45;;6296:74;;;;;;;;;;;;;:::i;14090:356::-;;;;;;;;;;-1:-1:-1;14090:356:0;;;;;:::i;:::-;;:::i;7067:113::-;;;;;;;;;;;;;;;;10016:423;;;;;;;;;;-1:-1:-1;10016:423:0;;;;;:::i;:::-;;:::i;21288:137::-;;;;;;;;;;;;;:::i;4064:103::-;;;;;;;;;;-1:-1:-1;4064:103:0;;;;;:::i;:::-;4119:4;4154:5;-1:-1:-1;;;;;4143:16:0;;;4154:5;;4143:16;;4064:103;6252:35;;;;;;;;;;;;6285:2;6252:35;;;;;3602:4:1;3590:17;;;3572:36;;3560:2;3545:18;6252:35:0;3430:184:1;19782:957:0;;;;;;;;;;-1:-1:-1;19782:957:0;;;;;:::i;:::-;;:::i;6671:44::-;;;;;;;;;;-1:-1:-1;6671:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;17865:278;;;;;;;;;;-1:-1:-1;17865:278:0;;;;;:::i;:::-;;:::i;17053:525::-;;;;;;;;;;-1:-1:-1;17053:525:0;;;;;:::i;:::-;;:::i;9667:122::-;;;;;;;;;;-1:-1:-1;9667:122:0;;;;;:::i;:::-;;:::i;6876:31::-;;;;;;;;;;;;;;;;19011:225;;;;;;;;;;-1:-1:-1;19011:225:0;;;;;:::i;:::-;;:::i;7620:30::-;;;;;;;;;;-1:-1:-1;7620:30:0;;;;-1:-1:-1;;;7620:30:0;;;;;;6492:45;;;;;;;;;;-1:-1:-1;6492:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;7434:38;;;;;;;;;;-1:-1:-1;7434:38:0;;;;-1:-1:-1;;;;;7434:38:0;;;14454:420;;;;;;;;;;-1:-1:-1;14454:420:0;;;;;:::i;:::-;;:::i;6433:50::-;;;;;;;;;;;;;;;;4560:502;;;;;;;;;;;;;:::i;6379:47::-;;;;;;;;;;;;;;;;9061:96;;;;;;;;;;-1:-1:-1;9061:96:0;;;;;:::i;:::-;;:::i;9165:78::-;;;;;;;;;;-1:-1:-1;9217:7:0;9235:5;-1:-1:-1;;;;;9235:5:0;9165:78;;6722:48;;;;;;;;;;-1:-1:-1;6722:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6838:31;;;;;;;;;;;;;;;;7479:29;;;;;;;;;;-1:-1:-1;7479:29:0;;;;-1:-1:-1;;;;;7479:29:0;;;6994:25;;;;;;;;;;;;;;;;7026:34;;;;;;;;;;;;;;;;6618:46;;;;;;;;;;-1:-1:-1;6618:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7592:19;;;;;;;;;;-1:-1:-1;7592:19:0;;;;-1:-1:-1;;;;;7592:19:0;;;9797:211;;;;;;;;;;-1:-1:-1;9797:211:0;;;;;:::i;:::-;;:::i;3706:138::-;;;;;;;;;;-1:-1:-1;3706:138:0;;;;;:::i;:::-;;:::i;20747:234::-;;;;;;;;;;-1:-1:-1;20747:234:0;;;;;:::i;:::-;;:::i;7515:37::-;;;;;;;;;;-1:-1:-1;7515:37:0;;;;-1:-1:-1;;;;;7515:37:0;;;10763:300;;;;;;;;;;-1:-1:-1;10763:300:0;;;;;:::i;:::-;;:::i;6777:52::-;;;;;;;;;;-1:-1:-1;6777:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9249:131;;;;;;;;;;-1:-1:-1;9249:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;9349:19:0;;;9331:7;9349:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;9249:131;20989:287;;;;;;;;;;-1:-1:-1;20989:287:0;;;;;:::i;:::-;;:::i;7349:35::-;;;;;;;;;;-1:-1:-1;7349:35:0;;;;-1:-1:-1;;;;;7349:35:0;;;6953:34;;;;;;;;;;;;;;;;3852:204;;;;;;;;;;-1:-1:-1;3852:204:0;;;;;:::i;:::-;;:::i;4290:262::-;;;;;;;;;;-1:-1:-1;4290:262:0;;;;;:::i;:::-;;:::i;7561:24::-;;;;;;;;;;-1:-1:-1;7561:24:0;;;;-1:-1:-1;;;;;7561:24:0;;;19244:530;;;;;;;;;;-1:-1:-1;19244:530:0;;;;;:::i;:::-;;:::i;4175:107::-;;;;;;;;;;-1:-1:-1;4175:107:0;;;;;:::i;:::-;;:::i;18151:291::-;3647:24;3660:10;3647:12;:24::i;:::-;3639:48;;;;-1:-1:-1;;;3639:48:0;;;;;;;:::i;:::-;;;;;;;;;18264:9:::1;18259:176;18277:20:::0;;::::1;18259:176;;;18355:6;18319:19;:33;18339:9;;18349:1;18339:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18319:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18319:33:0;:42;;-1:-1:-1;;18319:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18381::::1;18402:9:::0;;18412:1;18402:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;18416:6;18381:42;;;;;;;:::i;:::-;;;;;;;;18299:3;::::0;::::1;:::i;:::-;;;18259:176;;;;18151:291:::0;;;:::o;17586:271::-;3647:24;3660:10;3647:12;:24::i;:::-;3639:48;;;;-1:-1:-1;;;3639:48:0;;;;;;;:::i;:::-;17691:9:::1;17686:164;17704:20:::0;;::::1;17686:164;;;17774:6;17746:11;:25;17758:9;;17768:1;17758:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;17746:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;17746:25:0;:34;;-1:-1:-1;;17746:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17800:38:::1;17817:9:::0;;17827:1;17817:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17831:6;17800:38;;;;;;;:::i;:::-;;;;;;;;17726:3;::::0;::::1;:::i;:::-;;;17686:164;;10447:310:::0;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;10583:1:::1;10556:23;:28;;10548:76;;;::::0;-1:-1:-1;;;10548:76:0;;7837:2:1;10548:76:0::1;::::0;::::1;7819:21:1::0;7876:2;7856:18;;;7849:30;7915:34;7895:18;;;7888:62;-1:-1:-1;;;7966:18:1;;;7959:34;8010:19;;10548:76:0::1;7635:400:1::0;10548:76:0::1;10696:4;10668:23:::0;6346::::1;6285:2;6346;:23;:::i;:::-;6334:36;::::0;:8:::1;:36;:::i;:::-;10654:37;;;;:::i;:::-;10653:47;;;;:::i;:::-;10635:15;:65:::0;;;10716:33:::1;::::0;1246:25:1;;;10716:33:0::1;::::0;1234:2:1;1219:18;10716:33:0::1;;;;;;;;10447:310:::0;:::o;9388:271::-;9503:10;9463:4;9488:26;;;:14;:26;;;;;;;;:35;9480:44;;;;;;9547:10;9535:23;;;;:11;:23;;;;;;;;-1:-1:-1;;;;;9535:32:0;;;;;;;;;;;;:41;;;9592:37;1246:25:1;;;9535:32:0;;9547:10;9592:37;;1219:18:1;9592:37:0;;;;;;;-1:-1:-1;9647:4:0;9388:271;;;;;:::o;6296:74::-;6346:23;6285:2;6346;:23;:::i;:::-;6334:36;;:8;:36;:::i;:::-;6296:74;:::o;14090:356::-;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;14200:3:::1;14181:16;:22;14173:43;;;::::0;-1:-1:-1;;;14173:43:0;;10011:2:1;14173:43:0::1;::::0;::::1;9993:21:1::0;10050:1;10030:18;;;10023:29;-1:-1:-1;;;10068:18:1;;;10061:38;10116:18;;14173:43:0::1;9809:331:1::0;14173:43:0::1;14247:21;14227:17;14338:3;14305:28;14317:16:::0;14247:21;14305:28:::1;:::i;:::-;14303:38;;;;:::i;:::-;14352:43;::::0;14279:62;;-1:-1:-1;14360:10:0::1;::::0;14352:43;::::1;;;::::0;14279:62;;14352:43:::1;::::0;;;14279:62;14360:10;14352:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14411:27:0::1;::::0;1246:25:1;;;14411:27:0::1;::::0;1234:2:1;1219:18;14411:27:0::1;;;;;;;14162:284;;14090:356:::0;:::o;10016:423::-;-1:-1:-1;;;;;10136:19:0;;10116:4;10136:19;;;:11;:19;;;;;;;;10156:10;10136:31;;;;;;;;-1:-1:-1;;10136:52:0;10133:186;;10238:69;;;;;;;;;;;-1:-1:-1;;;10238:69:0;;;;;;;;-1:-1:-1;;;;;10238:19:0;;-1:-1:-1;10238:19:0;;;:11;:19;;;;;10258:10;10238:31;;;;;;;;;;:69;;10274:6;;10238:35;:69::i;:::-;-1:-1:-1;;;;;10204:19:0;;;;;;:11;:19;;;;;;;;10224:10;10204:31;;;;;;;:103;10133:186;10352:10;10337:26;;;;:14;:26;;;;;;;;:35;10329:44;;;;;;10391:40;10405:6;10413:9;10424:6;10391:13;:40::i;:::-;10384:47;;10016:423;;;;;;:::o;21288:137::-;21401:9;:15;;;;6040:42;21341:7;21383:15;;;;;21341:7;;21401:15;6346:23;6285:2;6346;:23;:::i;:::-;6334:36;;:8;:36;:::i;:::-;21369:29;;;;:::i;:::-;:47;;;;:::i;:::-;21361:56;;21288:137;:::o;19782:957::-;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19975:35:0;::::1;19967:91;;;::::0;-1:-1:-1;;;19967:91:0;;10477:2:1;19967:91:0::1;::::0;::::1;10459:21:1::0;10516:2;10496:18;;;10489:30;10555:34;10535:18;;;10528:62;-1:-1:-1;;;10606:18:1;;;10599:42;10658:19;;19967:91:0::1;10275:408:1::0;19967:91:0::1;-1:-1:-1::0;;;;;20077:36:0;::::1;20069:93;;;;-1:-1:-1::0;;;20069:93:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20181:38:0;::::1;20173:95;;;;-1:-1:-1::0;;;20173:95:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20287:37:0;::::1;20279:95;;;::::0;-1:-1:-1;;;20279:95:0;;11304:2:1;20279:95:0::1;::::0;::::1;11286:21:1::0;11343:2;11323:18;;;11316:30;11382:34;11362:18;;;11355:62;-1:-1:-1;;;11433:18:1;;;11426:44;11487:19;;20279:95:0::1;11102:410:1::0;20279:95:0::1;20387:20;:44:::0;;-1:-1:-1;;;;;20387:44:0;;::::1;-1:-1:-1::0;;;;;;20387:44:0;;::::1;::::0;::::1;::::0;;;20442:21:::1;:46:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;20499:23:::1;:50:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;20560:22:::1;:48:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;20626:105:::1;::::0;;11786:34:1;;;11851:2;11836:18;;11829:43;;;;11888:18;;11881:43;;;;11955:2;11940:18;;11933:43;20626:105:0::1;::::0;11735:3:1;11720:19;20626:105:0::1;;;;;;;19782:957:::0;;;;:::o;17865:278::-;3647:24;3660:10;3647:12;:24::i;:::-;3639:48;;;;-1:-1:-1;;;3639:48:0;;;;;;;:::i;:::-;17974:9:::1;17969:167;17987:20:::0;;::::1;17969:167;;;18061:6;18029:15;:29;18045:9;;18055:1;18045:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;18029:29:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;18029:29:0;:38;;-1:-1:-1;;18029:38:0::1;::::0;::::1;;::::0;;;::::1;::::0;;18087:37:::1;18103:9:::0;;18113:1;18103:12;;::::1;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;18117:6;18087:37;;;;;;;:::i;:::-;;;;;;;;18009:3;::::0;::::1;:::i;:::-;;;17969:167;;17053:525:::0;17161:12;4154:5;;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;17190:9:::1;17185:367;17203:24:::0;;::::1;17185:367;;;17248:18;17269:71;17279:13;;17293:1;17279:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9349:19:0;9331:7;9349:19;;;:11;:19;;;;;;;;17297:42:::1;9349:28:::0;;;;;;;;;9249:131;17269:71:::1;17248:92:::0;-1:-1:-1;17358:15:0;;17354:131:::1;;17393:77;17409:13;;17423:1;17409:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17427:42;17393:15;:77::i;:::-;17498:43;17509:13;;17523:1;17509:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17527:13;17498:10;:43::i;:::-;;17234:318;17229:3;;;;;:::i;:::-;;;;17185:367;;;-1:-1:-1::0;17568:4:0::1;::::0;17053:525;-1:-1:-1;;;;17053:525:0:o;9667:122::-;9722:4;9746:35;9754:7;-1:-1:-1;;9746:7:0;:35::i;19011:225::-;3647:24;3660:10;3647:12;:24::i;:::-;3639:48;;;;-1:-1:-1;;;3639:48:0;;;;;;;:::i;:::-;19111:14:::1;:22:::0;;;19144:13:::1;:20:::0;;;19175:18:::1;:27:::0;;;19215:13:::1;:11;:13::i;:::-;19011:225:::0;;;:::o;14454:420::-;14545:12;4154:5;;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14578:29:0;::::1;14602:4;14578:29;;14570:73;;;::::0;-1:-1:-1;;;14570:73:0;;12189:2:1;14570:73:0::1;::::0;::::1;12171:21:1::0;12228:2;12208:18;;;12201:30;12267:33;12247:18;;;12240:61;12318:18;;14570:73:0::1;11987:355:1::0;14570:73:0::1;14659:11:::0;14656:95:::1;;14695:44;::::0;-1:-1:-1;;;14695:44:0;;14733:4:::1;14695:44;::::0;::::1;1038:51:1::0;-1:-1:-1;;;;;14695:29:0;::::1;::::0;::::1;::::0;1011:18:1;;14695:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14686:53;;14656:95;14768:32;::::0;;-1:-1:-1;;;;;12728:32:1;;12710:51;;12792:2;12777:18;;12770:34;;;14768:32:0::1;::::0;12683:18:1;14768:32:0::1;;;;;;;14818:48;::::0;-1:-1:-1;;;14818:48:0;;14847:10:::1;14818:48;::::0;::::1;12710:51:1::0;12777:18;;;12770:34;;;-1:-1:-1;;;;;14818:28:0;::::1;::::0;::::1;::::0;12683:18:1;;14818:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4560:502::-:0;4629:14;;-1:-1:-1;;;;;4629:14:0;4615:10;:28;4607:113;;;;-1:-1:-1;;;4607:113:0;;13267:2:1;4607:113:0;;;13249:21:1;13306:2;13286:18;;;13279:30;13345:34;13325:18;;;13318:62;13416:34;13396:18;;;13389:62;-1:-1:-1;;;13467:19:1;;;13460:39;13516:19;;4607:113:0;13065:476:1;4607:113:0;4755:5;4746;;-1:-1:-1;;;;;4746:5:0;;;4731:21;;:14;:21;;;;;;:29;;-1:-1:-1;;4731:29:0;;;;;;4746:5;4786:14;;;;4771:30;;;;;:37;;;;;;;;4843:5;;4826:29;;-1:-1:-1;;;;;;;;;;;4826:29:0;;;4843:5;;;;;4755;4826:29;:::i;:::-;;;;;;;;4888:14;;;4871:37;;-1:-1:-1;;;;;;;;;;;4871:37:0;;;-1:-1:-1;;;;;4888:14:0;;4871:37;:::i;:::-;;;;;;;;4939:14;;;;4931:22;;-1:-1:-1;;;;;4939:14:0;;-1:-1:-1;;;;;;4931:22:0;;;;;;;;4964:27;;;;;;5007;;1038:51:1;;;5007:27:0;;1026:2:1;1011:18;5007:27:0;;;;;;;;4560:502::o;9061:96::-;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;9130:4:::1;:19:::0;;-1:-1:-1;;;;;;9130:19:0::1;-1:-1:-1::0;;;;;9130:19:0;;;::::1;::::0;;;::::1;::::0;;9061:96::o;9797:211::-;9917:10;9877:4;9902:26;;;:14;:26;;;;;;;;:35;9894:44;;;;;;9956;9970:10;9982:9;9993:6;9956:13;:44::i;3706:138::-;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3768:19:0;::::1;;::::0;;;:14:::1;:19;::::0;;;;;;:26;;-1:-1:-1;;3768:26:0::1;3790:4;3768:26:::0;;::::1;::::0;;;3810;;-1:-1:-1;;;;;;;;;;;3810:26:0;::::1;::::0;3783:3;;3790:4;3810:26:::1;:::i;20747:234::-:0;20841:14;;-1:-1:-1;;;;;20841:14:0;20827:10;:28;20819:66;;;;-1:-1:-1;;;20819:66:0;;13748:2:1;20819:66:0;;;13730:21:1;13787:2;13767:18;;;13760:30;13826:28;13806:18;;;13799:56;13872:18;;20819:66:0;13546:350:1;20819:66:0;20896:14;:30;;-1:-1:-1;;;;;;20896:30:0;-1:-1:-1;;;;;20896:30:0;;;;;;;;20942:31;;1038:51:1;;;20942:31:0;;1026:2:1;1011:18;20942:31:0;892:203:1;10763:300:0;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;11000:4:::1;10971:24:::0;6346:23:::1;6285:2;6346;:23;:::i;:::-;6334:36;::::0;:8:::1;:36;:::i;:::-;10957:38;;;;:::i;:::-;10956:48;;;;:::i;:::-;10941:12;:63:::0;;;11020:35:::1;::::0;1246:25:1;;;11020:35:0::1;::::0;1234:2:1;1219:18;11020:35:0::1;1100:177:1::0;20989:287:0;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;21111:2:::1;6346:23;6285:2;21111::::0;6346:23:::1;:::i;:::-;6334:36;::::0;:8:::1;:36;:::i;:::-;21099:14;;;;:::i;:::-;21088:7;:26;21080:54;;;::::0;-1:-1:-1;;;21080:54:0;;14460:2:1;21080:54:0::1;::::0;::::1;14442:21:1::0;14499:2;14479:18;;;14472:30;-1:-1:-1;;;14518:18:1;;;14511:45;14573:18;;21080:54:0::1;14258:339:1::0;21080:54:0::1;21147:11;:22:::0;;-1:-1:-1;;;;21147:22:0::1;-1:-1:-1::0;;;21147:22:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;21180:13:::1;:23:::0;;;21221:47:::1;::::0;;14770:25:1;;;21147:22:0::1;21256:11:::0;;;::::1;::::0;;;::::1;14838:14:1::0;14831:22;14826:2;14811:18;;14804:50;21221:47:0::1;::::0;14743:18:1;21221:47:0::1;;;;;;;20989:287:::0;;:::o;3852:204::-;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;3931:5:::1;::::0;-1:-1:-1;;;;;3924:12:0;;::::1;3931:5:::0;::::1;3924:12;;3916:51;;;::::0;-1:-1:-1;;;3916:51:0;;15067:2:1;3916:51:0::1;::::0;::::1;15049:21:1::0;15106:2;15086:18;;;15079:30;15145:28;15125:18;;;15118:56;15191:18;;3916:51:0::1;14865:350:1::0;3916:51:0::1;-1:-1:-1::0;;;;;3978:19:0;::::1;4000:5;3978:19:::0;;;:14:::1;:19;::::0;;;;;:27;;-1:-1:-1;;3978:27:0::1;::::0;;4021;-1:-1:-1;;;;;;;;;;;4021:27:0;::::1;::::0;3993:3;;4000:5;4021:27:::1;:::i;4290:262::-:0;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;4383:5:::1;::::0;-1:-1:-1;;;;;4376:12:0;;::::1;4383:5:::0;::::1;4376:12;;4368:42;;;::::0;-1:-1:-1;;;4368:42:0;;15422:2:1;4368:42:0::1;::::0;::::1;15404:21:1::0;15461:2;15441:18;;;15434:30;-1:-1:-1;;;15480:18:1;;;15473:47;15537:18;;4368:42:0::1;15220:341:1::0;4368:42:0::1;-1:-1:-1::0;;;;;4429:17:0;::::1;4421:53;;;::::0;-1:-1:-1;;;4421:53:0;;15768:2:1;4421:53:0::1;::::0;::::1;15750:21:1::0;15807:2;15787:18;;;15780:30;15846:25;15826:18;;;15819:53;15889:18;;4421:53:0::1;15566:347:1::0;4421:53:0::1;4485:14;:20:::0;;-1:-1:-1;;;;;;4485:20:0::1;-1:-1:-1::0;;;;;4485:20:0;::::1;::::0;;::::1;::::0;;;4521:23:::1;::::0;1038:51:1;;;4521:23:0::1;::::0;1026:2:1;1011:18;4521:23:0::1;892:203:1::0;19244:530:0;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;19422:12:::1;:28:::0;;;19461:12:::1;:28:::0;;;19500:13:::1;:30:::0;;;19541:15:::1;:34:::0;;;19586:14:::1;:32:::0;;;19689:6:::1;::::0;19559:16;;19603:15;;19516:14;19640:29:::1;19476:13:::0;19437;19640:29:::1;:::i;:::-;:46;;;;:::i;:::-;:55;;;;:::i;:::-;:73;;;;:::i;:::-;:92;;;;:::i;:::-;19629:8;:103:::0;19753:13:::1;:11;:13::i;:::-;19244:530:::0;;;;;:::o;4175:107::-;-1:-1:-1;;;;;4255:19:0;4231:4;4255:19;;;:14;:19;;;;;;;;;4175:107::o;1731:192::-;1817:7;1853:12;1845:6;;;;1837:29;;;;-1:-1:-1;;;1837:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1877:9:0;1889:5;1893:1;1889;:5;:::i;:::-;1877:17;1731:192;-1:-1:-1;;;;;1731:192:0:o;11071:887::-;-1:-1:-1;;;;;11186:22:0;;11163:4;11186:22;;;:14;:22;;;;;;;;:31;;;:68;;-1:-1:-1;;;;;;11221:25:0;;;;;;:14;:25;;;;;;;;:33;11186:68;11178:77;;;;;;11269:6;;;;11266:87;;;11299:41;11314:6;11322:9;11333:6;11299:14;:41::i;:::-;11292:48;;;;11266:87;11431:12;;11421:6;:22;;11420:51;;;-1:-1:-1;;;;;;11448:23:0;;;;;;:15;:23;;;;;;;;11420:51;:81;;;-1:-1:-1;;;;;;11475:26:0;;;;;;:15;:26;;;;;;;;11420:81;11412:115;;;;-1:-1:-1;;;11412:115:0;;16469:2:1;11412:115:0;;;16451:21:1;16508:2;16488:18;;;16481:30;-1:-1:-1;;;16527:18:1;;;16520:51;16588:18;;11412:115:0;16267:345:1;11412:115:0;11543:16;:14;:16::i;:::-;11540:35;;;11562:10;:8;:10::i;:::-;11607:53;;;;;;;;;;;-1:-1:-1;;;11607:53:0;;;;;;;;-1:-1:-1;;;;;11607:17:0;;-1:-1:-1;11607:17:0;;;:9;:17;;;;;;;;:53;;11629:6;;11607:21;:53::i;:::-;-1:-1:-1;;;;;11587:17:0;;;;;;:9;:17;;;;;;;;:73;;;;11699:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;11722:22:0;;;;;;:11;:22;;;;;;;;11699:45;11698:93;;11757:34;11765:6;11773;11781:9;11757:7;:34::i;:::-;11698:93;;;11748:6;11698:93;-1:-1:-1;;;;;11827:20:0;;;;;;:9;:20;;;;;;11673:118;;-1:-1:-1;11827:40:0;;11673:118;11827:24;:40::i;:::-;-1:-1:-1;;;;;11804:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11885:43;;;;;;-1:-1:-1;;;;;;;;;;;11885:43:0;;;11913:14;1246:25:1;;1234:2;1219:18;;1100:177;11885:43:0;;;;;;;;-1:-1:-1;11946:4:0;;11071:887;-1:-1:-1;;;;11071:887:0:o;16912:133::-;4119:4;4154:5;-1:-1:-1;;;;;4154:5:0;3565:10;4143:16;3549:38;;;;-1:-1:-1;;;3549:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17002:21:0;;::::1;17036:1;17002:21:::0;;;:11:::1;:21;::::0;;;;;;;:31;;;::::1;::::0;;;;;;;;;:35;16912:133::o;16626:278::-;-1:-1:-1;;;;;16728:24:0;;16703:4;16728:24;;;:14;:24;;;;;;;;:42;;;;;;;16720:51;;;;;;-1:-1:-1;;;;;16782:24:0;;;;;;:14;:24;;;;;;;;;:41;;-1:-1:-1;;16782:41:0;;;;;;;;;;16839:35;;2665:41:1;;;16839:35:0;;2638:18:1;16839:35:0;;;;;;;-1:-1:-1;16892:4:0;16626:278;;;;:::o;18450:553::-;18541:3;18501:36;18533:3;18501:27;18514:13;;18501:8;;:12;;:27;;;;:::i;:::-;:31;;:36::i;:::-;:43;;18493:87;;;;-1:-1:-1;;;18493:87:0;;16819:2:1;18493:87:0;;;16801:21:1;16858:2;16838:18;;;16831:30;16897:33;16877:18;;;16870:61;16948:18;;18493:87:0;16617:355:1;18493:87:0;18640:3;18599:37;18632:3;18599:28;18612:14;;18599:8;;:12;;:28;;;;:::i;:37::-;:44;;18591:89;;;;-1:-1:-1;;;18591:89:0;;17179:2:1;18591:89:0;;;17161:21:1;;;17198:18;;;17191:30;17257:34;17237:18;;;17230:62;17309:18;;18591:89:0;16977:356:1;18591:89:0;18744:1;18699:41;18736:3;18699:32;18712:18;;18699:8;;:12;;:32;;;;:::i;:41::-;:46;;18691:95;;;;-1:-1:-1;;;18691:95:0;;17540:2:1;18691:95:0;;;17522:21:1;17579:2;17559:18;;;17552:30;17618:34;17598:18;;;17591:62;-1:-1:-1;;;17669:18:1;;;17662:34;17713:19;;18691:95:0;17338:400:1;18691:95:0;18804:191;18821:36;18853:3;18821:27;18834:13;;18821:8;;:12;;:27;;;;:::i;:36::-;18879:37;18912:3;18879:28;18892:14;;18879:8;;:12;;:28;;;;:::i;:37::-;18938:41;18975:3;18938:32;18951:18;;18938:8;;:12;;:32;;;;:::i;:41::-;18804:191;;;17963:4:1;17951:17;;;17933:36;;18005:17;;;18000:2;17985:18;;17978:45;18059:17;;18039:18;;;18032:45;;;;17921:2;17906:18;18804:191:0;17743:340:1;11970:385:0;12100:53;;;;;;;;;;;-1:-1:-1;;;12100:53:0;;;;;;;;-1:-1:-1;;;;;12100:17:0;;12063:4;12100:17;;;:9;:17;;;;;;;:53;;12122:6;;12100:21;:53::i;:::-;-1:-1:-1;;;;;12080:17:0;;;;;;;:9;:17;;;;;;:73;;;;12187:20;;;;;;;:32;;12212:6;12187:24;:32::i;:::-;-1:-1:-1;;;;;12164:20:0;;;;;;:9;:20;;;;;;;;:55;;;;12253:10;12238:26;;:14;:26;;;;;;:35;12230:44;;;;;;12307:9;-1:-1:-1;;;;;12290:35:0;12299:6;-1:-1:-1;;;;;12290:35:0;-1:-1:-1;;;;;;;;;;;12318:6:0;12290:35;;;;1246:25:1;;1234:2;1219:18;;1100:177;12290:35:0;;;;;;;;-1:-1:-1;12343:4:0;11970:385;;;;;:::o;13885:197::-;13972:4;;13934;;-1:-1:-1;;;;;13972:4:0;13958:10;:18;;;;:38;;-1:-1:-1;13990:6:0;;;;13989:7;13958:38;:62;;;;-1:-1:-1;14009:11:0;;-1:-1:-1;;;14009:11:0;;;;13958:62;:116;;;;-1:-1:-1;;14061:13:0;;14051:4;14033:24;;;;:9;:24;;;;;;:41;;;13885:197::o;14882:1736::-;7751:6;:13;;-1:-1:-1;;7751:13:0;7760:4;7751:13;;;14966:14:::1;::::0;14955:8:::1;::::0;7751:6;;14955:25:::1;::::0;::::1;:::i;:::-;14933:47:::0;-1:-1:-1;14993:23:0::1;15051:15;14933:47:::0;15065:1:::1;15051:15;:::i;:::-;15036:12;;15020:13;;:28;;;;:::i;:::-;15019:48;;;;:::i;:::-;14993:74;;15078:20;15117:15;15101:13;;:31;;;;:::i;:::-;15169:16;::::0;;15183:1:::1;15169:16:::0;;;;;::::1;::::0;;15078:54;;-1:-1:-1;15145:21:0::1;::::0;15169:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15169:16:0::1;15145:40;;15214:4;15196;15201:1;15196:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15196:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;15240:4:::1;::::0;15230:7;;15240:4;::::1;::::0;15230;;15240;;15230:7;::::1;;;;;:::i;:::-;-1:-1:-1::0;;;;;15230:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;15257:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;15257:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;15329:12;;15257:6:::1;::::0;15372:4;;15399::::1;::::0;15419:15:::1;::::0;15257:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;15541:12:0::1;::::0;15478:21:::1;::::0;-1:-1:-1;15541:16:0::1;::::0;-1:-1:-1;15556:1:0::1;::::0;15541:16:::1;:::i;:::-;15526:32;::::0;:11;:32:::1;:::i;:::-;15512:46:::0;-1:-1:-1;15579:26:0::1;15638:15;15512:46:::0;15652:1:::1;15638:15;:::i;:::-;15621:12;::::0;15609:24:::1;::::0;:9;:24:::1;:::i;:::-;15608:46;;;;:::i;:::-;15579:75;;15665:26;15723:11;15707:12;;15695:9;:24;;;;:::i;:::-;15694:40;;;;:::i;:::-;15665:69;;15745:27;15805:11;15788:13;;15776:9;:25;;;;:::i;:::-;15775:41;;;;:::i;:::-;15745:71;;15827:29;15891:11;15872:15;;15860:9;:27;;;;:::i;:::-;15859:43;;;;:::i;:::-;15827:75;;15913:20;15959:11;15949:6;;15937:9;:18;;;;:::i;:::-;15936:34;;;;:::i;:::-;15991:20;::::0;15983:58:::1;::::0;15913:57;;-1:-1:-1;;;;;;15991:20:0::1;::::0;15983:58;::::1;;;::::0;16022:18;;15991:20:::1;15983:58:::0;15991:20;15983:58;16022:18;15991:20;15983:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;16060:21:0::1;::::0;16052:60:::1;::::0;-1:-1:-1;;;;;16060:21:0;;::::1;::::0;16052:60;::::1;;;::::0;16092:19;;16060:21:::1;16052:60:::0;16060:21;16052:60;16092:19;16060:21;16052:60;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;16131:23:0::1;::::0;16123:64:::1;::::0;-1:-1:-1;;;;;16131:23:0;;::::1;::::0;16123:64;::::1;;;::::0;16165:21;;16131:23:::1;16123:64:::0;16131:23;16123:64;16165:21;16131:23;16123:64;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;16206:14:0::1;::::0;16198:46:::1;::::0;-1:-1:-1;;;;;16206:14:0;;::::1;::::0;16198:46;::::1;;;::::0;16231:12;;16206:14:::1;16198:46:::0;16206:14;16198:46;16231:12;16206:14;16198:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;16260:19:0;;16257:354:::1;;16295:6;::::0;:236:::1;::::0;-1:-1:-1;;;16295:236:0;;16371:4:::1;16295:236;::::0;::::1;19546:34:1::0;;;19596:18;;;19589:34;;;16295:6:0::1;19639:18:1::0;;;19632:34;;;19682:18;;;19675:34;19725:19;;;19718:44;16501:15:0::1;19778:19:1::0;;;19771:35;-1:-1:-1;;;;;16295:6:0;;::::1;::::0;:22:::1;::::0;16325:18;;19480:19:1;;16295:236:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;16551:48:0::1;::::0;;20302:25:1;;;20358:2;20343:18;;20336:34;;;16551:48:0::1;::::0;-1:-1:-1;20275:18:1;16551:48:0::1;;;;;;;16257:354;-1:-1:-1::0;;7769:6:0;:14;;-1:-1:-1;;7769:14:0;;;-1:-1:-1;;;;;;;;14882:1736:0:o;12363:1514::-;12449:7;12472:11;;;:28;;-1:-1:-1;12487:8:0;;:13;12472:28;12469:72;;;-1:-1:-1;12523:6:0;12516:13;;12469:72;12574:18;;12730:4;;12553:18;;;;;;-1:-1:-1;;;;;12717:17:0;;;12730:4;;12717:17;12714:616;;;12764:14;;;-1:-1:-1;12805:62:0;12846:20;7228:4;12863:3;12846:20;:::i;:::-;12805:36;12830:10;12805:20;12816:8;;12805:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:62::-;12793:74;;12902:43;12936:8;;12902:29;12916:14;;12902:9;:13;;:29;;;;:::i;:43::-;12882:63;-1:-1:-1;12977:32:0;:9;12882:63;12977:13;:32::i;:::-;12960:49;;12714:616;;;13040:4;;-1:-1:-1;;;;;13030:14:0;;;13040:4;;13030:14;13027:303;;;13074:13;;;-1:-1:-1;13114:62:0;13155:20;7228:4;13172:3;13155:20;:::i;13114:62::-;13102:74;;13211:43;13245:8;;13211:29;13225:14;;13211:9;:13;;:29;;;;:::i;:43::-;13191:63;-1:-1:-1;13286:32:0;:9;13191:63;13286:13;:32::i;:::-;13269:49;;13027:303;13345:18;;13342:187;;13424:4;13406:24;;;;:9;:24;;;;;;:44;;13435:14;13406:28;:44::i;:::-;13397:4;13379:24;;;;:9;:24;;;;;;;:71;;;;13470:47;;-1:-1:-1;;;;;13470:47:0;;;-1:-1:-1;;;;;;;;;;;13470:47:0;;;13502:14;1246:25:1;;1234:2;1219:18;;1100:177;13470:47:0;;;;;;;;13342:187;13552:21;;13549:227;;13635:22;;-1:-1:-1;;;;;13635:22:0;13625:33;;;;:9;:33;;;;;;:56;;13663:17;13625:37;:56::i;:::-;13599:22;;;-1:-1:-1;;;;;13599:22:0;;;13589:33;;;;:9;:33;;;;;;;;;:92;;;;13718:22;;13701:59;;1246:25:1;;;13718:22:0;;;;13701:59;;;;-1:-1:-1;;;;;;;;;;;13701:59:0;1219:18:1;13701:59:0;;;;;;;13549:227;13809:10;13794:26;;;;:14;:26;;;;;;;;:35;13786:44;;;;;;13848:21;:6;13859:9;13848:10;:21::i;:::-;13841:28;12363:1514;-1:-1:-1;;;;;;;;12363:1514:0:o;1402:181::-;1460:7;;1492:5;1496:1;1492;:5;:::i;:::-;1480:17;;1521:1;1516;:6;;1508:46;;;;-1:-1:-1;;;1508:46:0;;20583:2:1;1508:46:0;;;20565:21:1;20622:2;20602:18;;;20595:30;20661:29;20641:18;;;20634:57;20708:18;;1508:46:0;20381:351:1;1929:250:0;1987:7;2011:6;2007:47;;-1:-1:-1;2041:1:0;2034:8;;2007:47;2066:9;2078:5;2082:1;2078;:5;:::i;:::-;2066:17;-1:-1:-1;2111:1:0;2102:5;2106:1;2066:17;2102:5;:::i;:::-;:10;2094:56;;;;-1:-1:-1;;;2094:56:0;;20939:2:1;2094:56:0;;;20921:21:1;20978:2;20958:18;;;20951:30;21017:34;20997:18;;;20990:62;-1:-1:-1;;;21068:18:1;;;21061:31;21109:19;;2094:56:0;20737:397:1;2185:132:0;2243:7;2270:39;2274:1;2277;2270:39;;;;;;;;;;;;;;;;;:3;:39::i;1589:136::-;1647:7;1674:43;1678:1;1681;1674:43;;;;;;;;;;;;;;;;;:3;:43::i;2323:189::-;2409:7;2444:12;2437:5;2429:28;;;;-1:-1:-1;;;2429:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2468:9:0;2480:5;2484:1;2480;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;66:60;14:118;:::o;137:750::-;229:6;237;245;298:2;286:9;277:7;273:23;269:32;266:52;;;314:1;311;304:12;266:52;354:9;341:23;383:18;424:2;416:6;413:14;410:34;;;440:1;437;430:12;410:34;478:6;467:9;463:22;453:32;;523:7;516:4;512:2;508:13;504:27;494:55;;545:1;542;535:12;494:55;585:2;572:16;611:2;603:6;600:14;597:34;;;627:1;624;617:12;597:34;682:7;675:4;665:6;662:1;658:14;654:2;650:23;646:34;643:47;640:67;;;703:1;700;693:12;640:67;734:4;726:13;;;;-1:-1:-1;758:6:1;-1:-1:-1;;799:20:1;;786:34;829:28;786:34;829:28;:::i;:::-;876:5;866:15;;;137:750;;;;;:::o;1282:597::-;1394:4;1423:2;1452;1441:9;1434:21;1484:6;1478:13;1527:6;1522:2;1511:9;1507:18;1500:34;1552:1;1562:140;1576:6;1573:1;1570:13;1562:140;;;1671:14;;;1667:23;;1661:30;1637:17;;;1656:2;1633:26;1626:66;1591:10;;1562:140;;;1720:6;1717:1;1714:13;1711:91;;;1790:1;1785:2;1776:6;1765:9;1761:22;1757:31;1750:42;1711:91;-1:-1:-1;1863:2:1;1842:15;-1:-1:-1;;1838:29:1;1823:45;;;;1870:2;1819:54;;1282:597;-1:-1:-1;;;1282:597:1:o;1884:180::-;1943:6;1996:2;1984:9;1975:7;1971:23;1967:32;1964:52;;;2012:1;2009;2002:12;1964:52;-1:-1:-1;2035:23:1;;1884:180;-1:-1:-1;1884:180:1:o;2069:131::-;-1:-1:-1;;;;;2144:31:1;;2134:42;;2124:70;;2190:1;2187;2180:12;2205:315;2273:6;2281;2334:2;2322:9;2313:7;2309:23;2305:32;2302:52;;;2350:1;2347;2340:12;2302:52;2389:9;2376:23;2408:31;2433:5;2408:31;:::i;:::-;2458:5;2510:2;2495:18;;;;2482:32;;-1:-1:-1;;;2205:315:1:o;2717:456::-;2794:6;2802;2810;2863:2;2851:9;2842:7;2838:23;2834:32;2831:52;;;2879:1;2876;2869:12;2831:52;2918:9;2905:23;2937:31;2962:5;2937:31;:::i;:::-;2987:5;-1:-1:-1;3044:2:1;3029:18;;3016:32;3057:33;3016:32;3057:33;:::i;:::-;2717:456;;3109:7;;-1:-1:-1;;;3163:2:1;3148:18;;;;3135:32;;2717:456::o;3178:247::-;3237:6;3290:2;3278:9;3269:7;3265:23;3261:32;3258:52;;;3306:1;3303;3296:12;3258:52;3345:9;3332:23;3364:31;3389:5;3364:31;:::i;3619:671::-;3705:6;3713;3721;3729;3782:3;3770:9;3761:7;3757:23;3753:33;3750:53;;;3799:1;3796;3789:12;3750:53;3838:9;3825:23;3857:31;3882:5;3857:31;:::i;:::-;3907:5;-1:-1:-1;3964:2:1;3949:18;;3936:32;3977:33;3936:32;3977:33;:::i;:::-;4029:7;-1:-1:-1;4088:2:1;4073:18;;4060:32;4101:33;4060:32;4101:33;:::i;:::-;4153:7;-1:-1:-1;4212:2:1;4197:18;;4184:32;4225:33;4184:32;4225:33;:::i;:::-;3619:671;;;;-1:-1:-1;3619:671:1;;-1:-1:-1;;3619:671:1:o;4295:316::-;4372:6;4380;4388;4441:2;4429:9;4420:7;4416:23;4412:32;4409:52;;;4457:1;4454;4447:12;4409:52;-1:-1:-1;;4480:23:1;;;4550:2;4535:18;;4522:32;;-1:-1:-1;4601:2:1;4586:18;;;4573:32;;4295:316;-1:-1:-1;4295:316:1:o;4616:388::-;4684:6;4692;4745:2;4733:9;4724:7;4720:23;4716:32;4713:52;;;4761:1;4758;4751:12;4713:52;4800:9;4787:23;4819:31;4844:5;4819:31;:::i;:::-;4869:5;-1:-1:-1;4926:2:1;4911:18;;4898:32;4939:33;4898:32;4939:33;:::i;:::-;4991:7;4981:17;;;4616:388;;;;;:::o;5009:309::-;5074:6;5082;5135:2;5123:9;5114:7;5110:23;5106:32;5103:52;;;5151:1;5148;5141:12;5103:52;5190:9;5177:23;5209:28;5231:5;5209:28;:::i;5809:454::-;5904:6;5912;5920;5928;5936;5989:3;5977:9;5968:7;5964:23;5960:33;5957:53;;;6006:1;6003;5996:12;5957:53;-1:-1:-1;;6029:23:1;;;6099:2;6084:18;;6071:32;;-1:-1:-1;6150:2:1;6135:18;;6122:32;;6201:2;6186:18;;6173:32;;-1:-1:-1;6252:3:1;6237:19;6224:33;;-1:-1:-1;5809:454:1;-1:-1:-1;5809:454:1:o;6268:335::-;6470:2;6452:21;;;6509:2;6489:18;;;6482:30;-1:-1:-1;;;6543:2:1;6528:18;;6521:41;6594:2;6579:18;;6268:335::o;6608:127::-;6669:10;6664:3;6660:20;6657:1;6650:31;6700:4;6697:1;6690:15;6724:4;6721:1;6714:15;6740:284;-1:-1:-1;;;;;6926:32:1;;;;6908:51;;7002:14;6995:22;6990:2;6975:18;;6968:50;6896:2;6881:18;;6740:284::o;7029:127::-;7090:10;7085:3;7081:20;7078:1;7071:31;7121:4;7118:1;7111:15;7145:4;7142:1;7135:15;7161:135;7200:3;-1:-1:-1;;7221:17:1;;7218:43;;;7241:18;;:::i;:::-;-1:-1:-1;7288:1:1;7277:13;;7161:135::o;7301:329::-;7503:2;7485:21;;;7542:1;7522:18;;;7515:29;-1:-1:-1;;;7575:2:1;7560:18;;7553:36;7621:2;7606:18;;7301:329::o;8040:422::-;8129:1;8172:5;8129:1;8186:270;8207:7;8197:8;8194:21;8186:270;;;8266:4;8262:1;8258:6;8254:17;8248:4;8245:27;8242:53;;;8275:18;;:::i;:::-;8325:7;8315:8;8311:22;8308:55;;;8345:16;;;;8308:55;8424:22;;;;8384:15;;;;8186:270;;;8190:3;8040:422;;;;;:::o;8467:806::-;8516:5;8546:8;8536:80;;-1:-1:-1;8587:1:1;8601:5;;8536:80;8635:4;8625:76;;-1:-1:-1;8672:1:1;8686:5;;8625:76;8717:4;8735:1;8730:59;;;;8803:1;8798:130;;;;8710:218;;8730:59;8760:1;8751:10;;8774:5;;;8798:130;8835:3;8825:8;8822:17;8819:43;;;8842:18;;:::i;:::-;-1:-1:-1;;8898:1:1;8884:16;;8913:5;;8710:218;;9012:2;9002:8;8999:16;8993:3;8987:4;8984:13;8980:36;8974:2;8964:8;8961:16;8956:2;8950:4;8947:12;8943:35;8940:77;8937:159;;;-1:-1:-1;9049:19:1;;;9081:5;;8937:159;9128:34;9153:8;9147:4;9128:34;:::i;:::-;9198:6;9194:1;9190:6;9186:19;9177:7;9174:32;9171:58;;;9209:18;;:::i;:::-;9247:20;;8467:806;-1:-1:-1;;;8467:806:1:o;9278:131::-;9338:5;9367:36;9394:8;9388:4;9367:36;:::i;9414:168::-;9454:7;9520:1;9516;9512:6;9508:14;9505:1;9502:21;9497:1;9490:9;9483:17;9479:45;9476:71;;;9527:18;;:::i;:::-;-1:-1:-1;9567:9:1;;9414:168::o;9587:217::-;9627:1;9653;9643:132;;9697:10;9692:3;9688:20;9685:1;9678:31;9732:4;9729:1;9722:15;9760:4;9757:1;9750:15;9643:132;-1:-1:-1;9789:9:1;;9587:217::o;10145:125::-;10185:4;10213:1;10210;10207:8;10204:34;;;10218:18;;:::i;:::-;-1:-1:-1;10255:9:1;;10145:125::o;10688:409::-;10890:2;10872:21;;;10929:2;10909:18;;;10902:30;10968:34;10963:2;10948:18;;10941:62;-1:-1:-1;;;11034:2:1;11019:18;;11012:43;11087:3;11072:19;;10688:409::o;12347:184::-;12417:6;12470:2;12458:9;12449:7;12445:23;12441:32;12438:52;;;12486:1;12483;12476:12;12438:52;-1:-1:-1;12509:16:1;;12347:184;-1:-1:-1;12347:184:1:o;12815:245::-;12882:6;12935:2;12923:9;12914:7;12910:23;12906:32;12903:52;;;12951:1;12948;12941:12;12903:52;12983:9;12977:16;13002:28;13024:5;13002:28;:::i;16134:128::-;16174:3;16205:1;16201:6;16198:1;16195:13;16192:39;;;16211:18;;:::i;:::-;-1:-1:-1;16247:9:1;;16134:128::o;18220:980::-;18482:4;18530:3;18519:9;18515:19;18561:6;18550:9;18543:25;18587:2;18625:6;18620:2;18609:9;18605:18;18598:34;18668:3;18663:2;18652:9;18648:18;18641:31;18692:6;18727;18721:13;18758:6;18750;18743:22;18796:3;18785:9;18781:19;18774:26;;18835:2;18827:6;18823:15;18809:29;;18856:1;18866:195;18880:6;18877:1;18874:13;18866:195;;;18945:13;;-1:-1:-1;;;;;18941:39:1;18929:52;;19036:15;;;;19001:12;;;;18977:1;18895:9;18866:195;;;-1:-1:-1;;;;;;;19117:32:1;;;;19112:2;19097:18;;19090:60;-1:-1:-1;;;19181:3:1;19166:19;19159:35;19078:3;18220:980;-1:-1:-1;;;18220:980:1:o;19817:306::-;19905:6;19913;19921;19974:2;19962:9;19953:7;19949:23;19945:32;19942:52;;;19990:1;19987;19980:12;19942:52;20019:9;20013:16;20003:26;;20069:2;20058:9;20054:18;20048:25;20038:35;;20113:2;20102:9;20098:18;20092:25;20082:35;;19817:306;;;;;:::o
Swarm Source
ipfs://1c851dd90c50438dc4f8a03fc08e22c518d00a11a4d26a8ce4457b543bc324a4
Loading...
Loading
Loading...
Loading
OVERVIEW
DCAP was designed to thrive and be supported by a growing portfolio of properties and cash flow assets. A token backed by property acquisition with cash flow, buybacks and an ecosystem that strives to bring higher education to unaccredited investors.Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
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.