ETH Price: $3,303.16 (-3.18%)
Gas: 19 Gwei

Token

MasteRioshy (MASHY)
 

Overview

Max Total Supply

1,000,000,000 MASHY

Holders

86

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,232,231.848763149 MASHY

Value
$0.00
0xffddee81067efeefd8abf28893dbabcc1a88fdce
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MasteRioshy

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-14
*/

/**
*/
//
//              MasteRioshy (マスターリオシー) | $MASHY
//
//      The gods just laugh when men pray to them for wealth.
//
//      Low TAX - 4% (1% Reflection, 3% Marketing)
//      Max wallet 4%
//      Max sell txn 2%
//
//      LOCKED & RENOUNCED !
//
// TG - https://t.me/MasteRioshyETH
//
// TW - https://twitter.com/MasteRioshyETH
//
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣶⣦⣤⡀⠀⣤⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⡿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡏⠉⢀⣦⣤⣶⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠀⢀⠟⠙⣿⣿⣿⣿⣿⡿⠛⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⣿⠾⣿⣟⠂⠛⣿⣿⡟⠁⠀⠀⣿⣿⣿⣿⣿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡿⠀⠈⠉⠀⠀⣿⣿⠀⠀⠀⠀⢿⣧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠧⢤⣀⡀⠀⠀⠸⢿⡄⠀⠀⠀⠀⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣲⡎⠁⠀⢀⣤⣶⠀⠀⠀⣠⣾⠟⠃⢀⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⢿⣷⣴⣿⣧⠀⣠⣾⠟⠋⠀⠀⠘⠛⠻⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠋⣿⣿⣾⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡾⣩⣿⠋⠀⠀⠀⠀⠀⠐⠒⠶⣶⣦⡀⠈⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⡟⣱⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣷⡀⠈⢿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⠏⢰⡿⠁⢀⣀⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠙⢷⡄⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⠏⢠⠞⠀⠀⣾⠁⠀⢹⠏⠀⡀⠀⠀⠀⠀⠀⠀⠀⠹⣦⣹⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠇⡴⠋⠀⠀⠀⠿⠷⠾⠟⠀⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⣠⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠛⢿⣿⣿⣷⣦⣤⣀⠀⠀⠀⠀⠀⠀⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠉⠛⠻⢿⣿⣿⣶⣤⣄⡀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⣤⣤⣉⠙⠛⢿⣿⣿⣷⣿⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⢿⣿⣿⣿⣶⣶⣬⣉⣻⡿⣿⣿⣿⣶⣦⣴⣶⠀⠀⠀⣸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠻⠿⣿⣿⣷⣾⣯⣟⣿⣿⣿⣿⣷⣦⣀⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠏⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣷⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⡏⠀⠰⠶⠞⠛⠛⠻⠿⠿⠿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣹⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣇⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡿⠛⠛⠛⠛⠛⠛⠛⠛⠶⠆⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠉⠙⠛⠓⠶⢤⣤⣀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡟⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡆⠀⠀⠀⠀⠀⠀⠀⠈⢉⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⠿⠻⢿⣿⣿⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠁⢠⡄⠀⠀⠀⠀⠀⠀⠸⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⠟⠁⠀⠀⠀⠉⠛⢿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠇⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⢻⣿⣦⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡏⠀⢰⡄⠸⡆⠀⠀⠀⠀⠀⠀⠀⠹⣿⣷⣄⠀⠀⠀⠀⢠⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣶⡄⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠁⠀⢸⡇⠀⢿⡄⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⠀⠀⣸⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣷⣦⡀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⡇⠀⠘⣧⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣶⣿⣿⣿⣿⠿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣿⣷⣄⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⣷⠀⠀⢹⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⡏⠀⢻⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⡄
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣇⠀⠀⣿⡆⠀⠸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠿⠿⠃⠀⠈⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠀⠀⢸⣷⠀⠀⢻⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠘⣿⠀⠀⠈⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣦⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⠀⢹⡆⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣷⢻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡄⠀⠀⠈⣷⠀⠀⠈⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡇⠀⠀⠀⣿⡇⠀⠀⢹⣷⠀⠀⠀⠀⠀⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠸⣧⠀⠀⠈⣿⡄⠀⠀⠀⠀⠘⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⠀⠀⠀⠀⢿⡇⠀⠀⣿⣧⠀⠀⠀⠀⠀⢻⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⠀⠀⢸⣿⠀⠀⢻⣿⠀⠀⠀⠀⠀⠀⢳⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡀⠀⠀⠀⠘⣿⡇⠀⠈⣿⡇⠀⠀⠀⠀⠀⠘⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣇⠀⠀⠀⠀⢹⣷⠀⠀⠸⣿⠀⠀⠀⠀⠀⠀⢹⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠈⣿⣇⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⢷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⠀⠀⢸⣿⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⠀⠀⠸⣿⡄⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀⢻⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡇⠀⠀⠀⠀⠀⢿⣷⠀⠀⢸⣆⠀⠀⠀⠀⠀⠀⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⠀⠀⠀⠀⢸⣿⡆⠀⠀⢿⠀⠀⠀⠀⠀⠀⠀⠸⣿⡆⠀⠀⠀⠀⠀⠀⣠⣶⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⠀⠀⠀⠀⠀⠈⣿⣇⠀⠀⠘⡆⠀⠀⠀⠀⠀⠀⠀⢹⣿⣆⠀⣀⣠⣴⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣀⣀⣀⣠⣤⣴⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⠟⠉⢉⣉⣩⣽⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠛⠛⠛⠛⠉⢉⣠⣿⡿⠿⠿⠿⠶⠶⣾⠿⠿⠿⢿⣿⢿⡟⠛⠉⠉⠁⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⠾⠟⠉⠹⣇⠀⠀⠀⢀⣠⠿⣷⣀⣠⠾⠁⠀⢻⣄⣀⣀⣴⠿⠟⠻⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣶⠾⠛⠛⢿⣟⠻⠶⠶⢿⣦⠾⠟⢉⣥⠶⠛⠻⠷⣶⠶⠶⠾⢿⠋⠁⠀⠀⠀⣠⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⣦⣤⣤⠤⢽⡷⣤⠤⠴⢿⢦⣶⣿⣿⣴⣤⣤⣴⣿⣦⣶⣦⣾⡷⠶⠶⢾⡿⢿⣿⠃⠀⠀
//⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.9;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
}

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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract MasteRioshy is Context, IERC20, Ownable {
    
    using SafeMath for uint256;

    string private constant _name = "MasteRioshy";
    string private constant _symbol = "MASHY";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e9 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _redisFeeOnBuy = 1;
    uint256 private _taxFeeOnBuy = 3;
    
    uint256 private _redisFeeOnSell = 1;
    uint256 private _taxFeeOnSell = 3;
    
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    mapping(address => uint256) private cooldown;
    
    address payable private _developmentAddress = payable(0xd07d6E423450400b15a44d0c335E935542A74eE8);
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    
    uint256 public _maxTxAmount = 2e7 * 10**9; //2%
    uint256 public _maxWalletSize = 4e7 * 10**9; //4%
    uint256 public _swapTokensAtAmount = 5e5 * 10**9; //0.05%

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

    function developmentWallet() public view returns (address) {
        return _developmentAddress;
    }

    function transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        
        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (from != owner() && to != owner()) {
            
            if (!tradingOpen) {
                revert("Trading not yet enabled!");            
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _developmentAddress && from != _developmentAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _developmentAddress && to != address(this)) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
            }
    
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (_buyMap[from] != 0 && (_buyMap[from] + (4 hours) >= block.timestamp)) {
                    _redisFee = 1;
                    _taxFee = 3;
                } else {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) external {
        require(_msgSender() == _developmentAddress);
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function sendETHToFee(uint256 amount) private {
        _developmentAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

    function manualswap(uint256 amount) external {
        require(_msgSender() == _developmentAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    
        return (rSupply, tSupply);
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external {
        require(_msgSender() == _developmentAddress);
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external {
        require(_msgSender() == _developmentAddress);
        _maxWalletSize = maxWalletSize;
    }

    function lowerBuyTeamFee(uint256 amount) external {
        require(_msgSender() == _developmentAddress);
        require(amount >= 1 && amount <= _taxFeeOnBuy, "The amount needs to be greater than 1 and less than the current buy fee");
        _taxFeeOnBuy = amount;
    }
    function lowerSellTeamFee(uint256 amount) external {
        require(_msgSender() == _developmentAddress);
        require(amount >= 1 && amount <= _taxFeeOnSell, "The amount needs to be greater than 1 and less than the current sell fee");
        _taxFeeOnSell = amount;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"lowerBuyTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"lowerSellTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c919062000671565b6000196200002b9190620006d8565b60075560016009556003600a556001600b556003600c55600b54600d55600c54600e55600d54600f55600e5460105573d07d6e423450400b15a44d0c335e935542a74ee8601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff02191690831515021790555066470de4df820000601555668e1bc9bf0400006016556601c6bf526340006017553480156200011357600080fd5b506000620001266200060760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060075460026000620001db6200060760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ba57600080fd5b505afa158015620002cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f591906200077d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035857600080fd5b505afa1580156200036d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200039391906200077d565b6040518363ffffffff1660e01b8152600401620003b2929190620007c0565b602060405180830381600087803b158015620003cd57600080fd5b505af1158015620003e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200040891906200077d565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600660006200045e6200060f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005916200060760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620005f89190620007fe565b60405180910390a3506200081b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200067e8262000638565b91506200068b8362000638565b9250826200069e576200069d62000642565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006e58262000638565b9150620006f28362000638565b925082821015620007085762000707620006a9565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007458262000718565b9050919050565b620007578162000738565b81146200076357600080fd5b50565b60008151905062000777816200074c565b92915050565b60006020828403121562000796576200079562000713565b5b6000620007a68482850162000766565b91505092915050565b620007ba8162000738565b82525050565b6000604082019050620007d76000830185620007af565b620007e66020830184620007af565b9392505050565b620007f88162000638565b82525050565b6000602082019050620008156000830184620007ed565b92915050565b6139f0806200082b6000396000f3fe6080604052600436106101a05760003560e01c8063715018a6116100ec57806395d89b411161008a578063c04a541411610064578063c04a54141461059b578063dd62ed3e146105c6578063ea1644d514610603578063f2fde38b1461062c576101a7565b806395d89b411461050a57806398a5c31514610535578063a9059cbb1461055e576101a7565b8063881dce60116100c6578063881dce60146104625780638da5cb5b1461048b5780638f70ccf7146104b65780638f9a55c0146104df576101a7565b8063715018a6146103f757806374010ece1461040e5780637d1db4a514610437576101a7565b80632fd689e31161015957806349bd5a5e1161013357806349bd5a5e1461034f5780636d8aa8f81461037a5780636fc3eaec146103a357806370a08231146103ba576101a7565b80632fd689e3146102d0578063313ce567146102fb57806346001d8e14610326576101a7565b8063043a791d146101ac57806306fdde03146101d5578063095ea7b3146102005780631694505e1461023d57806318160ddd1461026857806323b872dd14610293576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101d360048036038101906101ce91906129a4565b610655565b005b3480156101e157600080fd5b506101ea610712565b6040516101f79190612a6a565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612aea565b61074f565b6040516102349190612b45565b60405180910390f35b34801561024957600080fd5b5061025261076d565b60405161025f9190612bbf565b60405180910390f35b34801561027457600080fd5b5061027d610793565b60405161028a9190612be9565b60405180910390f35b34801561029f57600080fd5b506102ba60048036038101906102b59190612c04565b6107a3565b6040516102c79190612b45565b60405180910390f35b3480156102dc57600080fd5b506102e561087c565b6040516102f29190612be9565b60405180910390f35b34801561030757600080fd5b50610310610882565b60405161031d9190612c73565b60405180910390f35b34801561033257600080fd5b5061034d600480360381019061034891906129a4565b61088b565b005b34801561035b57600080fd5b50610364610948565b6040516103719190612c9d565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c9190612ce4565b61096e565b005b3480156103af57600080fd5b506103b8610a20565b005b3480156103c657600080fd5b506103e160048036038101906103dc9190612d11565b610a92565b6040516103ee9190612be9565b60405180910390f35b34801561040357600080fd5b5061040c610ae3565b005b34801561041a57600080fd5b50610435600480360381019061043091906129a4565b610c36565b005b34801561044357600080fd5b5061044c610ca1565b6040516104599190612be9565b60405180910390f35b34801561046e57600080fd5b50610489600480360381019061048491906129a4565b610ca7565b005b34801561049757600080fd5b506104a0610d6b565b6040516104ad9190612c9d565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d89190612ce4565b610d94565b005b3480156104eb57600080fd5b506104f4610e45565b6040516105019190612be9565b60405180910390f35b34801561051657600080fd5b5061051f610e4b565b60405161052c9190612a6a565b60405180910390f35b34801561054157600080fd5b5061055c600480360381019061055791906129a4565b610e88565b005b34801561056a57600080fd5b5061058560048036038101906105809190612aea565b610ef3565b6040516105929190612b45565b60405180910390f35b3480156105a757600080fd5b506105b0610f11565b6040516105bd9190612c9d565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e89190612d3e565b610f3b565b6040516105fa9190612be9565b60405180910390f35b34801561060f57600080fd5b5061062a600480360381019061062591906129a4565b610fc2565b005b34801561063857600080fd5b50610653600480360381019061064e9190612d11565b61102d565b005b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106966111ef565b73ffffffffffffffffffffffffffffffffffffffff16146106b657600080fd5b600181101580156106c95750600a548111155b610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff90612e16565b60405180910390fd5b80600a8190555050565b60606040518060400160405280600b81526020017f4d6173746552696f736879000000000000000000000000000000000000000000815250905090565b600061076361075c6111ef565b84846111f7565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b60006107b08484846113c2565b610871846107bc6111ef565b61086c8560405180606001604052806028815260200161399360289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108226111ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7c9092919063ffffffff16565b6111f7565b600190509392505050565b60175481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108cc6111ef565b73ffffffffffffffffffffffffffffffffffffffff16146108ec57600080fd5b600181101580156108ff5750600c548111155b61093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093590612ece565b60405180910390fd5b80600c8190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109766111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90612f3a565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a616111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610a8157600080fd5b6000479050610a8f81611ee0565b50565b6000610adc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c565b9050919050565b610aeb6111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90612f3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c776111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610c9757600080fd5b8060158190555050565b60155481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce86111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610d0857600080fd5b610d1130610a92565b8111158015610d205750600081115b610d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5690612fa6565b60405180910390fd5b610d6881611fba565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d9c6111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2090612f3a565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60165481565b60606040518060400160405280600581526020017f4d41534859000000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ec96111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610ee957600080fd5b8060178190555050565b6000610f07610f006111ef565b84846113c2565b6001905092915050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110036111ef565b73ffffffffffffffffffffffffffffffffffffffff161461102357600080fd5b8060168190555050565b6110356111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b990612f3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990613038565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e906130ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ce9061315c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113b59190612be9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611432576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611429906131ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149990613280565b60405180910390fd5b600081116114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114dc90613312565b60405180910390fd5b6114ed610d6b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561155b575061152b610d6b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a805760148054906101000a900460ff166115ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a49061337e565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156116585750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c5573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116c557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117795750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c4576015548111156117c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ba906133ea565b60405180910390fd5b5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118715750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a957503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190657601654816118bb84610a92565b6118c59190613439565b10611905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fc90613501565b60405180910390fd5b5b600061191130610a92565b9050600060175482101590508080156119375750601460159054906101000a900460ff16155b80156119915750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119a95750601460169054906101000a900460ff165b80156119ff5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a555750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7d57611a6382611fba565b60004790506000811115611a7b57611a7a47611ee0565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b275750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611bda5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bd95750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611be85760009050611e6a565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c935750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cef5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d9a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e69576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015611e3b575042613840600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e389190613439565b10155b15611e55576001600d819055506003600e81905550611e68565b600b54600d81905550600c54600e819055505b5b5b611e7684848484612242565b50505050565b6000838311158290611ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebb9190612a6a565b60405180910390fd5b5060008385611ed39190613521565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f48573d6000803e3d6000fd5b5050565b6000600754821115611f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8a906135c7565b60405180910390fd5b6000611f9d61226f565b9050611fb2818461229a90919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ff257611ff16135e7565b5b6040519080825280602002602001820160405280156120205781602001602082028036833780820191505090505b509050308160008151811061203857612037613616565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120da57600080fd5b505afa1580156120ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612112919061365a565b8160018151811061212657612125613616565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061218d30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f7565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121f1959493929190613780565b600060405180830381600087803b15801561220b57600080fd5b505af115801561221f573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b806122505761224f6122e4565b5b61225b848484612327565b80612269576122686124f2565b5b50505050565b600080600061227c612506565b91509150612293818361229a90919063ffffffff16565b9250505090565b60006122dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612565565b905092915050565b6000600d541480156122f857506000600e54145b1561230257612325565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612339876125c8565b95509550955095509550955061239786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263090919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612478816126d8565b6124828483612795565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124df9190612be9565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a7640000905061253a670de0b6b3a764000060075461229a90919063ffffffff16565b82101561255857600754670de0b6b3a7640000935093505050612561565b81819350935050505b9091565b600080831182906125ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a39190612a6a565b60405180910390fd5b50600083856125bb9190613809565b9050809150509392505050565b60008060008060008060008060006125e58a600d54600e546127cf565b92509250925060006125f561226f565b905060008060006126088e878787612865565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061267283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7c565b905092915050565b60008082846126899190613439565b9050838110156126ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c590613886565b60405180910390fd5b8091505092915050565b60006126e261226f565b905060006126f982846128ee90919063ffffffff16565b905061274d81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127aa8260075461263090919063ffffffff16565b6007819055506127c58160085461267a90919063ffffffff16565b6008819055505050565b6000806000806127fb60646127ed888a6128ee90919063ffffffff16565b61229a90919063ffffffff16565b905060006128256064612817888b6128ee90919063ffffffff16565b61229a90919063ffffffff16565b9050600061284e82612840858c61263090919063ffffffff16565b61263090919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061287e85896128ee90919063ffffffff16565b9050600061289586896128ee90919063ffffffff16565b905060006128ac87896128ee90919063ffffffff16565b905060006128d5826128c7858761263090919063ffffffff16565b61263090919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156129015760009050612963565b6000828461290f91906138a6565b905082848261291e9190613809565b1461295e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295590613972565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b6129818161296e565b811461298c57600080fd5b50565b60008135905061299e81612978565b92915050565b6000602082840312156129ba576129b9612969565b5b60006129c88482850161298f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a0b5780820151818401526020810190506129f0565b83811115612a1a576000848401525b50505050565b6000601f19601f8301169050919050565b6000612a3c826129d1565b612a4681856129dc565b9350612a568185602086016129ed565b612a5f81612a20565b840191505092915050565b60006020820190508181036000830152612a848184612a31565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ab782612a8c565b9050919050565b612ac781612aac565b8114612ad257600080fd5b50565b600081359050612ae481612abe565b92915050565b60008060408385031215612b0157612b00612969565b5b6000612b0f85828601612ad5565b9250506020612b208582860161298f565b9150509250929050565b60008115159050919050565b612b3f81612b2a565b82525050565b6000602082019050612b5a6000830184612b36565b92915050565b6000819050919050565b6000612b85612b80612b7b84612a8c565b612b60565b612a8c565b9050919050565b6000612b9782612b6a565b9050919050565b6000612ba982612b8c565b9050919050565b612bb981612b9e565b82525050565b6000602082019050612bd46000830184612bb0565b92915050565b612be38161296e565b82525050565b6000602082019050612bfe6000830184612bda565b92915050565b600080600060608486031215612c1d57612c1c612969565b5b6000612c2b86828701612ad5565b9350506020612c3c86828701612ad5565b9250506040612c4d8682870161298f565b9150509250925092565b600060ff82169050919050565b612c6d81612c57565b82525050565b6000602082019050612c886000830184612c64565b92915050565b612c9781612aac565b82525050565b6000602082019050612cb26000830184612c8e565b92915050565b612cc181612b2a565b8114612ccc57600080fd5b50565b600081359050612cde81612cb8565b92915050565b600060208284031215612cfa57612cf9612969565b5b6000612d0884828501612ccf565b91505092915050565b600060208284031215612d2757612d26612969565b5b6000612d3584828501612ad5565b91505092915050565b60008060408385031215612d5557612d54612969565b5b6000612d6385828601612ad5565b9250506020612d7485828601612ad5565b9150509250929050565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f6275792066656500000000000000000000000000000000000000000000000000604082015250565b6000612e006047836129dc565b9150612e0b82612d7e565b606082019050919050565b60006020820190508181036000830152612e2f81612df3565b9050919050565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f73656c6c20666565000000000000000000000000000000000000000000000000604082015250565b6000612eb86048836129dc565b9150612ec382612e36565b606082019050919050565b60006020820190508181036000830152612ee781612eab565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f246020836129dc565b9150612f2f82612eee565b602082019050919050565b60006020820190508181036000830152612f5381612f17565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000612f90600c836129dc565b9150612f9b82612f5a565b602082019050919050565b60006020820190508181036000830152612fbf81612f83565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130226026836129dc565b915061302d82612fc6565b604082019050919050565b6000602082019050818103600083015261305181613015565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130b46024836129dc565b91506130bf82613058565b604082019050919050565b600060208201905081810360008301526130e3816130a7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131466022836129dc565b9150613151826130ea565b604082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131d86025836129dc565b91506131e38261317c565b604082019050919050565b60006020820190508181036000830152613207816131cb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061326a6023836129dc565b91506132758261320e565b604082019050919050565b600060208201905081810360008301526132998161325d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132fc6029836129dc565b9150613307826132a0565b604082019050919050565b6000602082019050818103600083015261332b816132ef565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006133686018836129dc565b915061337382613332565b602082019050919050565b600060208201905081810360008301526133978161335b565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006133d4601c836129dc565b91506133df8261339e565b602082019050919050565b60006020820190508181036000830152613403816133c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134448261296e565b915061344f8361296e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134845761348361340a565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006134eb6023836129dc565b91506134f68261348f565b604082019050919050565b6000602082019050818103600083015261351a816134de565b9050919050565b600061352c8261296e565b91506135378361296e565b92508282101561354a5761354961340a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135b1602a836129dc565b91506135bc82613555565b604082019050919050565b600060208201905081810360008301526135e0816135a4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061365481612abe565b92915050565b6000602082840312156136705761366f612969565b5b600061367e84828501613645565b91505092915050565b6000819050919050565b60006136ac6136a76136a284613687565b612b60565b61296e565b9050919050565b6136bc81613691565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136f781612aac565b82525050565b600061370983836136ee565b60208301905092915050565b6000602082019050919050565b600061372d826136c2565b61373781856136cd565b9350613742836136de565b8060005b8381101561377357815161375a88826136fd565b975061376583613715565b925050600181019050613746565b5085935050505092915050565b600060a0820190506137956000830188612bda565b6137a260208301876136b3565b81810360408301526137b48186613722565b90506137c36060830185612c8e565b6137d06080830184612bda565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138148261296e565b915061381f8361296e565b92508261382f5761382e6137da565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613870601b836129dc565b915061387b8261383a565b602082019050919050565b6000602082019050818103600083015261389f81613863565b9050919050565b60006138b18261296e565b91506138bc8361296e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138f5576138f461340a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061395c6021836129dc565b915061396782613900565b604082019050919050565b6000602082019050818103600083015261398b8161394f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de182658e214dcd193259269b2dc2a22dce0fbb133094cc0de81bfdfff7ef74564736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c8063715018a6116100ec57806395d89b411161008a578063c04a541411610064578063c04a54141461059b578063dd62ed3e146105c6578063ea1644d514610603578063f2fde38b1461062c576101a7565b806395d89b411461050a57806398a5c31514610535578063a9059cbb1461055e576101a7565b8063881dce60116100c6578063881dce60146104625780638da5cb5b1461048b5780638f70ccf7146104b65780638f9a55c0146104df576101a7565b8063715018a6146103f757806374010ece1461040e5780637d1db4a514610437576101a7565b80632fd689e31161015957806349bd5a5e1161013357806349bd5a5e1461034f5780636d8aa8f81461037a5780636fc3eaec146103a357806370a08231146103ba576101a7565b80632fd689e3146102d0578063313ce567146102fb57806346001d8e14610326576101a7565b8063043a791d146101ac57806306fdde03146101d5578063095ea7b3146102005780631694505e1461023d57806318160ddd1461026857806323b872dd14610293576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101d360048036038101906101ce91906129a4565b610655565b005b3480156101e157600080fd5b506101ea610712565b6040516101f79190612a6a565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612aea565b61074f565b6040516102349190612b45565b60405180910390f35b34801561024957600080fd5b5061025261076d565b60405161025f9190612bbf565b60405180910390f35b34801561027457600080fd5b5061027d610793565b60405161028a9190612be9565b60405180910390f35b34801561029f57600080fd5b506102ba60048036038101906102b59190612c04565b6107a3565b6040516102c79190612b45565b60405180910390f35b3480156102dc57600080fd5b506102e561087c565b6040516102f29190612be9565b60405180910390f35b34801561030757600080fd5b50610310610882565b60405161031d9190612c73565b60405180910390f35b34801561033257600080fd5b5061034d600480360381019061034891906129a4565b61088b565b005b34801561035b57600080fd5b50610364610948565b6040516103719190612c9d565b60405180910390f35b34801561038657600080fd5b506103a1600480360381019061039c9190612ce4565b61096e565b005b3480156103af57600080fd5b506103b8610a20565b005b3480156103c657600080fd5b506103e160048036038101906103dc9190612d11565b610a92565b6040516103ee9190612be9565b60405180910390f35b34801561040357600080fd5b5061040c610ae3565b005b34801561041a57600080fd5b50610435600480360381019061043091906129a4565b610c36565b005b34801561044357600080fd5b5061044c610ca1565b6040516104599190612be9565b60405180910390f35b34801561046e57600080fd5b50610489600480360381019061048491906129a4565b610ca7565b005b34801561049757600080fd5b506104a0610d6b565b6040516104ad9190612c9d565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d89190612ce4565b610d94565b005b3480156104eb57600080fd5b506104f4610e45565b6040516105019190612be9565b60405180910390f35b34801561051657600080fd5b5061051f610e4b565b60405161052c9190612a6a565b60405180910390f35b34801561054157600080fd5b5061055c600480360381019061055791906129a4565b610e88565b005b34801561056a57600080fd5b5061058560048036038101906105809190612aea565b610ef3565b6040516105929190612b45565b60405180910390f35b3480156105a757600080fd5b506105b0610f11565b6040516105bd9190612c9d565b60405180910390f35b3480156105d257600080fd5b506105ed60048036038101906105e89190612d3e565b610f3b565b6040516105fa9190612be9565b60405180910390f35b34801561060f57600080fd5b5061062a600480360381019061062591906129a4565b610fc2565b005b34801561063857600080fd5b50610653600480360381019061064e9190612d11565b61102d565b005b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106966111ef565b73ffffffffffffffffffffffffffffffffffffffff16146106b657600080fd5b600181101580156106c95750600a548111155b610708576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ff90612e16565b60405180910390fd5b80600a8190555050565b60606040518060400160405280600b81526020017f4d6173746552696f736879000000000000000000000000000000000000000000815250905090565b600061076361075c6111ef565b84846111f7565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b60006107b08484846113c2565b610871846107bc6111ef565b61086c8560405180606001604052806028815260200161399360289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108226111ef565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e7c9092919063ffffffff16565b6111f7565b600190509392505050565b60175481565b60006009905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108cc6111ef565b73ffffffffffffffffffffffffffffffffffffffff16146108ec57600080fd5b600181101580156108ff5750600c548111155b61093e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093590612ece565b60405180910390fd5b80600c8190555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109766111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fa90612f3a565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a616111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610a8157600080fd5b6000479050610a8f81611ee0565b50565b6000610adc600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f4c565b9050919050565b610aeb6111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90612f3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c776111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610c9757600080fd5b8060158190555050565b60155481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ce86111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610d0857600080fd5b610d1130610a92565b8111158015610d205750600081115b610d5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5690612fa6565b60405180910390fd5b610d6881611fba565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d9c6111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2090612f3a565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60165481565b60606040518060400160405280600581526020017f4d41534859000000000000000000000000000000000000000000000000000000815250905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ec96111ef565b73ffffffffffffffffffffffffffffffffffffffff1614610ee957600080fd5b8060178190555050565b6000610f07610f006111ef565b84846113c2565b6001905092915050565b6000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110036111ef565b73ffffffffffffffffffffffffffffffffffffffff161461102357600080fd5b8060168190555050565b6110356111ef565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b990612f3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611132576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112990613038565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125e906130ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ce9061315c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113b59190612be9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611432576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611429906131ee565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149990613280565b60405180910390fd5b600081116114e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114dc90613312565b60405180910390fd5b6114ed610d6b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561155b575061152b610d6b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a805760148054906101000a900460ff166115ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a49061337e565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156116585750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c5573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156116c557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561171f5750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156117795750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117c4576015548111156117c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ba906133ea565b60405180910390fd5b5b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118715750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a957503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561190657601654816118bb84610a92565b6118c59190613439565b10611905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fc90613501565b60405180910390fd5b5b600061191130610a92565b9050600060175482101590508080156119375750601460159054906101000a900460ff16155b80156119915750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156119a95750601460169054906101000a900460ff165b80156119ff5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a555750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a7d57611a6382611fba565b60004790506000811115611a7b57611a7a47611ee0565b5b505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b275750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611bda5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bd95750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611be85760009050611e6a565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c935750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cef5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d9a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611e69576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414158015611e3b575042613840600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e389190613439565b10155b15611e55576001600d819055506003600e81905550611e68565b600b54600d81905550600c54600e819055505b5b5b611e7684848484612242565b50505050565b6000838311158290611ec4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebb9190612a6a565b60405180910390fd5b5060008385611ed39190613521565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f48573d6000803e3d6000fd5b5050565b6000600754821115611f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8a906135c7565b60405180910390fd5b6000611f9d61226f565b9050611fb2818461229a90919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ff257611ff16135e7565b5b6040519080825280602002602001820160405280156120205781602001602082028036833780820191505090505b509050308160008151811061203857612037613616565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120da57600080fd5b505afa1580156120ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612112919061365a565b8160018151811061212657612125613616565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061218d30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f7565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121f1959493929190613780565b600060405180830381600087803b15801561220b57600080fd5b505af115801561221f573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b806122505761224f6122e4565b5b61225b848484612327565b80612269576122686124f2565b5b50505050565b600080600061227c612506565b91509150612293818361229a90919063ffffffff16565b9250505090565b60006122dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612565565b905092915050565b6000600d541480156122f857506000600e54145b1561230257612325565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612339876125c8565b95509550955095509550955061239786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461263090919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061242c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267a90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612478816126d8565b6124828483612795565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124df9190612be9565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a7640000905061253a670de0b6b3a764000060075461229a90919063ffffffff16565b82101561255857600754670de0b6b3a7640000935093505050612561565b81819350935050505b9091565b600080831182906125ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a39190612a6a565b60405180910390fd5b50600083856125bb9190613809565b9050809150509392505050565b60008060008060008060008060006125e58a600d54600e546127cf565b92509250925060006125f561226f565b905060008060006126088e878787612865565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061267283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e7c565b905092915050565b60008082846126899190613439565b9050838110156126ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c590613886565b60405180910390fd5b8091505092915050565b60006126e261226f565b905060006126f982846128ee90919063ffffffff16565b905061274d81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267a90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6127aa8260075461263090919063ffffffff16565b6007819055506127c58160085461267a90919063ffffffff16565b6008819055505050565b6000806000806127fb60646127ed888a6128ee90919063ffffffff16565b61229a90919063ffffffff16565b905060006128256064612817888b6128ee90919063ffffffff16565b61229a90919063ffffffff16565b9050600061284e82612840858c61263090919063ffffffff16565b61263090919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061287e85896128ee90919063ffffffff16565b9050600061289586896128ee90919063ffffffff16565b905060006128ac87896128ee90919063ffffffff16565b905060006128d5826128c7858761263090919063ffffffff16565b61263090919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156129015760009050612963565b6000828461290f91906138a6565b905082848261291e9190613809565b1461295e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295590613972565b60405180910390fd5b809150505b92915050565b600080fd5b6000819050919050565b6129818161296e565b811461298c57600080fd5b50565b60008135905061299e81612978565b92915050565b6000602082840312156129ba576129b9612969565b5b60006129c88482850161298f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a0b5780820151818401526020810190506129f0565b83811115612a1a576000848401525b50505050565b6000601f19601f8301169050919050565b6000612a3c826129d1565b612a4681856129dc565b9350612a568185602086016129ed565b612a5f81612a20565b840191505092915050565b60006020820190508181036000830152612a848184612a31565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ab782612a8c565b9050919050565b612ac781612aac565b8114612ad257600080fd5b50565b600081359050612ae481612abe565b92915050565b60008060408385031215612b0157612b00612969565b5b6000612b0f85828601612ad5565b9250506020612b208582860161298f565b9150509250929050565b60008115159050919050565b612b3f81612b2a565b82525050565b6000602082019050612b5a6000830184612b36565b92915050565b6000819050919050565b6000612b85612b80612b7b84612a8c565b612b60565b612a8c565b9050919050565b6000612b9782612b6a565b9050919050565b6000612ba982612b8c565b9050919050565b612bb981612b9e565b82525050565b6000602082019050612bd46000830184612bb0565b92915050565b612be38161296e565b82525050565b6000602082019050612bfe6000830184612bda565b92915050565b600080600060608486031215612c1d57612c1c612969565b5b6000612c2b86828701612ad5565b9350506020612c3c86828701612ad5565b9250506040612c4d8682870161298f565b9150509250925092565b600060ff82169050919050565b612c6d81612c57565b82525050565b6000602082019050612c886000830184612c64565b92915050565b612c9781612aac565b82525050565b6000602082019050612cb26000830184612c8e565b92915050565b612cc181612b2a565b8114612ccc57600080fd5b50565b600081359050612cde81612cb8565b92915050565b600060208284031215612cfa57612cf9612969565b5b6000612d0884828501612ccf565b91505092915050565b600060208284031215612d2757612d26612969565b5b6000612d3584828501612ad5565b91505092915050565b60008060408385031215612d5557612d54612969565b5b6000612d6385828601612ad5565b9250506020612d7485828601612ad5565b9150509250929050565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f6275792066656500000000000000000000000000000000000000000000000000604082015250565b6000612e006047836129dc565b9150612e0b82612d7e565b606082019050919050565b60006020820190508181036000830152612e2f81612df3565b9050919050565b7f54686520616d6f756e74206e6565647320746f2062652067726561746572207460008201527f68616e203120616e64206c657373207468616e207468652063757272656e742060208201527f73656c6c20666565000000000000000000000000000000000000000000000000604082015250565b6000612eb86048836129dc565b9150612ec382612e36565b606082019050919050565b60006020820190508181036000830152612ee781612eab565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f246020836129dc565b9150612f2f82612eee565b602082019050919050565b60006020820190508181036000830152612f5381612f17565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b6000612f90600c836129dc565b9150612f9b82612f5a565b602082019050919050565b60006020820190508181036000830152612fbf81612f83565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130226026836129dc565b915061302d82612fc6565b604082019050919050565b6000602082019050818103600083015261305181613015565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130b46024836129dc565b91506130bf82613058565b604082019050919050565b600060208201905081810360008301526130e3816130a7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006131466022836129dc565b9150613151826130ea565b604082019050919050565b6000602082019050818103600083015261317581613139565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006131d86025836129dc565b91506131e38261317c565b604082019050919050565b60006020820190508181036000830152613207816131cb565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061326a6023836129dc565b91506132758261320e565b604082019050919050565b600060208201905081810360008301526132998161325d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006132fc6029836129dc565b9150613307826132a0565b604082019050919050565b6000602082019050818103600083015261332b816132ef565b9050919050565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b60006133686018836129dc565b915061337382613332565b602082019050919050565b600060208201905081810360008301526133978161335b565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006133d4601c836129dc565b91506133df8261339e565b602082019050919050565b60006020820190508181036000830152613403816133c7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134448261296e565b915061344f8361296e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134845761348361340a565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006134eb6023836129dc565b91506134f68261348f565b604082019050919050565b6000602082019050818103600083015261351a816134de565b9050919050565b600061352c8261296e565b91506135378361296e565b92508282101561354a5761354961340a565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006135b1602a836129dc565b91506135bc82613555565b604082019050919050565b600060208201905081810360008301526135e0816135a4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061365481612abe565b92915050565b6000602082840312156136705761366f612969565b5b600061367e84828501613645565b91505092915050565b6000819050919050565b60006136ac6136a76136a284613687565b612b60565b61296e565b9050919050565b6136bc81613691565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6136f781612aac565b82525050565b600061370983836136ee565b60208301905092915050565b6000602082019050919050565b600061372d826136c2565b61373781856136cd565b9350613742836136de565b8060005b8381101561377357815161375a88826136fd565b975061376583613715565b925050600181019050613746565b5085935050505092915050565b600060a0820190506137956000830188612bda565b6137a260208301876136b3565b81810360408301526137b48186613722565b90506137c36060830185612c8e565b6137d06080830184612bda565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006138148261296e565b915061381f8361296e565b92508261382f5761382e6137da565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613870601b836129dc565b915061387b8261383a565b602082019050919050565b6000602082019050818103600083015261389f81613863565b9050919050565b60006138b18261296e565b91506138bc8361296e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138f5576138f461340a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061395c6021836129dc565b915061396782613900565b604082019050919050565b6000602082019050818103600083015261398b8161394f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220de182658e214dcd193259269b2dc2a22dce0fbb133094cc0de81bfdfff7ef74564736f6c63430008090033

Deployed Bytecode Sourcemap

15846:13520:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28799:277;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18244:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19281:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17113:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18521:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19482:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17419:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18430:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;29082:281;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17161:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28349:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24723:198;;;;;;;;;;;;;:::i;:::-;;18624:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13325:148;;;;;;;;;;;;;:::i;:::-;;28462:155;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17311:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24488:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13111:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24379:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17364:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18335:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24076:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18882:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18770:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19089:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;28629:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13485:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;28799:277;28884:19;;;;;;;;;;;28868:35;;:12;:10;:12::i;:::-;:35;;;28860:44;;;;;;28933:1;28923:6;:11;;:37;;;;;28948:12;;28938:6;:22;;28923:37;28915:121;;;;;;;;;;;;:::i;:::-;;;;;;;;;29062:6;29047:12;:21;;;;28799:277;:::o;18244:83::-;18281:13;18314:5;;;;;;;;;;;;;;;;;18307:12;;18244:83;:::o;19281:193::-;19383:4;19405:39;19414:12;:10;:12::i;:::-;19428:7;19437:6;19405:8;:39::i;:::-;19462:4;19455:11;;19281:193;;;;:::o;17113:41::-;;;;;;;;;;;;;:::o;18521:95::-;18574:7;16455:11;18594:14;;18521:95;:::o;19482:446::-;19614:4;19631:36;19641:6;19649:9;19660:6;19631:9;:36::i;:::-;19678:220;19701:6;19722:12;:10;:12::i;:::-;19749:138;19805:6;19749:138;;;;;;;;;;;;;;;;;:11;:19;19761:6;19749:19;;;;;;;;;;;;;;;:33;19769:12;:10;:12::i;:::-;19749:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;19678:8;:220::i;:::-;19916:4;19909:11;;19482:446;;;;;:::o;17419:48::-;;;;:::o;18430:83::-;18471:5;16078:1;18489:16;;18430:83;:::o;29082:281::-;29168:19;;;;;;;;;;;29152:35;;:12;:10;:12::i;:::-;:35;;;29144:44;;;;;;29217:1;29207:6;:11;;:38;;;;;29232:13;;29222:6;:23;;29207:38;29199:123;;;;;;;;;;;;:::i;:::-;;;;;;;;;29349:6;29333:13;:22;;;;29082:281;:::o;17161:28::-;;;;;;;;;;;;;:::o;28349:101::-;13248:12;:10;:12::i;:::-;13238:22;;:6;;;;;;;;;;:22;;;13230:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;28430:12:::1;28416:11;;:26;;;;;;;;;;;;;;;;;;28349:101:::0;:::o;24723:198::-;24789:19;;;;;;;;;;;24773:35;;:12;:10;:12::i;:::-;:35;;;24765:44;;;;;;24820:26;24849:21;24820:50;;24881:32;24894:18;24881:12;:32::i;:::-;24754:167;24723:198::o;18624:138::-;18690:7;18717:37;18737:7;:16;18745:7;18737:16;;;;;;;;;;;;;;;;18717:19;:37::i;:::-;18710:44;;18624:138;;;:::o;13325:148::-;13248:12;:10;:12::i;:::-;13238:22;;:6;;;;;;;;;;:22;;;13230:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13432:1:::1;13395:40;;13416:6;::::0;::::1;;;;;;;;13395:40;;;;;;;;;;;;13463:1;13446:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;13325:148::o:0;28462:155::-;28552:19;;;;;;;;;;;28536:35;;:12;:10;:12::i;:::-;:35;;;28528:44;;;;;;28598:11;28583:12;:26;;;;28462:155;:::o;17311:41::-;;;;:::o;24488:227::-;24568:19;;;;;;;;;;;24552:35;;:12;:10;:12::i;:::-;:35;;;24544:44;;;;;;24617:24;24635:4;24617:9;:24::i;:::-;24607:6;:34;;:48;;;;;24654:1;24645:6;:10;24607:48;24599:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;24683:24;24700:6;24683:16;:24::i;:::-;24488:227;:::o;13111:79::-;13149:7;13176:6;;;;;;;;;;;13169:13;;13111:79;:::o;24379:101::-;13248:12;:10;:12::i;:::-;13238:22;;:6;;;;;;;;;;:22;;;13230:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;24460:12:::1;24446:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;24379:101:::0;:::o;17364:43::-;;;;:::o;18335:87::-;18374:13;18407:7;;;;;;;;;;;;;;;;;18400:14;;18335:87;:::o;24076:186::-;24183:19;;;;;;;;;;;24167:35;;:12;:10;:12::i;:::-;:35;;;24159:44;;;;;;24236:18;24214:19;:40;;;;24076:186;:::o;18882:199::-;18987:4;19009:42;19019:12;:10;:12::i;:::-;19033:9;19044:6;19009:9;:42::i;:::-;19069:4;19062:11;;18882:199;;;;:::o;18770:104::-;18820:7;18847:19;;;;;;;;;;;18840:26;;18770:104;:::o;19089:184::-;19206:7;19238:11;:18;19250:5;19238:18;;;;;;;;;;;;;;;:27;19257:7;19238:27;;;;;;;;;;;;;;;;19231:34;;19089:184;;;;:::o;28629:162::-;28722:19;;;;;;;;;;;28706:35;;:12;:10;:12::i;:::-;:35;;;28698:44;;;;;;28770:13;28753:14;:30;;;;28629:162;:::o;13485:244::-;13248:12;:10;:12::i;:::-;13238:22;;:6;;;;;;;;;;:22;;;13230:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13594:1:::1;13574:22;;:8;:22;;;;13566:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;13684:8;13655:38;;13676:6;::::0;::::1;;;;;;;;13655:38;;;;;;;;;;;;13713:8;13704:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;13485:244:::0;:::o;11870:98::-;11923:7;11950:10;11943:17;;11870:98;:::o;20631:369::-;20775:1;20758:19;;:5;:19;;;;20750:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20856:1;20837:21;;:7;:21;;;;20829:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;20938:6;20908:11;:18;20920:5;20908:18;;;;;;;;;;;;;;;:27;20927:7;20908:27;;;;;;;;;;;;;;;:36;;;;20976:7;20960:32;;20969:5;20960:32;;;20985:6;20960:32;;;;;;:::i;:::-;;;;;;;;20631:369;;;:::o;21008:2565::-;21146:1;21130:18;;:4;:18;;;;21122:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;21223:1;21209:16;;:2;:16;;;;21201:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;21293:1;21284:6;:10;21276:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;21365:7;:5;:7::i;:::-;21357:15;;:4;:15;;;;:32;;;;;21382:7;:5;:7::i;:::-;21376:13;;:2;:13;;;;21357:32;21353:1302;;;21425:11;;;;;;;;;;21420:99;;21457:34;;;;;;;;;;:::i;:::-;;;;;;;;21420:99;21557:13;;;;;;;;;;;21551:19;;:2;:19;;;:55;;;;;21590:15;;;;;;;;;;;21574:32;;:4;:32;;;;21551:55;21547:311;;;21645:4;21631:19;;:2;:19;;;;:44;;;;;21670:4;21654:21;;:4;:21;;;;21631:44;:73;;;;;21685:19;;;;;;;;;;;21679:25;;:2;:25;;;;21631:73;:104;;;;;21716:19;;;;;;;;;;;21708:27;;:4;:27;;;;21631:104;21627:216;;;21778:12;;21768:6;:22;;21760:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;21627:216;21547:311;21884:13;;;;;;;;;;;21878:19;;:2;:19;;;;:48;;;;;21907:19;;;;;;;;;;;21901:25;;:2;:25;;;;21878:48;:71;;;;;21944:4;21930:19;;:2;:19;;;;21878:71;21874:199;;;22003:14;;21994:6;21978:13;21988:2;21978:9;:13::i;:::-;:22;;;;:::i;:::-;:39;21970:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;21874:199;22101:28;22132:24;22150:4;22132:9;:24::i;:::-;22101:55;;22171:12;22210:19;;22186:20;:43;;22171:58;;22262:7;:18;;;;;22274:6;;;;;;;;;;;22273:7;22262:18;:43;;;;;22292:13;;;;;;;;;;;22284:21;;:4;:21;;;;22262:43;:58;;;;;22309:11;;;;;;;;;;;22262:58;:87;;;;;22325:18;:24;22344:4;22325:24;;;;;;;;;;;;;;;;;;;;;;;;;22324:25;22262:87;:114;;;;;22354:18;:22;22373:2;22354:22;;;;;;;;;;;;;;;;;;;;;;;;;22353:23;22262:114;22258:386;;;22397:38;22414:20;22397:16;:38::i;:::-;22454:26;22483:21;22454:50;;22548:1;22527:18;:22;22523:106;;;22574:35;22587:21;22574:12;:35::i;:::-;22523:106;22378:266;22258:386;21391:1264;;21353:1302;22675:12;22690:4;22675:19;;22712:18;:24;22731:4;22712:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;22740:18;:22;22759:2;22740:22;;;;;;;;;;;;;;;;;;;;;;;;;22712:50;22711:102;;;;22776:13;;;;;;;;;;;22768:21;;:4;:21;;;;:44;;;;;22799:13;;;;;;;;;;;22793:19;;:2;:19;;;;22768:44;22711:102;22707:805;;;22840:5;22830:15;;22707:805;;;22889:13;;;;;;;;;;;22881:21;;:4;:21;;;:55;;;;;22920:15;;;;;;;;;;;22906:30;;:2;:30;;;;22881:55;22878:222;;;22975:15;22961:7;:11;22969:2;22961:11;;;;;;;;;;;;;;;:29;;;;23025:14;;23013:9;:26;;;;23072:12;;23062:7;:22;;;;22878:222;23130:13;;;;;;;;;;;23124:19;;:2;:19;;;:55;;;;;23163:15;;;;;;;;;;;23147:32;;:4;:32;;;;23124:55;23120:381;;;23221:1;23204:7;:13;23212:4;23204:13;;;;;;;;;;;;;;;;:18;;:68;;;;;23256:15;23244:7;23227;:13;23235:4;23227:13;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;:44;;23204:68;23200:286;;;23309:1;23297:9;:13;;;;23343:1;23333:7;:11;;;;23200:286;;;23405:15;;23393:9;:27;;;;23453:13;;23443:7;:23;;;;23200:286;23120:381;22707:805;23524:41;23539:4;23545:2;23549:6;23557:7;23524:14;:41::i;:::-;21111:2462;21008:2565;;;:::o;14097:224::-;14217:7;14250:1;14245;:6;;14253:12;14237:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;14277:9;14293:1;14289;:5;;;;:::i;:::-;14277:17;;14312:1;14305:8;;;14097:224;;;;;:::o;24270:101::-;24327:19;;;;;;;;;;;:28;;:36;24356:6;24327:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24270:101;:::o;19936:323::-;20031:7;20089;;20078;:18;;20056:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;20177:19;20199:10;:8;:10::i;:::-;20177:32;;20227:24;20239:11;20227:7;:11;;:24;;;;:::i;:::-;20220:31;;;19936:323;;;:::o;23581:483::-;17578:4;17569:6;;:13;;;;;;;;;;;;;;;;;;23659:21:::1;23697:1;23683:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23659:40;;23728:4;23710;23715:1;23710:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;23754:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23744:4;23749:1;23744:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;23787:62;23804:4;23819:15;;;;;;;;;;;23837:11;23787:8;:62::i;:::-;23860:15;;;;;;;;;;;:66;;;23941:11;23967:1;23983:4;24010;24030:15;23860:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23648:416;17614:5:::0;17605:6;;:14;;;;;;;;;;;;;;;;;;23581:483;:::o;24929:282::-;25085:7;25080:28;;25094:14;:12;:14::i;:::-;25080:28;25119:44;25137:6;25145:9;25156:6;25119:17;:44::i;:::-;25179:7;25174:29;;25188:15;:13;:15::i;:::-;25174:29;24929:282;;;;:::o;27904:166::-;27946:7;27967:15;27984;28003:19;:17;:19::i;:::-;27966:56;;;;28042:20;28054:7;28042;:11;;:20;;;;:::i;:::-;28035:27;;;;27904:166;:::o;14583:132::-;14641:7;14668:39;14672:1;14675;14668:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;14661:46;;14583:132;;;;:::o;20267:231::-;20327:1;20314:9;;:14;:30;;;;;20343:1;20332:7;;:12;20314:30;20310:43;;;20346:7;;20310:43;20389:9;;20369:17;:29;;;;20427:7;;20409:15;:25;;;;20467:1;20455:9;:13;;;;20489:1;20479:7;:11;;;;20267:231;:::o;25219:610::-;25366:15;25396:23;25434:12;25461:23;25499:12;25526:13;25553:19;25564:7;25553:10;:19::i;:::-;25351:221;;;;;;;;;;;;25601:28;25621:7;25601;:15;25609:6;25601:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;25583:7;:15;25591:6;25583:15;;;;;;;;;;;;;;;:46;;;;25661:39;25684:15;25661:7;:18;25669:9;25661:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;25640:7;:18;25648:9;25640:18;;;;;;;;;;;;;;;:60;;;;25711:16;25721:5;25711:9;:16::i;:::-;25738:23;25750:4;25756;25738:11;:23::i;:::-;25794:9;25777:44;;25786:6;25777:44;;;25805:15;25777:44;;;;;;:::i;:::-;;;;;;;;25340:489;;;;;;25219:610;;;:::o;20506:117::-;20562:17;;20550:9;:29;;;;20600:15;;20590:7;:25;;;;20506:117::o;28078:263::-;28129:7;28138;28158:15;28176:7;;28158:25;;28194:15;16455:11;28194:25;;28244:20;16455:11;28244:7;;:11;;:20;;;;:::i;:::-;28234:7;:30;28230:61;;;28274:7;;16455:11;28266:25;;;;;;;;28230:61;28316:7;28325;28308:25;;;;;;28078:263;;;:::o;14723:223::-;14843:7;14875:1;14871;:5;14878:12;14863:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;14902:9;14918:1;14914;:5;;;;:::i;:::-;14902:17;;14937:1;14930:8;;;14723:223;;;;;:::o;26248:625::-;26348:7;26370;26392;26414;26436;26458;26494:23;26519:12;26533:13;26563:40;26575:7;26584:9;;26595:7;;26563:11;:40::i;:::-;26493:110;;;;;;26614:19;26636:10;:8;:10::i;:::-;26614:32;;26658:15;26675:23;26700:12;26729:46;26741:7;26750:4;26756:5;26763:11;26729;:46::i;:::-;26657:118;;;;;;26804:7;26813:15;26830:4;26836:15;26853:4;26859:5;26796:69;;;;;;;;;;;;;;;;;;;26248:625;;;;;;;:::o;13953:136::-;14011:7;14038:43;14042:1;14045;14038:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;14031:50;;13953:136;;;;:::o;13766:179::-;13824:7;13844:9;13860:1;13856;:5;;;;:::i;:::-;13844:17;;13885:1;13880;:6;;13872:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;13936:1;13929:8;;;13766:179;;;;:::o;25837:211::-;25890:19;25912:10;:8;:10::i;:::-;25890:32;;25933:13;25949:22;25959:11;25949:5;:9;;:22;;;;:::i;:::-;25933:38;;26007:33;26034:5;26007:7;:22;26023:4;26007:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;25982:7;:22;25998:4;25982:22;;;;;;;;;;;;;;;:58;;;;25879:169;;25837:211;:::o;26056:147::-;26134:17;26146:4;26134:7;;:11;;:17;;;;:::i;:::-;26124:7;:27;;;;26175:20;26190:4;26175:10;;:14;;:20;;;;:::i;:::-;26162:10;:33;;;;26056:147;;:::o;26881:471::-;27050:7;27072;27094;27129:12;27144:30;27170:3;27144:21;27156:8;27144:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;27129:45;;27185:13;27201:28;27225:3;27201:19;27213:6;27201:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;27185:44;;27240:23;27266:28;27288:5;27266:17;27278:4;27266:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;27240:54;;27315:15;27332:4;27338:5;27307:37;;;;;;;;;26881:471;;;;;;;:::o;27360:536::-;27554:7;27576;27598;27633:15;27651:24;27663:11;27651:7;:11;;:24;;;;:::i;:::-;27633:42;;27686:12;27701:21;27710:11;27701:4;:8;;:21;;;;:::i;:::-;27686:36;;27733:13;27749:22;27759:11;27749:5;:9;;:22;;;;:::i;:::-;27733:38;;27782:23;27808:28;27830:5;27808:17;27820:4;27808:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;27782:54;;27857:7;27866:15;27883:4;27849:39;;;;;;;;;;27360:536;;;;;;;;:::o;14329:246::-;14387:7;14416:1;14411;:6;14407:47;;;14441:1;14434:8;;;;14407:47;14464:9;14480:1;14476;:5;;;;:::i;:::-;14464:17;;14509:1;14504;14500;:5;;;;:::i;:::-;:10;14492:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;14566:1;14559:8;;;14329:246;;;;;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:99::-;1077:6;1111:5;1105:12;1095:22;;1025:99;;;:::o;1130:169::-;1214:11;1248:6;1243:3;1236:19;1288:4;1283:3;1279:14;1264:29;;1130:169;;;;:::o;1305:307::-;1373:1;1383:113;1397:6;1394:1;1391:13;1383:113;;;1482:1;1477:3;1473:11;1467:18;1463:1;1458:3;1454:11;1447:39;1419:2;1416:1;1412:10;1407:15;;1383:113;;;1514:6;1511:1;1508:13;1505:101;;;1594:1;1585:6;1580:3;1576:16;1569:27;1505:101;1354:258;1305:307;;;:::o;1618:102::-;1659:6;1710:2;1706:7;1701:2;1694:5;1690:14;1686:28;1676:38;;1618:102;;;:::o;1726:364::-;1814:3;1842:39;1875:5;1842:39;:::i;:::-;1897:71;1961:6;1956:3;1897:71;:::i;:::-;1890:78;;1977:52;2022:6;2017:3;2010:4;2003:5;1999:16;1977:52;:::i;:::-;2054:29;2076:6;2054:29;:::i;:::-;2049:3;2045:39;2038:46;;1818:272;1726:364;;;;:::o;2096:313::-;2209:4;2247:2;2236:9;2232:18;2224:26;;2296:9;2290:4;2286:20;2282:1;2271:9;2267:17;2260:47;2324:78;2397:4;2388:6;2324:78;:::i;:::-;2316:86;;2096:313;;;;:::o;2415:126::-;2452:7;2492:42;2485:5;2481:54;2470:65;;2415:126;;;:::o;2547:96::-;2584:7;2613:24;2631:5;2613:24;:::i;:::-;2602:35;;2547:96;;;:::o;2649:122::-;2722:24;2740:5;2722:24;:::i;:::-;2715:5;2712:35;2702:63;;2761:1;2758;2751:12;2702:63;2649:122;:::o;2777:139::-;2823:5;2861:6;2848:20;2839:29;;2877:33;2904:5;2877:33;:::i;:::-;2777:139;;;;:::o;2922:474::-;2990:6;2998;3047:2;3035:9;3026:7;3022:23;3018:32;3015:119;;;3053:79;;:::i;:::-;3015:119;3173:1;3198:53;3243:7;3234:6;3223:9;3219:22;3198:53;:::i;:::-;3188:63;;3144:117;3300:2;3326:53;3371:7;3362:6;3351:9;3347:22;3326:53;:::i;:::-;3316:63;;3271:118;2922:474;;;;;:::o;3402:90::-;3436:7;3479:5;3472:13;3465:21;3454:32;;3402:90;;;:::o;3498:109::-;3579:21;3594:5;3579:21;:::i;:::-;3574:3;3567:34;3498:109;;:::o;3613:210::-;3700:4;3738:2;3727:9;3723:18;3715:26;;3751:65;3813:1;3802:9;3798:17;3789:6;3751:65;:::i;:::-;3613:210;;;;:::o;3829:60::-;3857:3;3878:5;3871:12;;3829:60;;;:::o;3895:142::-;3945:9;3978:53;3996:34;4005:24;4023:5;4005:24;:::i;:::-;3996:34;:::i;:::-;3978:53;:::i;:::-;3965:66;;3895:142;;;:::o;4043:126::-;4093:9;4126:37;4157:5;4126:37;:::i;:::-;4113:50;;4043:126;;;:::o;4175:152::-;4251:9;4284:37;4315:5;4284:37;:::i;:::-;4271:50;;4175:152;;;:::o;4333:183::-;4446:63;4503:5;4446:63;:::i;:::-;4441:3;4434:76;4333:183;;:::o;4522:274::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:97;4786:1;4775:9;4771:17;4762:6;4692:97;:::i;:::-;4522:274;;;;:::o;4802:118::-;4889:24;4907:5;4889:24;:::i;:::-;4884:3;4877:37;4802:118;;:::o;4926:222::-;5019:4;5057:2;5046:9;5042:18;5034:26;;5070:71;5138:1;5127:9;5123:17;5114:6;5070:71;:::i;:::-;4926:222;;;;:::o;5154:619::-;5231:6;5239;5247;5296:2;5284:9;5275:7;5271:23;5267:32;5264:119;;;5302:79;;:::i;:::-;5264:119;5422:1;5447:53;5492:7;5483:6;5472:9;5468:22;5447:53;:::i;:::-;5437:63;;5393:117;5549:2;5575:53;5620:7;5611:6;5600:9;5596:22;5575:53;:::i;:::-;5565:63;;5520:118;5677:2;5703:53;5748:7;5739:6;5728:9;5724:22;5703:53;:::i;:::-;5693:63;;5648:118;5154:619;;;;;:::o;5779:86::-;5814:7;5854:4;5847:5;5843:16;5832:27;;5779:86;;;:::o;5871:112::-;5954:22;5970:5;5954:22;:::i;:::-;5949:3;5942:35;5871:112;;:::o;5989:214::-;6078:4;6116:2;6105:9;6101:18;6093:26;;6129:67;6193:1;6182:9;6178:17;6169:6;6129:67;:::i;:::-;5989:214;;;;:::o;6209:118::-;6296:24;6314:5;6296:24;:::i;:::-;6291:3;6284:37;6209:118;;:::o;6333:222::-;6426:4;6464:2;6453:9;6449:18;6441:26;;6477:71;6545:1;6534:9;6530:17;6521:6;6477:71;:::i;:::-;6333:222;;;;:::o;6561:116::-;6631:21;6646:5;6631:21;:::i;:::-;6624:5;6621:32;6611:60;;6667:1;6664;6657:12;6611:60;6561:116;:::o;6683:133::-;6726:5;6764:6;6751:20;6742:29;;6780:30;6804:5;6780:30;:::i;:::-;6683:133;;;;:::o;6822:323::-;6878:6;6927:2;6915:9;6906:7;6902:23;6898:32;6895:119;;;6933:79;;:::i;:::-;6895:119;7053:1;7078:50;7120:7;7111:6;7100:9;7096:22;7078:50;:::i;:::-;7068:60;;7024:114;6822:323;;;;:::o;7151:329::-;7210:6;7259:2;7247:9;7238:7;7234:23;7230:32;7227:119;;;7265:79;;:::i;:::-;7227:119;7385:1;7410:53;7455:7;7446:6;7435:9;7431:22;7410:53;:::i;:::-;7400:63;;7356:117;7151:329;;;;:::o;7486:474::-;7554:6;7562;7611:2;7599:9;7590:7;7586:23;7582:32;7579:119;;;7617:79;;:::i;:::-;7579:119;7737:1;7762:53;7807:7;7798:6;7787:9;7783:22;7762:53;:::i;:::-;7752:63;;7708:117;7864:2;7890:53;7935:7;7926:6;7915:9;7911:22;7890:53;:::i;:::-;7880:63;;7835:118;7486:474;;;;;:::o;7966:295::-;8106:34;8102:1;8094:6;8090:14;8083:58;8175:34;8170:2;8162:6;8158:15;8151:59;8244:9;8239:2;8231:6;8227:15;8220:34;7966:295;:::o;8267:366::-;8409:3;8430:67;8494:2;8489:3;8430:67;:::i;:::-;8423:74;;8506:93;8595:3;8506:93;:::i;:::-;8624:2;8619:3;8615:12;8608:19;;8267:366;;;:::o;8639:419::-;8805:4;8843:2;8832:9;8828:18;8820:26;;8892:9;8886:4;8882:20;8878:1;8867:9;8863:17;8856:47;8920:131;9046:4;8920:131;:::i;:::-;8912:139;;8639:419;;;:::o;9064:296::-;9204:34;9200:1;9192:6;9188:14;9181:58;9273:34;9268:2;9260:6;9256:15;9249:59;9342:10;9337:2;9329:6;9325:15;9318:35;9064:296;:::o;9366:366::-;9508:3;9529:67;9593:2;9588:3;9529:67;:::i;:::-;9522:74;;9605:93;9694:3;9605:93;:::i;:::-;9723:2;9718:3;9714:12;9707:19;;9366:366;;;:::o;9738:419::-;9904:4;9942:2;9931:9;9927:18;9919:26;;9991:9;9985:4;9981:20;9977:1;9966:9;9962:17;9955:47;10019:131;10145:4;10019:131;:::i;:::-;10011:139;;9738:419;;;:::o;10163:182::-;10303:34;10299:1;10291:6;10287:14;10280:58;10163:182;:::o;10351:366::-;10493:3;10514:67;10578:2;10573:3;10514:67;:::i;:::-;10507:74;;10590:93;10679:3;10590:93;:::i;:::-;10708:2;10703:3;10699:12;10692:19;;10351:366;;;:::o;10723:419::-;10889:4;10927:2;10916:9;10912:18;10904:26;;10976:9;10970:4;10966:20;10962:1;10951:9;10947:17;10940:47;11004:131;11130:4;11004:131;:::i;:::-;10996:139;;10723:419;;;:::o;11148:162::-;11288:14;11284:1;11276:6;11272:14;11265:38;11148:162;:::o;11316:366::-;11458:3;11479:67;11543:2;11538:3;11479:67;:::i;:::-;11472:74;;11555:93;11644:3;11555:93;:::i;:::-;11673:2;11668:3;11664:12;11657:19;;11316:366;;;:::o;11688:419::-;11854:4;11892:2;11881:9;11877:18;11869:26;;11941:9;11935:4;11931:20;11927:1;11916:9;11912:17;11905:47;11969:131;12095:4;11969:131;:::i;:::-;11961:139;;11688:419;;;:::o;12113:225::-;12253:34;12249:1;12241:6;12237:14;12230:58;12322:8;12317:2;12309:6;12305:15;12298:33;12113:225;:::o;12344:366::-;12486:3;12507:67;12571:2;12566:3;12507:67;:::i;:::-;12500:74;;12583:93;12672:3;12583:93;:::i;:::-;12701:2;12696:3;12692:12;12685:19;;12344:366;;;:::o;12716:419::-;12882:4;12920:2;12909:9;12905:18;12897:26;;12969:9;12963:4;12959:20;12955:1;12944:9;12940:17;12933:47;12997:131;13123:4;12997:131;:::i;:::-;12989:139;;12716:419;;;:::o;13141:223::-;13281:34;13277:1;13269:6;13265:14;13258:58;13350:6;13345:2;13337:6;13333:15;13326:31;13141:223;:::o;13370:366::-;13512:3;13533:67;13597:2;13592:3;13533:67;:::i;:::-;13526:74;;13609:93;13698:3;13609:93;:::i;:::-;13727:2;13722:3;13718:12;13711:19;;13370:366;;;:::o;13742:419::-;13908:4;13946:2;13935:9;13931:18;13923:26;;13995:9;13989:4;13985:20;13981:1;13970:9;13966:17;13959:47;14023:131;14149:4;14023:131;:::i;:::-;14015:139;;13742:419;;;:::o;14167:221::-;14307:34;14303:1;14295:6;14291:14;14284:58;14376:4;14371:2;14363:6;14359:15;14352:29;14167:221;:::o;14394:366::-;14536:3;14557:67;14621:2;14616:3;14557:67;:::i;:::-;14550:74;;14633:93;14722:3;14633:93;:::i;:::-;14751:2;14746:3;14742:12;14735:19;;14394:366;;;:::o;14766:419::-;14932:4;14970:2;14959:9;14955:18;14947:26;;15019:9;15013:4;15009:20;15005:1;14994:9;14990:17;14983:47;15047:131;15173:4;15047:131;:::i;:::-;15039:139;;14766:419;;;:::o;15191:224::-;15331:34;15327:1;15319:6;15315:14;15308:58;15400:7;15395:2;15387:6;15383:15;15376:32;15191:224;:::o;15421:366::-;15563:3;15584:67;15648:2;15643:3;15584:67;:::i;:::-;15577:74;;15660:93;15749:3;15660:93;:::i;:::-;15778:2;15773:3;15769:12;15762:19;;15421:366;;;:::o;15793:419::-;15959:4;15997:2;15986:9;15982:18;15974:26;;16046:9;16040:4;16036:20;16032:1;16021:9;16017:17;16010:47;16074:131;16200:4;16074:131;:::i;:::-;16066:139;;15793:419;;;:::o;16218:222::-;16358:34;16354:1;16346:6;16342:14;16335:58;16427:5;16422:2;16414:6;16410:15;16403:30;16218:222;:::o;16446:366::-;16588:3;16609:67;16673:2;16668:3;16609:67;:::i;:::-;16602:74;;16685:93;16774:3;16685:93;:::i;:::-;16803:2;16798:3;16794:12;16787:19;;16446:366;;;:::o;16818:419::-;16984:4;17022:2;17011:9;17007:18;16999:26;;17071:9;17065:4;17061:20;17057:1;17046:9;17042:17;17035:47;17099:131;17225:4;17099:131;:::i;:::-;17091:139;;16818:419;;;:::o;17243:228::-;17383:34;17379:1;17371:6;17367:14;17360:58;17452:11;17447:2;17439:6;17435:15;17428:36;17243:228;:::o;17477:366::-;17619:3;17640:67;17704:2;17699:3;17640:67;:::i;:::-;17633:74;;17716:93;17805:3;17716:93;:::i;:::-;17834:2;17829:3;17825:12;17818:19;;17477:366;;;:::o;17849:419::-;18015:4;18053:2;18042:9;18038:18;18030:26;;18102:9;18096:4;18092:20;18088:1;18077:9;18073:17;18066:47;18130:131;18256:4;18130:131;:::i;:::-;18122:139;;17849:419;;;:::o;18274:174::-;18414:26;18410:1;18402:6;18398:14;18391:50;18274:174;:::o;18454:366::-;18596:3;18617:67;18681:2;18676:3;18617:67;:::i;:::-;18610:74;;18693:93;18782:3;18693:93;:::i;:::-;18811:2;18806:3;18802:12;18795:19;;18454:366;;;:::o;18826:419::-;18992:4;19030:2;19019:9;19015:18;19007:26;;19079:9;19073:4;19069:20;19065:1;19054:9;19050:17;19043:47;19107:131;19233:4;19107:131;:::i;:::-;19099:139;;18826:419;;;:::o;19251:178::-;19391:30;19387:1;19379:6;19375:14;19368:54;19251:178;:::o;19435:366::-;19577:3;19598:67;19662:2;19657:3;19598:67;:::i;:::-;19591:74;;19674:93;19763:3;19674:93;:::i;:::-;19792:2;19787:3;19783:12;19776:19;;19435:366;;;:::o;19807:419::-;19973:4;20011:2;20000:9;19996:18;19988:26;;20060:9;20054:4;20050:20;20046:1;20035:9;20031:17;20024:47;20088:131;20214:4;20088:131;:::i;:::-;20080:139;;19807:419;;;:::o;20232:180::-;20280:77;20277:1;20270:88;20377:4;20374:1;20367:15;20401:4;20398:1;20391:15;20418:305;20458:3;20477:20;20495:1;20477:20;:::i;:::-;20472:25;;20511:20;20529:1;20511:20;:::i;:::-;20506:25;;20665:1;20597:66;20593:74;20590:1;20587:81;20584:107;;;20671:18;;:::i;:::-;20584:107;20715:1;20712;20708:9;20701:16;;20418:305;;;;:::o;20729:222::-;20869:34;20865:1;20857:6;20853:14;20846:58;20938:5;20933:2;20925:6;20921:15;20914:30;20729:222;:::o;20957:366::-;21099:3;21120:67;21184:2;21179:3;21120:67;:::i;:::-;21113:74;;21196:93;21285:3;21196:93;:::i;:::-;21314:2;21309:3;21305:12;21298:19;;20957:366;;;:::o;21329:419::-;21495:4;21533:2;21522:9;21518:18;21510:26;;21582:9;21576:4;21572:20;21568:1;21557:9;21553:17;21546:47;21610:131;21736:4;21610:131;:::i;:::-;21602:139;;21329:419;;;:::o;21754:191::-;21794:4;21814:20;21832:1;21814:20;:::i;:::-;21809:25;;21848:20;21866:1;21848:20;:::i;:::-;21843:25;;21887:1;21884;21881:8;21878:34;;;21892:18;;:::i;:::-;21878:34;21937:1;21934;21930:9;21922:17;;21754:191;;;;:::o;21951:229::-;22091:34;22087:1;22079:6;22075:14;22068:58;22160:12;22155:2;22147:6;22143:15;22136:37;21951:229;:::o;22186:366::-;22328:3;22349:67;22413:2;22408:3;22349:67;:::i;:::-;22342:74;;22425:93;22514:3;22425:93;:::i;:::-;22543:2;22538:3;22534:12;22527:19;;22186:366;;;:::o;22558:419::-;22724:4;22762:2;22751:9;22747:18;22739:26;;22811:9;22805:4;22801:20;22797:1;22786:9;22782:17;22775:47;22839:131;22965:4;22839:131;:::i;:::-;22831:139;;22558:419;;;:::o;22983:180::-;23031:77;23028:1;23021:88;23128:4;23125:1;23118:15;23152:4;23149:1;23142:15;23169:180;23217:77;23214:1;23207:88;23314:4;23311:1;23304:15;23338:4;23335:1;23328:15;23355:143;23412:5;23443:6;23437:13;23428:22;;23459:33;23486:5;23459:33;:::i;:::-;23355:143;;;;:::o;23504:351::-;23574:6;23623:2;23611:9;23602:7;23598:23;23594:32;23591:119;;;23629:79;;:::i;:::-;23591:119;23749:1;23774:64;23830:7;23821:6;23810:9;23806:22;23774:64;:::i;:::-;23764:74;;23720:128;23504:351;;;;:::o;23861:85::-;23906:7;23935:5;23924:16;;23861:85;;;:::o;23952:158::-;24010:9;24043:61;24061:42;24070:32;24096:5;24070:32;:::i;:::-;24061:42;:::i;:::-;24043:61;:::i;:::-;24030:74;;23952:158;;;:::o;24116:147::-;24211:45;24250:5;24211:45;:::i;:::-;24206:3;24199:58;24116:147;;:::o;24269:114::-;24336:6;24370:5;24364:12;24354:22;;24269:114;;;:::o;24389:184::-;24488:11;24522:6;24517:3;24510:19;24562:4;24557:3;24553:14;24538:29;;24389:184;;;;:::o;24579:132::-;24646:4;24669:3;24661:11;;24699:4;24694:3;24690:14;24682:22;;24579:132;;;:::o;24717:108::-;24794:24;24812:5;24794:24;:::i;:::-;24789:3;24782:37;24717:108;;:::o;24831:179::-;24900:10;24921:46;24963:3;24955:6;24921:46;:::i;:::-;24999:4;24994:3;24990:14;24976:28;;24831:179;;;;:::o;25016:113::-;25086:4;25118;25113:3;25109:14;25101:22;;25016:113;;;:::o;25165:732::-;25284:3;25313:54;25361:5;25313:54;:::i;:::-;25383:86;25462:6;25457:3;25383:86;:::i;:::-;25376:93;;25493:56;25543:5;25493:56;:::i;:::-;25572:7;25603:1;25588:284;25613:6;25610:1;25607:13;25588:284;;;25689:6;25683:13;25716:63;25775:3;25760:13;25716:63;:::i;:::-;25709:70;;25802:60;25855:6;25802:60;:::i;:::-;25792:70;;25648:224;25635:1;25632;25628:9;25623:14;;25588:284;;;25592:14;25888:3;25881:10;;25289:608;;;25165:732;;;;:::o;25903:831::-;26166:4;26204:3;26193:9;26189:19;26181:27;;26218:71;26286:1;26275:9;26271:17;26262:6;26218:71;:::i;:::-;26299:80;26375:2;26364:9;26360:18;26351:6;26299:80;:::i;:::-;26426:9;26420:4;26416:20;26411:2;26400:9;26396:18;26389:48;26454:108;26557:4;26548:6;26454:108;:::i;:::-;26446:116;;26572:72;26640:2;26629:9;26625:18;26616:6;26572:72;:::i;:::-;26654:73;26722:3;26711:9;26707:19;26698:6;26654:73;:::i;:::-;25903:831;;;;;;;;:::o;26740:180::-;26788:77;26785:1;26778:88;26885:4;26882:1;26875:15;26909:4;26906:1;26899:15;26926:185;26966:1;26983:20;27001:1;26983:20;:::i;:::-;26978:25;;27017:20;27035:1;27017:20;:::i;:::-;27012:25;;27056:1;27046:35;;27061:18;;:::i;:::-;27046:35;27103:1;27100;27096:9;27091:14;;26926:185;;;;:::o;27117:177::-;27257:29;27253:1;27245:6;27241:14;27234:53;27117:177;:::o;27300:366::-;27442:3;27463:67;27527:2;27522:3;27463:67;:::i;:::-;27456:74;;27539:93;27628:3;27539:93;:::i;:::-;27657:2;27652:3;27648:12;27641:19;;27300:366;;;:::o;27672:419::-;27838:4;27876:2;27865:9;27861:18;27853:26;;27925:9;27919:4;27915:20;27911:1;27900:9;27896:17;27889:47;27953:131;28079:4;27953:131;:::i;:::-;27945:139;;27672:419;;;:::o;28097:348::-;28137:7;28160:20;28178:1;28160:20;:::i;:::-;28155:25;;28194:20;28212:1;28194:20;:::i;:::-;28189:25;;28382:1;28314:66;28310:74;28307:1;28304:81;28299:1;28292:9;28285:17;28281:105;28278:131;;;28389:18;;:::i;:::-;28278:131;28437:1;28434;28430:9;28419:20;;28097:348;;;;:::o;28451:220::-;28591:34;28587:1;28579:6;28575:14;28568:58;28660:3;28655:2;28647:6;28643:15;28636:28;28451:220;:::o;28677:366::-;28819:3;28840:67;28904:2;28899:3;28840:67;:::i;:::-;28833:74;;28916:93;29005:3;28916:93;:::i;:::-;29034:2;29029:3;29025:12;29018:19;;28677:366;;;:::o;29049:419::-;29215:4;29253:2;29242:9;29238:18;29230:26;;29302:9;29296:4;29292:20;29288:1;29277:9;29273:17;29266:47;29330:131;29456:4;29330:131;:::i;:::-;29322:139;;29049:419;;;:::o

Swarm Source

ipfs://de182658e214dcd193259269b2dc2a22dce0fbb133094cc0de81bfdfff7ef745
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.