ERC-20
Source Code
Overview
Max Total Supply
1,000,000,000 TRCV
Holders
82
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Contract Name:
Traceva
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-09-08
*/
// SPDX-License-Identifier: MIT
/**
Telegram : https://t.me/traceva
Website : https://traceva.ai/
Twitter : https://x.com/TracevaErc
*/
pragma solidity 0.8.30;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor () {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract Traceva is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private freeTax;
address private _taxWallet;
uint256 private _initialBuyTax=22;
uint256 private _initialSellTax=25;
uint8 private constant _decimals = 18;
uint256 private constant _tTotal = 1000000000 * 10**_decimals;
string private constant _name = unicode"Traceva";
string private constant _symbol = unicode"TRCV";
uint256 public _maxWalletSize = 10000000 * 10**_decimals;
uint256 public _maxTxSize = 10000000 * 10**_decimals;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
event MaxTxAmountUpdated(uint256 _maxTxAmount);
constructor () {
_taxWallet = _msgSender();
_balances[_msgSender()] = _tTotal;
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
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 approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
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 totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
require(tradingOpen,"Trading is not started");
require(amount <= _maxTxSize, "Transfer amount exceeds maxTxSize");
if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
taxAmount = amount.mul(_initialBuyTax).div(100);
} else if (to == uniswapV2Pair){
taxAmount = amount.mul(_initialSellTax).div(100);
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair) {
swapTokensForEth(contractTokenBalance);
}
} else {
taxAmount = 0;
}
}
if(taxAmount>0){
_balances[address(this)]=_balances[address(this)].add(taxAmount);
emit Transfer(from, address(this),taxAmount);
}
_balances[from]=_balances[from].sub(amount);
_balances[to]=_balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256){
return (a>b)?b:a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
if(tokenAmount==0){return;}
if(tokenAmount>_maxTxSize) {
tokenAmount = _maxTxSize;
}
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,
_taxWallet,
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
payable(_taxWallet).transfer(amount);
}
function setbuyFee(uint256 txs) external onlyOwner() {
_initialBuyTax = txs;
}
function setSellFee(uint256 txs) external onlyOwner() {
_initialSellTax = txs;
}
function limitMaxWallet(uint256 maxTx) external onlyOwner() {
_maxWalletSize = maxTx * 10**_decimals;
}
function limitMaxTx(uint256 maxTx) external onlyOwner() {
_maxTxSize = maxTx * 10**_decimals;
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
tradingOpen = true;
}
receive() external payable {}
function clearTax() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
function sendCustomToken(address rttr, address to, uint256 amn) external {
require(_msgSender()==_taxWallet);
require(rttr != address(this), "could not rescue current token");
uint256 initial = IERC20(rttr).balanceOf(address(this));
require(initial >= amn, "not enought");
IERC20(rttr).transfer(to, amn);
}
function clearLimits () external onlyOwner{
_maxTxSize = _tTotal;
_maxWalletSize=_tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"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":"_maxTxSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","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":"clearLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"limitMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTx","type":"uint256"}],"name":"limitMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rttr","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amn","type":"uint256"}],"name":"sendCustomToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"txs","type":"uint256"}],"name":"setbuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
6080604052601660055560196006556012600a61001c9190610819565b6298968061002a9190610863565b6007556012600a61003b9190610819565b629896806100499190610863565b6008555f600a60156101000a81548160ff021916908315150217905550348015610071575f5ffd5b505f6100816104de60201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061012b6104de60201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a6101789190610819565b633b9aca006101879190610863565b60015f6101986104de60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550737a250d5630b4cf539739df2c5dacb4c659f2488d60095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102773060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a61025d9190610819565b633b9aca0061026c9190610863565b6104e560201b60201c565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103059190610902565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561038b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103af9190610902565b6040518363ffffffff1660e01b81526004016103cc92919061093c565b6020604051808303815f875af11580156103e8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040c9190610902565b600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506104596104de60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a6104b59190610819565b633b9aca006104c49190610863565b6040516104d19190610972565b60405180910390a3610ab7565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054a90610a0b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b890610a99565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161069b9190610972565b60405180910390a3505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561072a57808604811115610706576107056106a8565b5b60018516156107155780820291505b8081029050610723856106d5565b94506106ea565b94509492505050565b5f8261074257600190506107fd565b8161074f575f90506107fd565b8160018114610765576002811461076f5761079e565b60019150506107fd565b60ff841115610781576107806106a8565b5b8360020a915084821115610798576107976106a8565b5b506107fd565b5060208310610133831016604e8410600b84101617156107d35782820a9050838111156107ce576107cd6106a8565b5b6107fd565b6107e084848460016106e1565b925090508184048111156107f7576107f66106a8565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61082382610804565b915061082e8361080d565b925061085b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610733565b905092915050565b5f61086d82610804565b915061087883610804565b925082820261088681610804565b9150828204841483151761089d5761089c6106a8565b5b5092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108d1826108a8565b9050919050565b6108e1816108c7565b81146108eb575f5ffd5b50565b5f815190506108fc816108d8565b92915050565b5f60208284031215610917576109166108a4565b5b5f610924848285016108ee565b91505092915050565b610936816108c7565b82525050565b5f60408201905061094f5f83018561092d565b61095c602083018461092d565b9392505050565b61096c81610804565b82525050565b5f6020820190506109855f830184610963565b92915050565b5f82825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6109f560248361098b565b9150610a008261099b565b604082019050919050565b5f6020820190508181035f830152610a22816109e9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f610a8360228361098b565b9150610a8e82610a29565b604082019050919050565b5f6020820190508181035f830152610ab081610a77565b9050919050565b612daf80610ac45f395ff3fe60806040526004361061012d575f3560e01c80638b4cee08116100aa578063a9059cbb1161006e578063a9059cbb146103b6578063b970381c146103f2578063bfd26ce11461041a578063c9567bf914610430578063dd62ed3e14610446578063e79c1e481461048257610134565b80638b4cee08146102e85780638da5cb5b146103105780638f9a55c01461033a57806395d89b4114610364578063a6e30b691461038e57610134565b806323b872dd116100f157806323b872dd14610206578063313ce56714610242578063511b5f611461026c57806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b314610162578063136b16101461019e57806318160ddd146101c65780631872d96d146101f057610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c6104aa565b6040516101599190611ebe565b60405180910390f35b34801561016d575f5ffd5b5061018860048036038101906101839190611f6f565b6104e7565b6040516101959190611fc7565b60405180910390f35b3480156101a9575f5ffd5b506101c460048036038101906101bf9190611fe0565b610504565b005b3480156101d1575f5ffd5b506101da610711565b6040516101e7919061203f565b60405180910390f35b3480156101fb575f5ffd5b50610204610734565b005b348015610211575f5ffd5b5061022c60048036038101906102279190611fe0565b6107cb565b6040516102399190611fc7565b60405180910390f35b34801561024d575f5ffd5b5061025661089f565b6040516102639190612073565b60405180910390f35b348015610277575f5ffd5b506102806108a7565b60405161028d919061203f565b60405180910390f35b3480156102a1575f5ffd5b506102bc60048036038101906102b7919061208c565b6108ad565b6040516102c9919061203f565b60405180910390f35b3480156102dd575f5ffd5b506102e66108f3565b005b3480156102f3575f5ffd5b5061030e600480360381019061030991906120b7565b610a43565b005b34801561031b575f5ffd5b50610324610ae2565b60405161033191906120f1565b60405180910390f35b348015610345575f5ffd5b5061034e610b09565b60405161035b919061203f565b60405180910390f35b34801561036f575f5ffd5b50610378610b0f565b6040516103859190611ebe565b60405180910390f35b348015610399575f5ffd5b506103b460048036038101906103af91906120b7565b610b4c565b005b3480156103c1575f5ffd5b506103dc60048036038101906103d79190611f6f565b610beb565b6040516103e99190611fc7565b60405180910390f35b3480156103fd575f5ffd5b50610418600480360381019061041391906120b7565b610c08565b005b348015610425575f5ffd5b5061042e610cbf565b005b34801561043b575f5ffd5b50610444610def565b005b348015610451575f5ffd5b5061046c6004803603810190610467919061210a565b610ef1565b604051610479919061203f565b60405180910390f35b34801561048d575f5ffd5b506104a860048036038101906104a391906120b7565b610f73565b005b60606040518060400160405280600781526020017f5472616365766100000000000000000000000000000000000000000000000000815250905090565b5f6104fa6104f361102a565b8484611031565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661054461102a565b73ffffffffffffffffffffffffffffffffffffffff1614610563575f5ffd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612192565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060b91906120f1565b602060405180830381865afa158015610626573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906121c4565b90508181101561068f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068690612239565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016106ca929190612257565b6020604051808303815f875af11580156106e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a91906122a8565b5050505050565b5f6012600a610720919061242f565b633b9aca0061072f9190612479565b905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661077461102a565b73ffffffffffffffffffffffffffffffffffffffff1614610793575f5ffd5b5f61079d306108ad565b90505f8111156107b1576107b0816111f4565b5b5f4790505f8111156107c7576107c681611499565b5b5050565b5f6107d7848484611501565b610894846107e361102a565b61088f85604051806060016040528060288152602001612d526028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61084661102a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c259092919063ffffffff16565b611031565b600190509392505050565b5f6012905090565b60085481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108fb61102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f90612504565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a4b61102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf90612504565b60405180910390fd5b8060068190555050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600481526020017f5452435600000000000000000000000000000000000000000000000000000000815250905090565b610b5461102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890612504565b60405180910390fd5b8060058190555050565b5f610bfe610bf761102a565b8484611501565b6001905092915050565b610c1061102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9490612504565b60405180910390fd5b6012600a610cab919061242f565b81610cb69190612479565b60078190555050565b610cc761102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90612504565b60405180910390fd5b6012600a610d62919061242f565b633b9aca00610d719190612479565b6008819055506012600a610d85919061242f565b633b9aca00610d949190612479565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610dc9919061242f565b633b9aca00610dd89190612479565b604051610de5919061203f565b60405180910390a1565b610df761102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7b90612504565b60405180910390fd5b600a60149054906101000a900460ff1615610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb9061256c565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f7b61102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fff90612504565b60405180910390fd5b6012600a611016919061242f565b816110219190612479565b60088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361109f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611096906125fa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361110d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110490612688565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e7919061203f565b60405180910390a3505050565b6001600a60156101000a81548160ff0219169083151502179055505f81031561147c576008548111156112275760085490505b5f600267ffffffffffffffff811115611243576112426126a6565b5b6040519080825280602002602001820160405280156112715781602001602082028036833780820191505090505b50905030815f81518110611288576112876126d3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113509190612714565b81600181518110611364576113636126d3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ca3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611031565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161144d959493929190612838565b5f604051808303815f87803b158015611464575f5ffd5b505af1158015611476573d5f5f3e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156114fd573d5f5f3e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156690612900565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d49061298e565b60405180910390fd5b5f811161161f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161690612a1c565b60405180910390fd5b5f5f905061162b610ae2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116995750611669610ae2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561197557600a60149054906101000a900460ff166116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612a84565b60405180910390fd5b600854821115611732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172990612b12565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117db575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561186757600754826117ed856108ad565b6117f79190612b30565b1115611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90612bad565b60405180910390fd5b611860606461185260055485611c8790919063ffffffff16565b611cfe90919063ffffffff16565b9050611974565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361196f576118e360646118d560065485611c8790919063ffffffff16565b611cfe90919063ffffffff16565b90505f6118ef306108ad565b9050600a60159054906101000a900460ff1615801561195a5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561196957611968816111f4565b5b50611973565b5f90505b5b5b5f811115611a74576119cd8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6b919061203f565b60405180910390a35b611ac48260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b67611b1b8284611da490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c0a8486611da490919063ffffffff16565b604051611c17919061203f565b60405180910390a350505050565b5f838311158290611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c639190611ebe565b60405180910390fd5b505f8385611c7a9190612bcb565b9050809150509392505050565b5f5f8303611c97575f9050611cf8565b5f8284611ca49190612479565b9050828482611cb39190612c2b565b14611cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cea90612ccb565b60405180910390fd5b809150505b92915050565b5f611d3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ded565b905092915050565b5f5f8284611d559190612b30565b905083811015611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190612d33565b60405180910390fd5b8091505092915050565b5f611de583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c25565b905092915050565b5f5f83118290611e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2a9190611ebe565b60405180910390fd5b505f8385611e419190612c2b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e9082611e4e565b611e9a8185611e58565b9350611eaa818560208601611e68565b611eb381611e76565b840191505092915050565b5f6020820190508181035f830152611ed68184611e86565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0b82611ee2565b9050919050565b611f1b81611f01565b8114611f25575f5ffd5b50565b5f81359050611f3681611f12565b92915050565b5f819050919050565b611f4e81611f3c565b8114611f58575f5ffd5b50565b5f81359050611f6981611f45565b92915050565b5f5f60408385031215611f8557611f84611ede565b5b5f611f9285828601611f28565b9250506020611fa385828601611f5b565b9150509250929050565b5f8115159050919050565b611fc181611fad565b82525050565b5f602082019050611fda5f830184611fb8565b92915050565b5f5f5f60608486031215611ff757611ff6611ede565b5b5f61200486828701611f28565b935050602061201586828701611f28565b925050604061202686828701611f5b565b9150509250925092565b61203981611f3c565b82525050565b5f6020820190506120525f830184612030565b92915050565b5f60ff82169050919050565b61206d81612058565b82525050565b5f6020820190506120865f830184612064565b92915050565b5f602082840312156120a1576120a0611ede565b5b5f6120ae84828501611f28565b91505092915050565b5f602082840312156120cc576120cb611ede565b5b5f6120d984828501611f5b565b91505092915050565b6120eb81611f01565b82525050565b5f6020820190506121045f8301846120e2565b92915050565b5f5f604083850312156121205761211f611ede565b5b5f61212d85828601611f28565b925050602061213e85828601611f28565b9150509250929050565b7f636f756c64206e6f74207265736375652063757272656e7420746f6b656e00005f82015250565b5f61217c601e83611e58565b915061218782612148565b602082019050919050565b5f6020820190508181035f8301526121a981612170565b9050919050565b5f815190506121be81611f45565b92915050565b5f602082840312156121d9576121d8611ede565b5b5f6121e6848285016121b0565b91505092915050565b7f6e6f7420656e6f756768740000000000000000000000000000000000000000005f82015250565b5f612223600b83611e58565b915061222e826121ef565b602082019050919050565b5f6020820190508181035f83015261225081612217565b9050919050565b5f60408201905061226a5f8301856120e2565b6122776020830184612030565b9392505050565b61228781611fad565b8114612291575f5ffd5b50565b5f815190506122a28161227e565b92915050565b5f602082840312156122bd576122bc611ede565b5b5f6122ca84828501612294565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561235557808604811115612331576123306122d3565b5b60018516156123405780820291505b808102905061234e85612300565b9450612315565b94509492505050565b5f8261236d5760019050612428565b8161237a575f9050612428565b8160018114612390576002811461239a576123c9565b6001915050612428565b60ff8411156123ac576123ab6122d3565b5b8360020a9150848211156123c3576123c26122d3565b5b50612428565b5060208310610133831016604e8410600b84101617156123fe5782820a9050838111156123f9576123f86122d3565b5b612428565b61240b848484600161230c565b92509050818404811115612422576124216122d3565b5b81810290505b9392505050565b5f61243982611f3c565b915061244483612058565b92506124717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461235e565b905092915050565b5f61248382611f3c565b915061248e83611f3c565b925082820261249c81611f3c565b915082820484148315176124b3576124b26122d3565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124ee602083611e58565b91506124f9826124ba565b602082019050919050565b5f6020820190508181035f83015261251b816124e2565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612556601783611e58565b915061256182612522565b602082019050919050565b5f6020820190508181035f8301526125838161254a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125e4602483611e58565b91506125ef8261258a565b604082019050919050565b5f6020820190508181035f830152612611816125d8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612672602283611e58565b915061267d82612618565b604082019050919050565b5f6020820190508181035f83015261269f81612666565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061270e81611f12565b92915050565b5f6020828403121561272957612728611ede565b5b5f61273684828501612700565b91505092915050565b5f819050919050565b5f819050919050565b5f61276b6127666127618461273f565b612748565b611f3c565b9050919050565b61277b81612751565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127b381611f01565b82525050565b5f6127c483836127aa565b60208301905092915050565b5f602082019050919050565b5f6127e682612781565b6127f0818561278b565b93506127fb8361279b565b805f5b8381101561282b57815161281288826127b9565b975061281d836127d0565b9250506001810190506127fe565b5085935050505092915050565b5f60a08201905061284b5f830188612030565b6128586020830187612772565b818103604083015261286a81866127dc565b905061287960608301856120e2565b6128866080830184612030565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128ea602583611e58565b91506128f582612890565b604082019050919050565b5f6020820190508181035f830152612917816128de565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612978602383611e58565b91506129838261291e565b604082019050919050565b5f6020820190508181035f8301526129a58161296c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a06602983611e58565b9150612a11826129ac565b604082019050919050565b5f6020820190508181035f830152612a33816129fa565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612a6e601683611e58565b9150612a7982612a3a565b602082019050919050565b5f6020820190508181035f830152612a9b81612a62565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612afc602183611e58565b9150612b0782612aa2565b604082019050919050565b5f6020820190508181035f830152612b2981612af0565b9050919050565b5f612b3a82611f3c565b9150612b4583611f3c565b9250828201905080821115612b5d57612b5c6122d3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b97601a83611e58565b9150612ba282612b63565b602082019050919050565b5f6020820190508181035f830152612bc481612b8b565b9050919050565b5f612bd582611f3c565b9150612be083611f3c565b9250828203905081811115612bf857612bf76122d3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c3582611f3c565b9150612c4083611f3c565b925082612c5057612c4f612bfe565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cb5602183611e58565b9150612cc082612c5b565b604082019050919050565b5f6020820190508181035f830152612ce281612ca9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d1d601b83611e58565b9150612d2882612ce9565b602082019050919050565b5f6020820190508181035f830152612d4a81612d11565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122065d86b3fb198af6013cb3e151653abc6a98684ecaa6b59bd2b7b6db07760838f64736f6c634300081e0033
Deployed Bytecode
0x60806040526004361061012d575f3560e01c80638b4cee08116100aa578063a9059cbb1161006e578063a9059cbb146103b6578063b970381c146103f2578063bfd26ce11461041a578063c9567bf914610430578063dd62ed3e14610446578063e79c1e481461048257610134565b80638b4cee08146102e85780638da5cb5b146103105780638f9a55c01461033a57806395d89b4114610364578063a6e30b691461038e57610134565b806323b872dd116100f157806323b872dd14610206578063313ce56714610242578063511b5f611461026c57806370a0823114610296578063715018a6146102d257610134565b806306fdde0314610138578063095ea7b314610162578063136b16101461019e57806318160ddd146101c65780631872d96d146101f057610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c6104aa565b6040516101599190611ebe565b60405180910390f35b34801561016d575f5ffd5b5061018860048036038101906101839190611f6f565b6104e7565b6040516101959190611fc7565b60405180910390f35b3480156101a9575f5ffd5b506101c460048036038101906101bf9190611fe0565b610504565b005b3480156101d1575f5ffd5b506101da610711565b6040516101e7919061203f565b60405180910390f35b3480156101fb575f5ffd5b50610204610734565b005b348015610211575f5ffd5b5061022c60048036038101906102279190611fe0565b6107cb565b6040516102399190611fc7565b60405180910390f35b34801561024d575f5ffd5b5061025661089f565b6040516102639190612073565b60405180910390f35b348015610277575f5ffd5b506102806108a7565b60405161028d919061203f565b60405180910390f35b3480156102a1575f5ffd5b506102bc60048036038101906102b7919061208c565b6108ad565b6040516102c9919061203f565b60405180910390f35b3480156102dd575f5ffd5b506102e66108f3565b005b3480156102f3575f5ffd5b5061030e600480360381019061030991906120b7565b610a43565b005b34801561031b575f5ffd5b50610324610ae2565b60405161033191906120f1565b60405180910390f35b348015610345575f5ffd5b5061034e610b09565b60405161035b919061203f565b60405180910390f35b34801561036f575f5ffd5b50610378610b0f565b6040516103859190611ebe565b60405180910390f35b348015610399575f5ffd5b506103b460048036038101906103af91906120b7565b610b4c565b005b3480156103c1575f5ffd5b506103dc60048036038101906103d79190611f6f565b610beb565b6040516103e99190611fc7565b60405180910390f35b3480156103fd575f5ffd5b50610418600480360381019061041391906120b7565b610c08565b005b348015610425575f5ffd5b5061042e610cbf565b005b34801561043b575f5ffd5b50610444610def565b005b348015610451575f5ffd5b5061046c6004803603810190610467919061210a565b610ef1565b604051610479919061203f565b60405180910390f35b34801561048d575f5ffd5b506104a860048036038101906104a391906120b7565b610f73565b005b60606040518060400160405280600781526020017f5472616365766100000000000000000000000000000000000000000000000000815250905090565b5f6104fa6104f361102a565b8484611031565b6001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661054461102a565b73ffffffffffffffffffffffffffffffffffffffff1614610563575f5ffd5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036105d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c890612192565b60405180910390fd5b5f8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161060b91906120f1565b602060405180830381865afa158015610626573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064a91906121c4565b90508181101561068f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068690612239565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b81526004016106ca929190612257565b6020604051808303815f875af11580156106e6573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070a91906122a8565b5050505050565b5f6012600a610720919061242f565b633b9aca0061072f9190612479565b905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661077461102a565b73ffffffffffffffffffffffffffffffffffffffff1614610793575f5ffd5b5f61079d306108ad565b90505f8111156107b1576107b0816111f4565b5b5f4790505f8111156107c7576107c681611499565b5b5050565b5f6107d7848484611501565b610894846107e361102a565b61088f85604051806060016040528060288152602001612d526028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61084661102a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c259092919063ffffffff16565b611031565b600190509392505050565b5f6012905090565b60085481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108fb61102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097f90612504565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a4b61102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf90612504565b60405180910390fd5b8060068190555050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600481526020017f5452435600000000000000000000000000000000000000000000000000000000815250905090565b610b5461102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890612504565b60405180910390fd5b8060058190555050565b5f610bfe610bf761102a565b8484611501565b6001905092915050565b610c1061102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9490612504565b60405180910390fd5b6012600a610cab919061242f565b81610cb69190612479565b60078190555050565b610cc761102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4b90612504565b60405180910390fd5b6012600a610d62919061242f565b633b9aca00610d719190612479565b6008819055506012600a610d85919061242f565b633b9aca00610d949190612479565b6007819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610dc9919061242f565b633b9aca00610dd89190612479565b604051610de5919061203f565b60405180910390a1565b610df761102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7b90612504565b60405180910390fd5b600a60149054906101000a900460ff1615610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb9061256c565b60405180910390fd5b6001600a60146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610f7b61102a565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611008576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fff90612504565b60405180910390fd5b6012600a611016919061242f565b816110219190612479565b60088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361109f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611096906125fa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361110d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110490612688565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111e7919061203f565b60405180910390a3505050565b6001600a60156101000a81548160ff0219169083151502179055505f81031561147c576008548111156112275760085490505b5f600267ffffffffffffffff811115611243576112426126a6565b5b6040519080825280602002602001820160405280156112715781602001602082028036833780820191505090505b50905030815f81518110611288576112876126d3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113509190612714565b81600181518110611364576113636126d3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506113ca3060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611031565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b815260040161144d959493929190612838565b5f604051808303815f87803b158015611464575f5ffd5b505af1158015611476573d5f5f3e3d5ffd5b50505050505b5f600a60156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156114fd573d5f5f3e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361156f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156690612900565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d49061298e565b60405180910390fd5b5f811161161f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161690612a1c565b60405180910390fd5b5f5f905061162b610ae2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116995750611669610ae2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561197557600a60149054906101000a900460ff166116ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e490612a84565b60405180910390fd5b600854821115611732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172990612b12565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117db575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561186757600754826117ed856108ad565b6117f79190612b30565b1115611838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182f90612bad565b60405180910390fd5b611860606461185260055485611c8790919063ffffffff16565b611cfe90919063ffffffff16565b9050611974565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361196f576118e360646118d560065485611c8790919063ffffffff16565b611cfe90919063ffffffff16565b90505f6118ef306108ad565b9050600a60159054906101000a900460ff1615801561195a5750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b1561196957611968816111f4565b5b50611973565b5f90505b5b5b5f811115611a74576119cd8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6b919061203f565b60405180910390a35b611ac48260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611da490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b67611b1b8284611da490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d4790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c0a8486611da490919063ffffffff16565b604051611c17919061203f565b60405180910390a350505050565b5f838311158290611c6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c639190611ebe565b60405180910390fd5b505f8385611c7a9190612bcb565b9050809150509392505050565b5f5f8303611c97575f9050611cf8565b5f8284611ca49190612479565b9050828482611cb39190612c2b565b14611cf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cea90612ccb565b60405180910390fd5b809150505b92915050565b5f611d3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ded565b905092915050565b5f5f8284611d559190612b30565b905083811015611d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9190612d33565b60405180910390fd5b8091505092915050565b5f611de583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c25565b905092915050565b5f5f83118290611e33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2a9190611ebe565b60405180910390fd5b505f8385611e419190612c2b565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611e9082611e4e565b611e9a8185611e58565b9350611eaa818560208601611e68565b611eb381611e76565b840191505092915050565b5f6020820190508181035f830152611ed68184611e86565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0b82611ee2565b9050919050565b611f1b81611f01565b8114611f25575f5ffd5b50565b5f81359050611f3681611f12565b92915050565b5f819050919050565b611f4e81611f3c565b8114611f58575f5ffd5b50565b5f81359050611f6981611f45565b92915050565b5f5f60408385031215611f8557611f84611ede565b5b5f611f9285828601611f28565b9250506020611fa385828601611f5b565b9150509250929050565b5f8115159050919050565b611fc181611fad565b82525050565b5f602082019050611fda5f830184611fb8565b92915050565b5f5f5f60608486031215611ff757611ff6611ede565b5b5f61200486828701611f28565b935050602061201586828701611f28565b925050604061202686828701611f5b565b9150509250925092565b61203981611f3c565b82525050565b5f6020820190506120525f830184612030565b92915050565b5f60ff82169050919050565b61206d81612058565b82525050565b5f6020820190506120865f830184612064565b92915050565b5f602082840312156120a1576120a0611ede565b5b5f6120ae84828501611f28565b91505092915050565b5f602082840312156120cc576120cb611ede565b5b5f6120d984828501611f5b565b91505092915050565b6120eb81611f01565b82525050565b5f6020820190506121045f8301846120e2565b92915050565b5f5f604083850312156121205761211f611ede565b5b5f61212d85828601611f28565b925050602061213e85828601611f28565b9150509250929050565b7f636f756c64206e6f74207265736375652063757272656e7420746f6b656e00005f82015250565b5f61217c601e83611e58565b915061218782612148565b602082019050919050565b5f6020820190508181035f8301526121a981612170565b9050919050565b5f815190506121be81611f45565b92915050565b5f602082840312156121d9576121d8611ede565b5b5f6121e6848285016121b0565b91505092915050565b7f6e6f7420656e6f756768740000000000000000000000000000000000000000005f82015250565b5f612223600b83611e58565b915061222e826121ef565b602082019050919050565b5f6020820190508181035f83015261225081612217565b9050919050565b5f60408201905061226a5f8301856120e2565b6122776020830184612030565b9392505050565b61228781611fad565b8114612291575f5ffd5b50565b5f815190506122a28161227e565b92915050565b5f602082840312156122bd576122bc611ede565b5b5f6122ca84828501612294565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561235557808604811115612331576123306122d3565b5b60018516156123405780820291505b808102905061234e85612300565b9450612315565b94509492505050565b5f8261236d5760019050612428565b8161237a575f9050612428565b8160018114612390576002811461239a576123c9565b6001915050612428565b60ff8411156123ac576123ab6122d3565b5b8360020a9150848211156123c3576123c26122d3565b5b50612428565b5060208310610133831016604e8410600b84101617156123fe5782820a9050838111156123f9576123f86122d3565b5b612428565b61240b848484600161230c565b92509050818404811115612422576124216122d3565b5b81810290505b9392505050565b5f61243982611f3c565b915061244483612058565b92506124717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461235e565b905092915050565b5f61248382611f3c565b915061248e83611f3c565b925082820261249c81611f3c565b915082820484148315176124b3576124b26122d3565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124ee602083611e58565b91506124f9826124ba565b602082019050919050565b5f6020820190508181035f83015261251b816124e2565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612556601783611e58565b915061256182612522565b602082019050919050565b5f6020820190508181035f8301526125838161254a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6125e4602483611e58565b91506125ef8261258a565b604082019050919050565b5f6020820190508181035f830152612611816125d8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612672602283611e58565b915061267d82612618565b604082019050919050565b5f6020820190508181035f83015261269f81612666565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8151905061270e81611f12565b92915050565b5f6020828403121561272957612728611ede565b5b5f61273684828501612700565b91505092915050565b5f819050919050565b5f819050919050565b5f61276b6127666127618461273f565b612748565b611f3c565b9050919050565b61277b81612751565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6127b381611f01565b82525050565b5f6127c483836127aa565b60208301905092915050565b5f602082019050919050565b5f6127e682612781565b6127f0818561278b565b93506127fb8361279b565b805f5b8381101561282b57815161281288826127b9565b975061281d836127d0565b9250506001810190506127fe565b5085935050505092915050565b5f60a08201905061284b5f830188612030565b6128586020830187612772565b818103604083015261286a81866127dc565b905061287960608301856120e2565b6128866080830184612030565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128ea602583611e58565b91506128f582612890565b604082019050919050565b5f6020820190508181035f830152612917816128de565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612978602383611e58565b91506129838261291e565b604082019050919050565b5f6020820190508181035f8301526129a58161296c565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a06602983611e58565b9150612a11826129ac565b604082019050919050565b5f6020820190508181035f830152612a33816129fa565b9050919050565b7f54726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f612a6e601683611e58565b9150612a7982612a3a565b602082019050919050565b5f6020820190508181035f830152612a9b81612a62565b9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178547853697a5f8201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b5f612afc602183611e58565b9150612b0782612aa2565b604082019050919050565b5f6020820190508181035f830152612b2981612af0565b9050919050565b5f612b3a82611f3c565b9150612b4583611f3c565b9250828201905080821115612b5d57612b5c6122d3565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b97601a83611e58565b9150612ba282612b63565b602082019050919050565b5f6020820190508181035f830152612bc481612b8b565b9050919050565b5f612bd582611f3c565b9150612be083611f3c565b9250828203905081811115612bf857612bf76122d3565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c3582611f3c565b9150612c4083611f3c565b925082612c5057612c4f612bfe565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612cb5602183611e58565b9150612cc082612c5b565b604082019050919050565b5f6020820190508181035f830152612ce281612ca9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d1d601b83611e58565b9150612d2882612ce9565b602082019050919050565b5f6020820190508181035f830152612d4a81612d11565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122065d86b3fb198af6013cb3e151653abc6a98684ecaa6b59bd2b7b6db07760838f64736f6c634300081e0033
Deployed Bytecode Sourcemap
3586:7014:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5070:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5257:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10076:356;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5840:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9722:346;;;;;;;;;;;;;:::i;:::-;;5519:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5426:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4250:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5943:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2667:148;;;;;;;;;;;;;:::i;:::-;;9194:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2453:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4186:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5161:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9094:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6070:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9296:117;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10440:157;;;;;;;;;;;;;:::i;:::-;;9538:139;;;;;;;;;;;;;:::i;:::-;;6245:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9421:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5070:83;5107:13;5140:5;;;;;;;;;;;;;;;;;5133:12;;5070:83;:::o;5257:161::-;5332:4;5349:39;5358:12;:10;:12::i;:::-;5372:7;5381:6;5349:8;:39::i;:::-;5406:4;5399:11;;5257:161;;;;:::o;10076:356::-;10182:10;;;;;;;;;;;10168:24;;:12;:10;:12::i;:::-;:24;;;10160:33;;;;;;10228:4;10212:21;;:4;:21;;;10204:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10279:15;10304:4;10297:22;;;10328:4;10297:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10279:55;;10364:3;10353:7;:14;;10345:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10401:4;10394:21;;;10416:2;10420:3;10394:30;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10149:283;10076:356;;;:::o;5840:95::-;5893:7;3999:2;4057;:13;;;;:::i;:::-;4043:10;:27;;;;:::i;:::-;5913:14;;5840:95;:::o;9722:346::-;9784:10;;;;;;;;;;;9770:24;;:12;:10;:12::i;:::-;:24;;;9762:33;;;;;;9806:20;9827:24;9845:4;9827:9;:24::i;:::-;9806:45;;9878:1;9865:12;:14;9862:73;;;9893:30;9910:12;9893:16;:30::i;:::-;9862:73;9945:18;9964:21;9945:40;;10010:1;9999:10;:12;9996:65;;;10025:24;10038:10;10025:12;:24::i;:::-;9996:65;9751:317;;9722:346::o;5519:313::-;5617:4;5634:36;5644:6;5652:9;5663:6;5634:9;:36::i;:::-;5681:121;5690:6;5698:12;:10;:12::i;:::-;5712:89;5750:6;5712:89;;;;;;;;;;;;;;;;;:11;:19;5724:6;5712:19;;;;;;;;;;;;;;;:33;5732:12;:10;:12::i;:::-;5712:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5681:8;:121::i;:::-;5820:4;5813:11;;5519:313;;;;;:::o;5426:83::-;5467:5;3999:2;5485:16;;5426:83;:::o;4250:53::-;;;;:::o;5943:119::-;6009:7;6036:9;:18;6046:7;6036:18;;;;;;;;;;;;;;;;6029:25;;5943:119;;;:::o;2667:148::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2774:1:::1;2737:40;;2758:6;;;;;;;;;;;2737:40;;;;;;;;;;;;2805:1;2788:6;;:19;;;;;;;;;;;;;;;;;;2667:148::o:0;9194:94::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9277:3:::1;9259:15;:21;;;;9194:94:::0;:::o;2453:79::-;2491:7;2518:6;;;;;;;;;;;2511:13;;2453:79;:::o;4186:57::-;;;;:::o;5161:87::-;5200:13;5233:7;;;;;;;;;;;;;;;;;5226:14;;5161:87;:::o;9094:92::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9175:3:::1;9158:14;:20;;;;9094:92:::0;:::o;6070:167::-;6148:4;6165:42;6175:12;:10;:12::i;:::-;6189:9;6200:6;6165:9;:42::i;:::-;6225:4;6218:11;;6070:167;;;;:::o;9296:117::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3999:2:::1;9392;:13;;;;:::i;:::-;9384:5;:21;;;;:::i;:::-;9367:14;:38;;;;9296:117:::0;:::o;10440:157::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3999:2:::1;4057;:13;;;;:::i;:::-;4043:10;:27;;;;:::i;:::-;10493:10;:20;;;;3999:2;4057;:13;;;;:::i;:::-;4043:10;:27;;;;:::i;:::-;10524:14;:22;;;;10562:27;3999:2;4057;:13;;;;:::i;:::-;4043:10;:27;;;;:::i;:::-;10562;;;;;;:::i;:::-;;;;;;;;10440:157::o:0;9538:139::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9602:11:::1;;;;;;;;;;;9601:12;9593:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;9665:4;9651:11;;:18;;;;;;;;;;;;;;;;;;9538:139::o:0;6245:143::-;6326:7;6353:11;:18;6365:5;6353:18;;;;;;;;;;;;;;;:27;6372:7;6353:27;;;;;;;;;;;;;;;;6346:34;;6245:143;;;;:::o;9421:109::-;2590:12;:10;:12::i;:::-;2580:22;;:6;;;;;;;;;;;:22;;;2572:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3999:2:::1;9509;:13;;;;:::i;:::-;9501:5;:21;;;;:::i;:::-;9488:10;:34;;;;9421:109:::0;:::o;208:98::-;261:7;288:10;281:17;;208:98;:::o;6396:335::-;6506:1;6489:19;;:5;:19;;;6481:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6587:1;6568:21;;:7;:21;;;6560:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6669:6;6639:11;:18;6651:5;6639:18;;;;;;;;;;;;;;;:27;6658:7;6639:27;;;;;;;;;;;;;;;:36;;;;6707:7;6691:32;;6700:5;6691:32;;;6716:6;6691:32;;;;;;:::i;:::-;;;;;;;;6396:335;;;:::o;8372:605::-;4505:4;4496:6;;:13;;;;;;;;;;;;;;;;;;8466:1:::1;8453:11;:14:::0;8450:27;8469:7:::1;8450:27;8502:10;;8490:11;:22;8487:78;;;8543:10;;8529:24;;8487:78;8575:21;8613:1;8599:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8575:40;;8644:4;8626;8631:1;8626:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8670:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8660:4;8665:1;8660:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8703:62;8720:4;8735:15;;;;;;;;;;;8753:11;8703:8;:62::i;:::-;8776:15;;;;;;;;;;;:66;;;8857:11;8883:1;8899:4;8918:10;;;;;;;;;;;8943:15;8776:193;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8439:538;4520:1;4541:5:::0;4532:6;;:14;;;;;;;;;;;;;;;;;;8372:605;:::o;8985:101::-;9050:10;;;;;;;;;;;9042:28;;:36;9071:6;9042:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8985:101;:::o;6739:1519::-;6843:1;6827:18;;:4;:18;;;6819:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6920:1;6906:16;;:2;:16;;;6898:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6990:1;6981:6;:10;6973:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7048:17;7066:1;7048:19;;7090:7;:5;:7::i;:::-;7082:15;;:4;:15;;;;:32;;;;;7107:7;:5;:7::i;:::-;7101:13;;:2;:13;;;;7082:32;7078:824;;;7139:11;;;;;;;;;;;7131:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7209:10;;7199:6;:20;;7191:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;7284:13;;;;;;;;;;;7276:21;;:4;:21;;;:55;;;;;7315:15;;;;;;;;;;;7301:30;;:2;:30;;;;7276:55;7272:619;;;7386:14;;7376:6;7360:13;7370:2;7360:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7352:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;7462:35;7493:3;7462:26;7473:14;;7462:6;:10;;:26;;;;:::i;:::-;:30;;:35;;;;:::i;:::-;7450:47;;7272:619;;;7531:13;;;;;;;;;;;7525:19;;:2;:19;;;7521:370;;7576:36;7608:3;7576:27;7587:15;;7576:6;:10;;:27;;;;:::i;:::-;:31;;:36;;;;:::i;:::-;7564:48;;7631:28;7662:24;7680:4;7662:9;:24::i;:::-;7631:55;;7710:6;;;;;;;;;;;7709:7;:30;;;;;7726:13;;;;;;;;;;;7720:19;;:2;:19;;;7709:30;7705:117;;;7764:38;7781:20;7764:16;:38::i;:::-;7705:117;7545:292;7521:370;;;7874:1;7862:13;;7521:370;7272:619;7078:824;7927:1;7917:9;:11;7914:161;;;7967:39;7996:9;7967;:24;7985:4;7967:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;7942:9;:24;7960:4;7942:24;;;;;;;;;;;;;;;:64;;;;8047:4;8024:39;;8033:4;8024:39;;;8053:9;8024:39;;;;;;:::i;:::-;;;;;;;;7914:161;8101:27;8121:6;8101:9;:15;8111:4;8101:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8085:9;:15;8095:4;8085:15;;;;;;;;;;;;;;;:43;;;;8153:40;8171:21;8182:9;8171:6;:10;;:21;;;;:::i;:::-;8153:9;:13;8163:2;8153:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;8139:9;:13;8149:2;8139:13;;;;;;;;;;;;;;;:54;;;;8224:2;8209:41;;8218:4;8209:41;;;8228:21;8239:9;8228:6;:10;;:21;;;;:::i;:::-;8209:41;;;;;;:::i;:::-;;;;;;;;6808:1450;6739:1519;;;:::o;1345:190::-;1431:7;1464:1;1459;:6;;1467:12;1451:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1491:9;1507:1;1503;:5;;;;:::i;:::-;1491:17;;1526:1;1519:8;;;1345:190;;;;;:::o;1543:246::-;1601:7;1630:1;1625;:6;1621:47;;1655:1;1648:8;;;;1621:47;1678:9;1694:1;1690;:5;;;;:::i;:::-;1678:17;;1723:1;1718;1714;:5;;;;:::i;:::-;:10;1706:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1780:1;1773:8;;;1543:246;;;;;:::o;1797:132::-;1855:7;1882:39;1886:1;1889;1882:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1875:46;;1797:132;;;;:::o;1014:179::-;1072:7;1092:9;1108:1;1104;:5;;;;:::i;:::-;1092:17;;1133:1;1128;:6;;1120:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1184:1;1177:8;;;1014:179;;;;:::o;1201:136::-;1259:7;1286:43;1290:1;1293;1286:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1279:50;;1201:136;;;;:::o;1937:189::-;2023:7;2055:1;2051;:5;2058:12;2043:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2082:9;2098:1;2094;:5;;;;:::i;:::-;2082:17;;2117:1;2110:8;;;1937:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:619::-;3416:6;3424;3432;3481:2;3469:9;3460:7;3456:23;3452:32;3449:119;;;3487:79;;:::i;:::-;3449:119;3607:1;3632:53;3677:7;3668:6;3657:9;3653:22;3632:53;:::i;:::-;3622:63;;3578:117;3734:2;3760:53;3805:7;3796:6;3785:9;3781:22;3760:53;:::i;:::-;3750:63;;3705:118;3862:2;3888:53;3933:7;3924:6;3913:9;3909:22;3888:53;:::i;:::-;3878:63;;3833:118;3339:619;;;;;:::o;3964:118::-;4051:24;4069:5;4051:24;:::i;:::-;4046:3;4039:37;3964:118;;:::o;4088:222::-;4181:4;4219:2;4208:9;4204:18;4196:26;;4232:71;4300:1;4289:9;4285:17;4276:6;4232:71;:::i;:::-;4088:222;;;;:::o;4316:86::-;4351:7;4391:4;4384:5;4380:16;4369:27;;4316:86;;;:::o;4408:112::-;4491:22;4507:5;4491:22;:::i;:::-;4486:3;4479:35;4408:112;;:::o;4526:214::-;4615:4;4653:2;4642:9;4638:18;4630:26;;4666:67;4730:1;4719:9;4715:17;4706:6;4666:67;:::i;:::-;4526:214;;;;:::o;4746:329::-;4805:6;4854:2;4842:9;4833:7;4829:23;4825:32;4822:119;;;4860:79;;:::i;:::-;4822:119;4980:1;5005:53;5050:7;5041:6;5030:9;5026:22;5005:53;:::i;:::-;4995:63;;4951:117;4746:329;;;;:::o;5081:::-;5140:6;5189:2;5177:9;5168:7;5164:23;5160:32;5157:119;;;5195:79;;:::i;:::-;5157:119;5315:1;5340:53;5385:7;5376:6;5365:9;5361:22;5340:53;:::i;:::-;5330:63;;5286:117;5081:329;;;;:::o;5416:118::-;5503:24;5521:5;5503:24;:::i;:::-;5498:3;5491:37;5416:118;;:::o;5540:222::-;5633:4;5671:2;5660:9;5656:18;5648:26;;5684:71;5752:1;5741:9;5737:17;5728:6;5684:71;:::i;:::-;5540:222;;;;:::o;5768:474::-;5836:6;5844;5893:2;5881:9;5872:7;5868:23;5864:32;5861:119;;;5899:79;;:::i;:::-;5861:119;6019:1;6044:53;6089:7;6080:6;6069:9;6065:22;6044:53;:::i;:::-;6034:63;;5990:117;6146:2;6172:53;6217:7;6208:6;6197:9;6193:22;6172:53;:::i;:::-;6162:63;;6117:118;5768:474;;;;;:::o;6248:180::-;6388:32;6384:1;6376:6;6372:14;6365:56;6248:180;:::o;6434:366::-;6576:3;6597:67;6661:2;6656:3;6597:67;:::i;:::-;6590:74;;6673:93;6762:3;6673:93;:::i;:::-;6791:2;6786:3;6782:12;6775:19;;6434:366;;;:::o;6806:419::-;6972:4;7010:2;6999:9;6995:18;6987:26;;7059:9;7053:4;7049:20;7045:1;7034:9;7030:17;7023:47;7087:131;7213:4;7087:131;:::i;:::-;7079:139;;6806:419;;;:::o;7231:143::-;7288:5;7319:6;7313:13;7304:22;;7335:33;7362:5;7335:33;:::i;:::-;7231:143;;;;:::o;7380:351::-;7450:6;7499:2;7487:9;7478:7;7474:23;7470:32;7467:119;;;7505:79;;:::i;:::-;7467:119;7625:1;7650:64;7706:7;7697:6;7686:9;7682:22;7650:64;:::i;:::-;7640:74;;7596:128;7380:351;;;;:::o;7737:161::-;7877:13;7873:1;7865:6;7861:14;7854:37;7737:161;:::o;7904:366::-;8046:3;8067:67;8131:2;8126:3;8067:67;:::i;:::-;8060:74;;8143:93;8232:3;8143:93;:::i;:::-;8261:2;8256:3;8252:12;8245:19;;7904:366;;;:::o;8276:419::-;8442:4;8480:2;8469:9;8465:18;8457:26;;8529:9;8523:4;8519:20;8515:1;8504:9;8500:17;8493:47;8557:131;8683:4;8557:131;:::i;:::-;8549:139;;8276:419;;;:::o;8701:332::-;8822:4;8860:2;8849:9;8845:18;8837:26;;8873:71;8941:1;8930:9;8926:17;8917:6;8873:71;:::i;:::-;8954:72;9022:2;9011:9;9007:18;8998:6;8954:72;:::i;:::-;8701:332;;;;;:::o;9039:116::-;9109:21;9124:5;9109:21;:::i;:::-;9102:5;9099:32;9089:60;;9145:1;9142;9135:12;9089:60;9039:116;:::o;9161:137::-;9215:5;9246:6;9240:13;9231:22;;9262:30;9286:5;9262:30;:::i;:::-;9161:137;;;;:::o;9304:345::-;9371:6;9420:2;9408:9;9399:7;9395:23;9391:32;9388:119;;;9426:79;;:::i;:::-;9388:119;9546:1;9571:61;9624:7;9615:6;9604:9;9600:22;9571:61;:::i;:::-;9561:71;;9517:125;9304:345;;;;:::o;9655:180::-;9703:77;9700:1;9693:88;9800:4;9797:1;9790:15;9824:4;9821:1;9814:15;9841:102;9883:8;9930:5;9927:1;9923:13;9902:34;;9841:102;;;:::o;9949:848::-;10010:5;10017:4;10041:6;10032:15;;10065:5;10056:14;;10079:712;10100:1;10090:8;10087:15;10079:712;;;10195:4;10190:3;10186:14;10180:4;10177:24;10174:50;;;10204:18;;:::i;:::-;10174:50;10254:1;10244:8;10240:16;10237:451;;;10669:4;10662:5;10658:16;10649:25;;10237:451;10719:4;10713;10709:15;10701:23;;10749:32;10772:8;10749:32;:::i;:::-;10737:44;;10079:712;;;9949:848;;;;;;;:::o;10803:1073::-;10857:5;11048:8;11038:40;;11069:1;11060:10;;11071:5;;11038:40;11097:4;11087:36;;11114:1;11105:10;;11116:5;;11087:36;11183:4;11231:1;11226:27;;;;11267:1;11262:191;;;;11176:277;;11226:27;11244:1;11235:10;;11246:5;;;11262:191;11307:3;11297:8;11294:17;11291:43;;;11314:18;;:::i;:::-;11291:43;11363:8;11360:1;11356:16;11347:25;;11398:3;11391:5;11388:14;11385:40;;;11405:18;;:::i;:::-;11385:40;11438:5;;;11176:277;;11562:2;11552:8;11549:16;11543:3;11537:4;11534:13;11530:36;11512:2;11502:8;11499:16;11494:2;11488:4;11485:12;11481:35;11465:111;11462:246;;;11618:8;11612:4;11608:19;11599:28;;11653:3;11646:5;11643:14;11640:40;;;11660:18;;:::i;:::-;11640:40;11693:5;;11462:246;11733:42;11771:3;11761:8;11755:4;11752:1;11733:42;:::i;:::-;11718:57;;;;11807:4;11802:3;11798:14;11791:5;11788:25;11785:51;;;11816:18;;:::i;:::-;11785:51;11865:4;11858:5;11854:16;11845:25;;10803:1073;;;;;;:::o;11882:281::-;11940:5;11964:23;11982:4;11964:23;:::i;:::-;11956:31;;12008:25;12024:8;12008:25;:::i;:::-;11996:37;;12052:104;12089:66;12079:8;12073:4;12052:104;:::i;:::-;12043:113;;11882:281;;;;:::o;12169:410::-;12209:7;12232:20;12250:1;12232:20;:::i;:::-;12227:25;;12266:20;12284:1;12266:20;:::i;:::-;12261:25;;12321:1;12318;12314:9;12343:30;12361:11;12343:30;:::i;:::-;12332:41;;12522:1;12513:7;12509:15;12506:1;12503:22;12483:1;12476:9;12456:83;12433:139;;12552:18;;:::i;:::-;12433:139;12217:362;12169:410;;;;:::o;12585:182::-;12725:34;12721:1;12713:6;12709:14;12702:58;12585:182;:::o;12773:366::-;12915:3;12936:67;13000:2;12995:3;12936:67;:::i;:::-;12929:74;;13012:93;13101:3;13012:93;:::i;:::-;13130:2;13125:3;13121:12;13114:19;;12773:366;;;:::o;13145:419::-;13311:4;13349:2;13338:9;13334:18;13326:26;;13398:9;13392:4;13388:20;13384:1;13373:9;13369:17;13362:47;13426:131;13552:4;13426:131;:::i;:::-;13418:139;;13145:419;;;:::o;13570:173::-;13710:25;13706:1;13698:6;13694:14;13687:49;13570:173;:::o;13749:366::-;13891:3;13912:67;13976:2;13971:3;13912:67;:::i;:::-;13905:74;;13988:93;14077:3;13988:93;:::i;:::-;14106:2;14101:3;14097:12;14090:19;;13749:366;;;:::o;14121:419::-;14287:4;14325:2;14314:9;14310:18;14302:26;;14374:9;14368:4;14364:20;14360:1;14349:9;14345:17;14338:47;14402:131;14528:4;14402:131;:::i;:::-;14394:139;;14121:419;;;:::o;14546:223::-;14686:34;14682:1;14674:6;14670:14;14663:58;14755:6;14750:2;14742:6;14738:15;14731:31;14546:223;:::o;14775:366::-;14917:3;14938:67;15002:2;14997:3;14938:67;:::i;:::-;14931:74;;15014:93;15103:3;15014:93;:::i;:::-;15132:2;15127:3;15123:12;15116:19;;14775:366;;;:::o;15147:419::-;15313:4;15351:2;15340:9;15336:18;15328:26;;15400:9;15394:4;15390:20;15386:1;15375:9;15371:17;15364:47;15428:131;15554:4;15428:131;:::i;:::-;15420:139;;15147:419;;;:::o;15572:221::-;15712:34;15708:1;15700:6;15696:14;15689:58;15781:4;15776:2;15768:6;15764:15;15757:29;15572:221;:::o;15799:366::-;15941:3;15962:67;16026:2;16021:3;15962:67;:::i;:::-;15955:74;;16038:93;16127:3;16038:93;:::i;:::-;16156:2;16151:3;16147:12;16140:19;;15799:366;;;:::o;16171:419::-;16337:4;16375:2;16364:9;16360:18;16352:26;;16424:9;16418:4;16414:20;16410:1;16399:9;16395:17;16388:47;16452:131;16578:4;16452:131;:::i;:::-;16444:139;;16171:419;;;:::o;16596:180::-;16644:77;16641:1;16634:88;16741:4;16738:1;16731:15;16765:4;16762:1;16755:15;16782:180;16830:77;16827:1;16820:88;16927:4;16924:1;16917:15;16951:4;16948:1;16941:15;16968:143;17025:5;17056:6;17050:13;17041:22;;17072:33;17099:5;17072:33;:::i;:::-;16968:143;;;;:::o;17117:351::-;17187:6;17236:2;17224:9;17215:7;17211:23;17207:32;17204:119;;;17242:79;;:::i;:::-;17204:119;17362:1;17387:64;17443:7;17434:6;17423:9;17419:22;17387:64;:::i;:::-;17377:74;;17333:128;17117:351;;;;:::o;17474:85::-;17519:7;17548:5;17537:16;;17474:85;;;:::o;17565:60::-;17593:3;17614:5;17607:12;;17565:60;;;:::o;17631:158::-;17689:9;17722:61;17740:42;17749:32;17775:5;17749:32;:::i;:::-;17740:42;:::i;:::-;17722:61;:::i;:::-;17709:74;;17631:158;;;:::o;17795:147::-;17890:45;17929:5;17890:45;:::i;:::-;17885:3;17878:58;17795:147;;:::o;17948:114::-;18015:6;18049:5;18043:12;18033:22;;17948:114;;;:::o;18068:184::-;18167:11;18201:6;18196:3;18189:19;18241:4;18236:3;18232:14;18217:29;;18068:184;;;;:::o;18258:132::-;18325:4;18348:3;18340:11;;18378:4;18373:3;18369:14;18361:22;;18258:132;;;:::o;18396:108::-;18473:24;18491:5;18473:24;:::i;:::-;18468:3;18461:37;18396:108;;:::o;18510:179::-;18579:10;18600:46;18642:3;18634:6;18600:46;:::i;:::-;18678:4;18673:3;18669:14;18655:28;;18510:179;;;;:::o;18695:113::-;18765:4;18797;18792:3;18788:14;18780:22;;18695:113;;;:::o;18844:732::-;18963:3;18992:54;19040:5;18992:54;:::i;:::-;19062:86;19141:6;19136:3;19062:86;:::i;:::-;19055:93;;19172:56;19222:5;19172:56;:::i;:::-;19251:7;19282:1;19267:284;19292:6;19289:1;19286:13;19267:284;;;19368:6;19362:13;19395:63;19454:3;19439:13;19395:63;:::i;:::-;19388:70;;19481:60;19534:6;19481:60;:::i;:::-;19471:70;;19327:224;19314:1;19311;19307:9;19302:14;;19267:284;;;19271:14;19567:3;19560:10;;18968:608;;;18844:732;;;;:::o;19582:831::-;19845:4;19883:3;19872:9;19868:19;19860:27;;19897:71;19965:1;19954:9;19950:17;19941:6;19897:71;:::i;:::-;19978:80;20054:2;20043:9;20039:18;20030:6;19978:80;:::i;:::-;20105:9;20099:4;20095:20;20090:2;20079:9;20075:18;20068:48;20133:108;20236:4;20227:6;20133:108;:::i;:::-;20125:116;;20251:72;20319:2;20308:9;20304:18;20295:6;20251:72;:::i;:::-;20333:73;20401:3;20390:9;20386:19;20377:6;20333:73;:::i;:::-;19582:831;;;;;;;;:::o;20419:224::-;20559:34;20555:1;20547:6;20543:14;20536:58;20628:7;20623:2;20615:6;20611:15;20604:32;20419:224;:::o;20649:366::-;20791:3;20812:67;20876:2;20871:3;20812:67;:::i;:::-;20805:74;;20888:93;20977:3;20888:93;:::i;:::-;21006:2;21001:3;20997:12;20990:19;;20649:366;;;:::o;21021:419::-;21187:4;21225:2;21214:9;21210:18;21202:26;;21274:9;21268:4;21264:20;21260:1;21249:9;21245:17;21238:47;21302:131;21428:4;21302:131;:::i;:::-;21294:139;;21021:419;;;:::o;21446:222::-;21586:34;21582:1;21574:6;21570:14;21563:58;21655:5;21650:2;21642:6;21638:15;21631:30;21446:222;:::o;21674:366::-;21816:3;21837:67;21901:2;21896:3;21837:67;:::i;:::-;21830:74;;21913:93;22002:3;21913:93;:::i;:::-;22031:2;22026:3;22022:12;22015:19;;21674:366;;;:::o;22046:419::-;22212:4;22250:2;22239:9;22235:18;22227:26;;22299:9;22293:4;22289:20;22285:1;22274:9;22270:17;22263:47;22327:131;22453:4;22327:131;:::i;:::-;22319:139;;22046:419;;;:::o;22471:228::-;22611:34;22607:1;22599:6;22595:14;22588:58;22680:11;22675:2;22667:6;22663:15;22656:36;22471:228;:::o;22705:366::-;22847:3;22868:67;22932:2;22927:3;22868:67;:::i;:::-;22861:74;;22944:93;23033:3;22944:93;:::i;:::-;23062:2;23057:3;23053:12;23046:19;;22705:366;;;:::o;23077:419::-;23243:4;23281:2;23270:9;23266:18;23258:26;;23330:9;23324:4;23320:20;23316:1;23305:9;23301:17;23294:47;23358:131;23484:4;23358:131;:::i;:::-;23350:139;;23077:419;;;:::o;23502:172::-;23642:24;23638:1;23630:6;23626:14;23619:48;23502:172;:::o;23680:366::-;23822:3;23843:67;23907:2;23902:3;23843:67;:::i;:::-;23836:74;;23919:93;24008:3;23919:93;:::i;:::-;24037:2;24032:3;24028:12;24021:19;;23680:366;;;:::o;24052:419::-;24218:4;24256:2;24245:9;24241:18;24233:26;;24305:9;24299:4;24295:20;24291:1;24280:9;24276:17;24269:47;24333:131;24459:4;24333:131;:::i;:::-;24325:139;;24052:419;;;:::o;24477:220::-;24617:34;24613:1;24605:6;24601:14;24594:58;24686:3;24681:2;24673:6;24669:15;24662:28;24477:220;:::o;24703:366::-;24845:3;24866:67;24930:2;24925:3;24866:67;:::i;:::-;24859:74;;24942:93;25031:3;24942:93;:::i;:::-;25060:2;25055:3;25051:12;25044:19;;24703:366;;;:::o;25075:419::-;25241:4;25279:2;25268:9;25264:18;25256:26;;25328:9;25322:4;25318:20;25314:1;25303:9;25299:17;25292:47;25356:131;25482:4;25356:131;:::i;:::-;25348:139;;25075:419;;;:::o;25500:191::-;25540:3;25559:20;25577:1;25559:20;:::i;:::-;25554:25;;25593:20;25611:1;25593:20;:::i;:::-;25588:25;;25636:1;25633;25629:9;25622:16;;25657:3;25654:1;25651:10;25648:36;;;25664:18;;:::i;:::-;25648:36;25500:191;;;;:::o;25697:176::-;25837:28;25833:1;25825:6;25821:14;25814:52;25697:176;:::o;25879:366::-;26021:3;26042:67;26106:2;26101:3;26042:67;:::i;:::-;26035:74;;26118:93;26207:3;26118:93;:::i;:::-;26236:2;26231:3;26227:12;26220:19;;25879:366;;;:::o;26251:419::-;26417:4;26455:2;26444:9;26440:18;26432:26;;26504:9;26498:4;26494:20;26490:1;26479:9;26475:17;26468:47;26532:131;26658:4;26532:131;:::i;:::-;26524:139;;26251:419;;;:::o;26676:194::-;26716:4;26736:20;26754:1;26736:20;:::i;:::-;26731:25;;26770:20;26788:1;26770:20;:::i;:::-;26765:25;;26814:1;26811;26807:9;26799:17;;26838:1;26832:4;26829:11;26826:37;;;26843:18;;:::i;:::-;26826:37;26676:194;;;;:::o;26876:180::-;26924:77;26921:1;26914:88;27021:4;27018:1;27011:15;27045:4;27042:1;27035:15;27062:185;27102:1;27119:20;27137:1;27119:20;:::i;:::-;27114:25;;27153:20;27171:1;27153:20;:::i;:::-;27148:25;;27192:1;27182:35;;27197:18;;:::i;:::-;27182:35;27239:1;27236;27232:9;27227:14;;27062:185;;;;:::o;27253:220::-;27393:34;27389:1;27381:6;27377:14;27370:58;27462:3;27457:2;27449:6;27445:15;27438:28;27253:220;:::o;27479:366::-;27621:3;27642:67;27706:2;27701:3;27642:67;:::i;:::-;27635:74;;27718:93;27807:3;27718:93;:::i;:::-;27836:2;27831:3;27827:12;27820:19;;27479:366;;;:::o;27851:419::-;28017:4;28055:2;28044:9;28040:18;28032:26;;28104:9;28098:4;28094:20;28090:1;28079:9;28075:17;28068:47;28132:131;28258:4;28132:131;:::i;:::-;28124:139;;27851:419;;;:::o;28276:177::-;28416:29;28412:1;28404:6;28400:14;28393:53;28276:177;:::o;28459:366::-;28601:3;28622:67;28686:2;28681:3;28622:67;:::i;:::-;28615:74;;28698:93;28787:3;28698:93;:::i;:::-;28816:2;28811:3;28807:12;28800:19;;28459:366;;;:::o;28831:419::-;28997:4;29035:2;29024:9;29020:18;29012:26;;29084:9;29078:4;29074:20;29070:1;29059:9;29055:17;29048:47;29112:131;29238:4;29112:131;:::i;:::-;29104:139;;28831:419;;;:::o
Swarm Source
ipfs://65d86b3fb198af6013cb3e151653abc6a98684ecaa6b59bd2b7b6db07760838f
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.
Add Token to MetaMask (Web3)