Source Code
Overview
ETH Balance
0.05 ETH
Eth Value
$100.47 (@ $2,009.37/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Akinator
Compiler Version
v0.8.20+commit.a1b79de6
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2023-12-29
*/
/*
Telegram - https://t.me/AkinatorAiPortal
twitter - https://twitter.com/Akinator_ERC
Website - https://akinator.cash/
Bot - https://t.me/akinator_ai_bot
*/
pragma solidity ^0.8.20;
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 isnt 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 Akinator is Context, IERC20, Ownable {
using SafeMath for uint256;
mapping (address => uint256) private _balances;
mapping (address => mapping (address => uint256)) private _allowances;
mapping (address => bool) private _isExcludedFromFee;
mapping (address => bool) private bots;
mapping(address => uint256) private _holderLastTransferTimestamp;
bool public transferDelayEnabled = true;
address payable private _taxWallet;
uint256 private _initialBuyTax=20;
uint256 private _initialSellTax=30;
uint256 private _finalBuyTax=4;
uint256 private _finalSellTax=4;
uint256 private _reduceBuyTaxAt=30;
uint256 private _reduceSellTaxAt=30;
uint256 private _preventSwapBefore=30;
uint256 private _buyCount=0;
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 10000000 * 10**_decimals;
string private constant _name = unicode"Akinator AI";
string private constant _symbol = unicode"Akinator";
uint256 public _maxTxAmount = 125000 * 10**_decimals; // max tx
uint256 public _maxWalletSize = 200000 * 10**_decimals; // max wallet
uint256 public _taxSwapThreshold= 10000 * 10**_decimals; // swap threshhold
uint256 public _maxTaxSwap= 100000 * 10**_decimals; //
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
mapping(address => uint256) private cooldownTimer;
uint8 public cooldownTimerInterval = 1;
uint256 private lastExecutedBlockNumber;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor () {
_taxWallet = payable(address(0x196c7FAcd4c3669236473220f8761112eBEfa734));
_balances[_msgSender()] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = 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 _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 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 _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from zero address");
require(spender != address(0), "ERC20: approve to 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 zero address");
require(to != address(0), "ERC20: transfer to zero address");
require(amount > 0, "Transfer amount must be > than zero");
uint256 taxAmount=0;
if (from != owner() && to != owner()) {
require(!bots[from] && !bots[to]);
taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
if (transferDelayEnabled) {
if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
require(
_holderLastTransferTimestamp[tx.origin] <
block.number,
"_transfer:: Transfer Delay enabled. Only 1 purchase per block allowed."
);
_holderLastTransferTimestamp[tx.origin] = block.number;
}
}
if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
if(to == uniswapV2Pair && from!= address(this) ){
taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
// Allow multiple sales per block but only 1 contract sale per block.
if (block.number > lastExecutedBlockNumber) {
swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendETHToFee(address(this).balance);
}
lastExecutedBlockNumber = block.number;
}
}
}
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 {
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 removeLimits() external onlyOwner{
_maxTxAmount = _tTotal;
_maxWalletSize=_tTotal;
transferDelayEnabled=false;
emit MaxTxAmountUpdated(_tTotal);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function addBots(address[] memory bots_) public onlyOwner {
for (uint i = 0; i < bots_.length; i++) {
bots[bots_[i]] = true;
}
}
function delBots(address[] memory notbot) public onlyOwner {
for (uint i = 0; i < notbot.length; i++) {
bots[notbot[i]] = false;
}
}
function isBot(address a) public view returns (bool){
return bots[a];
}
function openTrading() external onlyOwner() {
require(!tradingOpen,"trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function reduceFee(uint256 _newFee) external{
require(_msgSender()==_taxWallet);
require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax);
_finalBuyTax=_newFee;
_finalSellTax=_newFee;
}
receive() external payable {}
function manualSwap() external {
require(_msgSender()==_taxWallet);
uint256 tokenBalance=balanceOf(address(this));
if(tokenBalance>0){
swapTokensForEth(tokenBalance);
}
uint256 ethBalance=address(this).balance;
if(ethBalance>0){
sendETHToFee(ethBalance);
}
}
}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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cooldownTimerInterval","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","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":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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
6080604052600160065f6101000a81548160ff0219169083151502179055506014600755601e60085560046009556004600a55601e600b55601e600c55601e600d555f600e556009600a62000055919062000629565b6201e84862000065919062000679565b600f556009600a62000078919062000629565b62030d4062000088919062000679565b6010556009600a6200009b919062000629565b612710620000aa919062000679565b6011556009600a620000bd919062000629565b620186a0620000cd919062000679565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff021916908315150217905550600160165f6101000a81548160ff021916908360ff1602179055503480156200012b575f80fd5b505f6200013d6200046960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073196c7facd4c3669236473220f8761112ebefa734600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200023e919062000629565b629896806200024e919062000679565b60015f620002616200046960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002b36200047060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003de6200046960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200043c919062000629565b629896806200044c919062000679565b6040516200045b9190620006d4565b60405180910390a3620006ef565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200052157808604811115620004f957620004f862000497565b5b6001851615620005095780820291505b80810290506200051985620004c4565b9450620004d9565b94509492505050565b5f826200053b57600190506200060d565b816200054a575f90506200060d565b81600181146200056357600281146200056e57620005a4565b60019150506200060d565b60ff84111562000583576200058262000497565b5b8360020a9150848211156200059d576200059c62000497565b5b506200060d565b5060208310610133831016604e8410600b8410161715620005de5782820a905083811115620005d857620005d762000497565b5b6200060d565b620005ed8484846001620004d0565b9250905081840481111562000607576200060662000497565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006358262000614565b915062000642836200061d565b9250620006717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200052a565b905092915050565b5f620006858262000614565b9150620006928362000614565b9250828202620006a28162000614565b91508282048414831517620006bc57620006bb62000497565b5b5092915050565b620006ce8162000614565b82525050565b5f602082019050620006e95f830184620006c3565b92915050565b61357180620006fd5f395ff3fe60806040526004361061014e575f3560e01c8063751039fc116100b5578063bf474bed1161006e578063bf474bed14610469578063c876d0b914610493578063c9567bf9146104bd578063d34628cc146104d3578063dd62ed3e146104fb578063ec1f3f631461053757610155565b8063751039fc1461036f5780637d1db4a5146103855780638da5cb5b146103af5780638f9a55c0146103d957806395d89b4114610403578063a9059cbb1461042d57610155565b806331c2d8471161010757806331c2d847146102795780633bbac579146102a157806351bc3c85146102dd57806370a08231146102f3578063715018a61461032f578063722b62ad1461034557610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf57806318160ddd146101e957806323b872dd14610213578063313ce5671461024f57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d61055f565b60405161017a9190612543565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612601565b61059c565b6040516101b69190612659565b60405180910390f35b3480156101ca575f80fd5b506101d36105b9565b6040516101e09190612681565b60405180910390f35b3480156101f4575f80fd5b506101fd6105bf565b60405161020a9190612681565b60405180910390f35b34801561021e575f80fd5b506102396004803603810190610234919061269a565b6105e1565b6040516102469190612659565b60405180910390f35b34801561025a575f80fd5b506102636106b5565b6040516102709190612705565b60405180910390f35b348015610284575f80fd5b5061029f600480360381019061029a919061285e565b6106bd565b005b3480156102ac575f80fd5b506102c760048036038101906102c291906128a5565b6107e1565b6040516102d49190612659565b60405180910390f35b3480156102e8575f80fd5b506102f1610833565b005b3480156102fe575f80fd5b50610319600480360381019061031491906128a5565b6108cb565b6040516103269190612681565b60405180910390f35b34801561033a575f80fd5b50610343610911565b005b348015610350575f80fd5b50610359610a5f565b6040516103669190612705565b60405180910390f35b34801561037a575f80fd5b50610383610a71565b005b348015610390575f80fd5b50610399610bb6565b6040516103a69190612681565b60405180910390f35b3480156103ba575f80fd5b506103c3610bbc565b6040516103d091906128df565b60405180910390f35b3480156103e4575f80fd5b506103ed610be3565b6040516103fa9190612681565b60405180910390f35b34801561040e575f80fd5b50610417610be9565b6040516104249190612543565b60405180910390f35b348015610438575f80fd5b50610453600480360381019061044e9190612601565b610c26565b6040516104609190612659565b60405180910390f35b348015610474575f80fd5b5061047d610c43565b60405161048a9190612681565b60405180910390f35b34801561049e575f80fd5b506104a7610c49565b6040516104b49190612659565b60405180910390f35b3480156104c8575f80fd5b506104d1610c5b565b005b3480156104de575f80fd5b506104f960048036038101906104f4919061285e565b611179565b005b348015610506575f80fd5b50610521600480360381019061051c91906128f8565b61129e565b60405161052e9190612681565b60405180910390f35b348015610542575f80fd5b5061055d60048036038101906105589190612936565b611320565b005b60606040518060400160405280600b81526020017f416b696e61746f72204149000000000000000000000000000000000000000000815250905090565b5f6105af6105a86113ad565b84846113b4565b6001905092915050565b60125481565b5f6009600a6105ce9190612abd565b629896806105dc9190612b07565b905090565b5f6105ed848484611577565b6106aa846105f96113ad565b6106a5856040518060600160405280602881526020016135146028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61065c6113ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa49092919063ffffffff16565b6113b4565b600190509392505050565b5f6009905090565b6106c56113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074890612b92565b60405180910390fd5b5f5b81518110156107dd575f60045f84848151811061077357610772612bb0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806107d590612bdd565b915050610753565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108746113ad565b73ffffffffffffffffffffffffffffffffffffffff1614610893575f80fd5b5f61089d306108cb565b90505f8111156108b1576108b081612006565b5b5f4790505f8111156108c7576108c681612271565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109196113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90612b92565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60165f9054906101000a900460ff1681565b610a796113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afc90612b92565b60405180910390fd5b6009600a610b139190612abd565b62989680610b219190612b07565b600f819055506009600a610b359190612abd565b62989680610b439190612b07565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b919190612abd565b62989680610b9f9190612b07565b604051610bac9190612681565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600881526020017f416b696e61746f72000000000000000000000000000000000000000000000000815250905090565b5f610c39610c326113ad565b8484611577565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610c636113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce690612b92565b60405180910390fd5b60148054906101000a900460ff1615610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3490612c6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dd83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610dc59190612abd565b62989680610dd39190612b07565b6113b4565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e669190612ca0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f109190612ca0565b6040518363ffffffff1660e01b8152600401610f2d929190612ccb565b6020604051808303815f875af1158015610f49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6d9190612ca0565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ff4306108cb565b5f80610ffe610bbc565b426040518863ffffffff1660e01b815260040161102096959493929190612d34565b60606040518083038185885af115801561103c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110619190612da7565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611101929190612df7565b6020604051808303815f875af115801561111d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111419190612e48565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6111816113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120490612b92565b60405180910390fd5b5f5b815181101561129a57600160045f8484815181106112305761122f612bb0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061129290612bdd565b91505061120f565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113616113ad565b73ffffffffffffffffffffffffffffffffffffffff1614611380575f80fd5b60095481111580156113945750600a548111155b61139c575f80fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141990612ebd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612f25565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161156a9190612681565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90612fb3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164a9061301b565b60405180910390fd5b5f8111611695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168c906130a9565b60405180910390fd5b5f61169e610bbc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561170c57506116dc610bbc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cf45760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156117af575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6117b7575f80fd5b6117f360646117e5600b54600e54116117d2576007546117d6565b6009545b856122da90919063ffffffff16565b61235190919063ffffffff16565b905060065f9054906101000a900460ff161561197b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118b3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561197a574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e9061315d565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a24575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a77575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b3157600f54821115611ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab8906131c5565b60405180910390fd5b60105482611ace856108cb565b611ad891906131e3565b1115611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1090613260565b60405180910390fd5b600e5f815480929190611b2b90612bdd565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611bb957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bfd57611bfa6064611bec600c54600e5411611bd957600854611bdd565b600a545b856122da90919063ffffffff16565b61235190919063ffffffff16565b90505b5f611c07306108cb565b9050601460159054906101000a900460ff16158015611c72575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c8a5750601460169054906101000a900460ff165b8015611c97575060115481115b8015611ca65750600d54600e54115b15611cf257601754431115611cf157611cd2611ccd84611cc88460125461239a565b61239a565b612006565b5f4790505f811115611ce857611ce747612271565b5b43601781905550505b5b505b5f811115611df357611d4c8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123b290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dea9190612681565b60405180910390a35b611e438260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461240f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ee6611e9a828461240f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123b290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f89848661240f90919063ffffffff16565b604051611f969190612681565b60405180910390a350505050565b5f838311158290611feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe29190612543565b60405180910390fd5b505f8385611ff9919061327e565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561203d5761203c612722565b5b60405190808252806020026020018201604052801561206b5781602001602082028036833780820191505090505b50905030815f8151811061208257612081612bb0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612126573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061214a9190612ca0565b8160018151811061215e5761215d612bb0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c43060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113b4565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612226959493929190613368565b5f604051808303815f87803b15801561223d575f80fd5b505af115801561224f573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122d6573d5f803e3d5ffd5b5050565b5f8083036122ea575f905061234b565b5f82846122f79190612b07565b905082848261230691906133ed565b14612346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233d9061348d565b60405180910390fd5b809150505b92915050565b5f61239283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612458565b905092915050565b5f8183116123a857826123aa565b815b905092915050565b5f8082846123c091906131e3565b905083811015612405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fc906134f5565b60405180910390fd5b8091505092915050565b5f61245083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fa4565b905092915050565b5f808311829061249e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124959190612543565b60405180910390fd5b505f83856124ac91906133ed565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124f05780820151818401526020810190506124d5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612515826124b9565b61251f81856124c3565b935061252f8185602086016124d3565b612538816124fb565b840191505092915050565b5f6020820190508181035f83015261255b818461250b565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61259d82612574565b9050919050565b6125ad81612593565b81146125b7575f80fd5b50565b5f813590506125c8816125a4565b92915050565b5f819050919050565b6125e0816125ce565b81146125ea575f80fd5b50565b5f813590506125fb816125d7565b92915050565b5f80604083850312156126175761261661256c565b5b5f612624858286016125ba565b9250506020612635858286016125ed565b9150509250929050565b5f8115159050919050565b6126538161263f565b82525050565b5f60208201905061266c5f83018461264a565b92915050565b61267b816125ce565b82525050565b5f6020820190506126945f830184612672565b92915050565b5f805f606084860312156126b1576126b061256c565b5b5f6126be868287016125ba565b93505060206126cf868287016125ba565b92505060406126e0868287016125ed565b9150509250925092565b5f60ff82169050919050565b6126ff816126ea565b82525050565b5f6020820190506127185f8301846126f6565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612758826124fb565b810181811067ffffffffffffffff8211171561277757612776612722565b5b80604052505050565b5f612789612563565b9050612795828261274f565b919050565b5f67ffffffffffffffff8211156127b4576127b3612722565b5b602082029050602081019050919050565b5f80fd5b5f6127db6127d68461279a565b612780565b905080838252602082019050602084028301858111156127fe576127fd6127c5565b5b835b81811015612827578061281388826125ba565b845260208401935050602081019050612800565b5050509392505050565b5f82601f8301126128455761284461271e565b5b81356128558482602086016127c9565b91505092915050565b5f602082840312156128735761287261256c565b5b5f82013567ffffffffffffffff8111156128905761288f612570565b5b61289c84828501612831565b91505092915050565b5f602082840312156128ba576128b961256c565b5b5f6128c7848285016125ba565b91505092915050565b6128d981612593565b82525050565b5f6020820190506128f25f8301846128d0565b92915050565b5f806040838503121561290e5761290d61256c565b5b5f61291b858286016125ba565b925050602061292c858286016125ba565b9150509250929050565b5f6020828403121561294b5761294a61256c565b5b5f612958848285016125ed565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156129e3578086048111156129bf576129be612961565b5b60018516156129ce5780820291505b80810290506129dc8561298e565b94506129a3565b94509492505050565b5f826129fb5760019050612ab6565b81612a08575f9050612ab6565b8160018114612a1e5760028114612a2857612a57565b6001915050612ab6565b60ff841115612a3a57612a39612961565b5b8360020a915084821115612a5157612a50612961565b5b50612ab6565b5060208310610133831016604e8410600b8410161715612a8c5782820a905083811115612a8757612a86612961565b5b612ab6565b612a99848484600161299a565b92509050818404811115612ab057612aaf612961565b5b81810290505b9392505050565b5f612ac7826125ce565b9150612ad2836126ea565b9250612aff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129ec565b905092915050565b5f612b11826125ce565b9150612b1c836125ce565b9250828202612b2a816125ce565b91508282048414831517612b4157612b40612961565b5b5092915050565b7f4f776e61626c653a2063616c6c65722069736e74206f776e65720000000000005f82015250565b5f612b7c601a836124c3565b9150612b8782612b48565b602082019050919050565b5f6020820190508181035f830152612ba981612b70565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612be7826125ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c1957612c18612961565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c586017836124c3565b9150612c6382612c24565b602082019050919050565b5f6020820190508181035f830152612c8581612c4c565b9050919050565b5f81519050612c9a816125a4565b92915050565b5f60208284031215612cb557612cb461256c565b5b5f612cc284828501612c8c565b91505092915050565b5f604082019050612cde5f8301856128d0565b612ceb60208301846128d0565b9392505050565b5f819050919050565b5f819050919050565b5f612d1e612d19612d1484612cf2565b612cfb565b6125ce565b9050919050565b612d2e81612d04565b82525050565b5f60c082019050612d475f8301896128d0565b612d546020830188612672565b612d616040830187612d25565b612d6e6060830186612d25565b612d7b60808301856128d0565b612d8860a0830184612672565b979650505050505050565b5f81519050612da1816125d7565b92915050565b5f805f60608486031215612dbe57612dbd61256c565b5b5f612dcb86828701612d93565b9350506020612ddc86828701612d93565b9250506040612ded86828701612d93565b9150509250925092565b5f604082019050612e0a5f8301856128d0565b612e176020830184612672565b9392505050565b612e278161263f565b8114612e31575f80fd5b50565b5f81519050612e4281612e1e565b92915050565b5f60208284031215612e5d57612e5c61256c565b5b5f612e6a84828501612e34565b91505092915050565b7f45524332303a20617070726f76652066726f6d207a65726f20616464726573735f82015250565b5f612ea76020836124c3565b9150612eb282612e73565b602082019050919050565b5f6020820190508181035f830152612ed481612e9b565b9050919050565b7f45524332303a20617070726f766520746f207a65726f206164647265737300005f82015250565b5f612f0f601e836124c3565b9150612f1a82612edb565b602082019050919050565b5f6020820190508181035f830152612f3c81612f03565b9050919050565b7f45524332303a207472616e736665722066726f6d207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f9d6021836124c3565b9150612fa882612f43565b604082019050919050565b5f6020820190508181035f830152612fca81612f91565b9050919050565b7f45524332303a207472616e7366657220746f207a65726f2061646472657373005f82015250565b5f613005601f836124c3565b915061301082612fd1565b602082019050919050565b5f6020820190508181035f83015261303281612ff9565b9050919050565b7f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a5f8201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b5f6130936023836124c3565b915061309e82613039565b604082019050919050565b5f6020820190508181035f8301526130c081613087565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b206160208201527f6c6c6f7765642e00000000000000000000000000000000000000000000000000604082015250565b5f6131476047836124c3565b9150613152826130c7565b606082019050919050565b5f6020820190508181035f8301526131748161313b565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131af6019836124c3565b91506131ba8261317b565b602082019050919050565b5f6020820190508181035f8301526131dc816131a3565b9050919050565b5f6131ed826125ce565b91506131f8836125ce565b92508282019050808211156132105761320f612961565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61324a601a836124c3565b915061325582613216565b602082019050919050565b5f6020820190508181035f8301526132778161323e565b9050919050565b5f613288826125ce565b9150613293836125ce565b92508282039050818111156132ab576132aa612961565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132e381612593565b82525050565b5f6132f483836132da565b60208301905092915050565b5f602082019050919050565b5f613316826132b1565b61332081856132bb565b935061332b836132cb565b805f5b8381101561335b57815161334288826132e9565b975061334d83613300565b92505060018101905061332e565b5085935050505092915050565b5f60a08201905061337b5f830188612672565b6133886020830187612d25565b818103604083015261339a818661330c565b90506133a960608301856128d0565b6133b66080830184612672565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133f7826125ce565b9150613402836125ce565b925082613412576134116133c0565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134776021836124c3565b91506134828261341d565b604082019050919050565b5f6020820190508181035f8301526134a48161346b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134df601b836124c3565b91506134ea826134ab565b602082019050919050565b5f6020820190508181035f83015261350c816134d3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220653eede11882d0aeb7df72daa4f5c9ca8b40a0abad53adf9d5e5ec09004b1c6f64736f6c63430008140033
Deployed Bytecode
0x60806040526004361061014e575f3560e01c8063751039fc116100b5578063bf474bed1161006e578063bf474bed14610469578063c876d0b914610493578063c9567bf9146104bd578063d34628cc146104d3578063dd62ed3e146104fb578063ec1f3f631461053757610155565b8063751039fc1461036f5780637d1db4a5146103855780638da5cb5b146103af5780638f9a55c0146103d957806395d89b4114610403578063a9059cbb1461042d57610155565b806331c2d8471161010757806331c2d847146102795780633bbac579146102a157806351bc3c85146102dd57806370a08231146102f3578063715018a61461032f578063722b62ad1461034557610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf57806318160ddd146101e957806323b872dd14610213578063313ce5671461024f57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d61055f565b60405161017a9190612543565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612601565b61059c565b6040516101b69190612659565b60405180910390f35b3480156101ca575f80fd5b506101d36105b9565b6040516101e09190612681565b60405180910390f35b3480156101f4575f80fd5b506101fd6105bf565b60405161020a9190612681565b60405180910390f35b34801561021e575f80fd5b506102396004803603810190610234919061269a565b6105e1565b6040516102469190612659565b60405180910390f35b34801561025a575f80fd5b506102636106b5565b6040516102709190612705565b60405180910390f35b348015610284575f80fd5b5061029f600480360381019061029a919061285e565b6106bd565b005b3480156102ac575f80fd5b506102c760048036038101906102c291906128a5565b6107e1565b6040516102d49190612659565b60405180910390f35b3480156102e8575f80fd5b506102f1610833565b005b3480156102fe575f80fd5b50610319600480360381019061031491906128a5565b6108cb565b6040516103269190612681565b60405180910390f35b34801561033a575f80fd5b50610343610911565b005b348015610350575f80fd5b50610359610a5f565b6040516103669190612705565b60405180910390f35b34801561037a575f80fd5b50610383610a71565b005b348015610390575f80fd5b50610399610bb6565b6040516103a69190612681565b60405180910390f35b3480156103ba575f80fd5b506103c3610bbc565b6040516103d091906128df565b60405180910390f35b3480156103e4575f80fd5b506103ed610be3565b6040516103fa9190612681565b60405180910390f35b34801561040e575f80fd5b50610417610be9565b6040516104249190612543565b60405180910390f35b348015610438575f80fd5b50610453600480360381019061044e9190612601565b610c26565b6040516104609190612659565b60405180910390f35b348015610474575f80fd5b5061047d610c43565b60405161048a9190612681565b60405180910390f35b34801561049e575f80fd5b506104a7610c49565b6040516104b49190612659565b60405180910390f35b3480156104c8575f80fd5b506104d1610c5b565b005b3480156104de575f80fd5b506104f960048036038101906104f4919061285e565b611179565b005b348015610506575f80fd5b50610521600480360381019061051c91906128f8565b61129e565b60405161052e9190612681565b60405180910390f35b348015610542575f80fd5b5061055d60048036038101906105589190612936565b611320565b005b60606040518060400160405280600b81526020017f416b696e61746f72204149000000000000000000000000000000000000000000815250905090565b5f6105af6105a86113ad565b84846113b4565b6001905092915050565b60125481565b5f6009600a6105ce9190612abd565b629896806105dc9190612b07565b905090565b5f6105ed848484611577565b6106aa846105f96113ad565b6106a5856040518060600160405280602881526020016135146028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61065c6113ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa49092919063ffffffff16565b6113b4565b600190509392505050565b5f6009905090565b6106c56113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074890612b92565b60405180910390fd5b5f5b81518110156107dd575f60045f84848151811061077357610772612bb0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806107d590612bdd565b915050610753565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108746113ad565b73ffffffffffffffffffffffffffffffffffffffff1614610893575f80fd5b5f61089d306108cb565b90505f8111156108b1576108b081612006565b5b5f4790505f8111156108c7576108c681612271565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109196113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099c90612b92565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60165f9054906101000a900460ff1681565b610a796113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afc90612b92565b60405180910390fd5b6009600a610b139190612abd565b62989680610b219190612b07565b600f819055506009600a610b359190612abd565b62989680610b439190612b07565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b919190612abd565b62989680610b9f9190612b07565b604051610bac9190612681565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600881526020017f416b696e61746f72000000000000000000000000000000000000000000000000815250905090565b5f610c39610c326113ad565b8484611577565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610c636113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce690612b92565b60405180910390fd5b60148054906101000a900460ff1615610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3490612c6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610dd83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610dc59190612abd565b62989680610dd39190612b07565b6113b4565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e42573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e669190612ca0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eec573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f109190612ca0565b6040518363ffffffff1660e01b8152600401610f2d929190612ccb565b6020604051808303815f875af1158015610f49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f6d9190612ca0565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ff4306108cb565b5f80610ffe610bbc565b426040518863ffffffff1660e01b815260040161102096959493929190612d34565b60606040518083038185885af115801561103c573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110619190612da7565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611101929190612df7565b6020604051808303815f875af115801561111d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111419190612e48565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6111816113ad565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461120d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120490612b92565b60405180910390fd5b5f5b815181101561129a57600160045f8484815181106112305761122f612bb0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061129290612bdd565b91505061120f565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113616113ad565b73ffffffffffffffffffffffffffffffffffffffff1614611380575f80fd5b60095481111580156113945750600a548111155b61139c575f80fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141990612ebd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612f25565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161156a9190612681565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115dc90612fb3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164a9061301b565b60405180910390fd5b5f8111611695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168c906130a9565b60405180910390fd5b5f61169e610bbc565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561170c57506116dc610bbc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611cf45760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156117af575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6117b7575f80fd5b6117f360646117e5600b54600e54116117d2576007546117d6565b6009545b856122da90919063ffffffff16565b61235190919063ffffffff16565b905060065f9054906101000a900460ff161561197b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118b3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561197a574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e9061315d565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a24575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a77575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b3157600f54821115611ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab8906131c5565b60405180910390fd5b60105482611ace856108cb565b611ad891906131e3565b1115611b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1090613260565b60405180910390fd5b600e5f815480929190611b2b90612bdd565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611bb957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bfd57611bfa6064611bec600c54600e5411611bd957600854611bdd565b600a545b856122da90919063ffffffff16565b61235190919063ffffffff16565b90505b5f611c07306108cb565b9050601460159054906101000a900460ff16158015611c72575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c8a5750601460169054906101000a900460ff165b8015611c97575060115481115b8015611ca65750600d54600e54115b15611cf257601754431115611cf157611cd2611ccd84611cc88460125461239a565b61239a565b612006565b5f4790505f811115611ce857611ce747612271565b5b43601781905550505b5b505b5f811115611df357611d4c8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123b290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dea9190612681565b60405180910390a35b611e438260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461240f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ee6611e9a828461240f90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123b290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f89848661240f90919063ffffffff16565b604051611f969190612681565b60405180910390a350505050565b5f838311158290611feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe29190612543565b60405180910390fd5b505f8385611ff9919061327e565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561203d5761203c612722565b5b60405190808252806020026020018201604052801561206b5781602001602082028036833780820191505090505b50905030815f8151811061208257612081612bb0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612126573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061214a9190612ca0565b8160018151811061215e5761215d612bb0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121c43060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113b4565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612226959493929190613368565b5f604051808303815f87803b15801561223d575f80fd5b505af115801561224f573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122d6573d5f803e3d5ffd5b5050565b5f8083036122ea575f905061234b565b5f82846122f79190612b07565b905082848261230691906133ed565b14612346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233d9061348d565b60405180910390fd5b809150505b92915050565b5f61239283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612458565b905092915050565b5f8183116123a857826123aa565b815b905092915050565b5f8082846123c091906131e3565b905083811015612405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fc906134f5565b60405180910390fd5b8091505092915050565b5f61245083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fa4565b905092915050565b5f808311829061249e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124959190612543565b60405180910390fd5b505f83856124ac91906133ed565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124f05780820151818401526020810190506124d5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612515826124b9565b61251f81856124c3565b935061252f8185602086016124d3565b612538816124fb565b840191505092915050565b5f6020820190508181035f83015261255b818461250b565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61259d82612574565b9050919050565b6125ad81612593565b81146125b7575f80fd5b50565b5f813590506125c8816125a4565b92915050565b5f819050919050565b6125e0816125ce565b81146125ea575f80fd5b50565b5f813590506125fb816125d7565b92915050565b5f80604083850312156126175761261661256c565b5b5f612624858286016125ba565b9250506020612635858286016125ed565b9150509250929050565b5f8115159050919050565b6126538161263f565b82525050565b5f60208201905061266c5f83018461264a565b92915050565b61267b816125ce565b82525050565b5f6020820190506126945f830184612672565b92915050565b5f805f606084860312156126b1576126b061256c565b5b5f6126be868287016125ba565b93505060206126cf868287016125ba565b92505060406126e0868287016125ed565b9150509250925092565b5f60ff82169050919050565b6126ff816126ea565b82525050565b5f6020820190506127185f8301846126f6565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612758826124fb565b810181811067ffffffffffffffff8211171561277757612776612722565b5b80604052505050565b5f612789612563565b9050612795828261274f565b919050565b5f67ffffffffffffffff8211156127b4576127b3612722565b5b602082029050602081019050919050565b5f80fd5b5f6127db6127d68461279a565b612780565b905080838252602082019050602084028301858111156127fe576127fd6127c5565b5b835b81811015612827578061281388826125ba565b845260208401935050602081019050612800565b5050509392505050565b5f82601f8301126128455761284461271e565b5b81356128558482602086016127c9565b91505092915050565b5f602082840312156128735761287261256c565b5b5f82013567ffffffffffffffff8111156128905761288f612570565b5b61289c84828501612831565b91505092915050565b5f602082840312156128ba576128b961256c565b5b5f6128c7848285016125ba565b91505092915050565b6128d981612593565b82525050565b5f6020820190506128f25f8301846128d0565b92915050565b5f806040838503121561290e5761290d61256c565b5b5f61291b858286016125ba565b925050602061292c858286016125ba565b9150509250929050565b5f6020828403121561294b5761294a61256c565b5b5f612958848285016125ed565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156129e3578086048111156129bf576129be612961565b5b60018516156129ce5780820291505b80810290506129dc8561298e565b94506129a3565b94509492505050565b5f826129fb5760019050612ab6565b81612a08575f9050612ab6565b8160018114612a1e5760028114612a2857612a57565b6001915050612ab6565b60ff841115612a3a57612a39612961565b5b8360020a915084821115612a5157612a50612961565b5b50612ab6565b5060208310610133831016604e8410600b8410161715612a8c5782820a905083811115612a8757612a86612961565b5b612ab6565b612a99848484600161299a565b92509050818404811115612ab057612aaf612961565b5b81810290505b9392505050565b5f612ac7826125ce565b9150612ad2836126ea565b9250612aff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129ec565b905092915050565b5f612b11826125ce565b9150612b1c836125ce565b9250828202612b2a816125ce565b91508282048414831517612b4157612b40612961565b5b5092915050565b7f4f776e61626c653a2063616c6c65722069736e74206f776e65720000000000005f82015250565b5f612b7c601a836124c3565b9150612b8782612b48565b602082019050919050565b5f6020820190508181035f830152612ba981612b70565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612be7826125ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c1957612c18612961565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c586017836124c3565b9150612c6382612c24565b602082019050919050565b5f6020820190508181035f830152612c8581612c4c565b9050919050565b5f81519050612c9a816125a4565b92915050565b5f60208284031215612cb557612cb461256c565b5b5f612cc284828501612c8c565b91505092915050565b5f604082019050612cde5f8301856128d0565b612ceb60208301846128d0565b9392505050565b5f819050919050565b5f819050919050565b5f612d1e612d19612d1484612cf2565b612cfb565b6125ce565b9050919050565b612d2e81612d04565b82525050565b5f60c082019050612d475f8301896128d0565b612d546020830188612672565b612d616040830187612d25565b612d6e6060830186612d25565b612d7b60808301856128d0565b612d8860a0830184612672565b979650505050505050565b5f81519050612da1816125d7565b92915050565b5f805f60608486031215612dbe57612dbd61256c565b5b5f612dcb86828701612d93565b9350506020612ddc86828701612d93565b9250506040612ded86828701612d93565b9150509250925092565b5f604082019050612e0a5f8301856128d0565b612e176020830184612672565b9392505050565b612e278161263f565b8114612e31575f80fd5b50565b5f81519050612e4281612e1e565b92915050565b5f60208284031215612e5d57612e5c61256c565b5b5f612e6a84828501612e34565b91505092915050565b7f45524332303a20617070726f76652066726f6d207a65726f20616464726573735f82015250565b5f612ea76020836124c3565b9150612eb282612e73565b602082019050919050565b5f6020820190508181035f830152612ed481612e9b565b9050919050565b7f45524332303a20617070726f766520746f207a65726f206164647265737300005f82015250565b5f612f0f601e836124c3565b9150612f1a82612edb565b602082019050919050565b5f6020820190508181035f830152612f3c81612f03565b9050919050565b7f45524332303a207472616e736665722066726f6d207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f9d6021836124c3565b9150612fa882612f43565b604082019050919050565b5f6020820190508181035f830152612fca81612f91565b9050919050565b7f45524332303a207472616e7366657220746f207a65726f2061646472657373005f82015250565b5f613005601f836124c3565b915061301082612fd1565b602082019050919050565b5f6020820190508181035f83015261303281612ff9565b9050919050565b7f5472616e7366657220616d6f756e74206d757374206265203e207468616e207a5f8201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b5f6130936023836124c3565b915061309e82613039565b604082019050919050565b5f6020820190508181035f8301526130c081613087565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c7920312070757263686173652070657220626c6f636b206160208201527f6c6c6f7765642e00000000000000000000000000000000000000000000000000604082015250565b5f6131476047836124c3565b9150613152826130c7565b606082019050919050565b5f6020820190508181035f8301526131748161313b565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131af6019836124c3565b91506131ba8261317b565b602082019050919050565b5f6020820190508181035f8301526131dc816131a3565b9050919050565b5f6131ed826125ce565b91506131f8836125ce565b92508282019050808211156132105761320f612961565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61324a601a836124c3565b915061325582613216565b602082019050919050565b5f6020820190508181035f8301526132778161323e565b9050919050565b5f613288826125ce565b9150613293836125ce565b92508282039050818111156132ab576132aa612961565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132e381612593565b82525050565b5f6132f483836132da565b60208301905092915050565b5f602082019050919050565b5f613316826132b1565b61332081856132bb565b935061332b836132cb565b805f5b8381101561335b57815161334288826132e9565b975061334d83613300565b92505060018101905061332e565b5085935050505092915050565b5f60a08201905061337b5f830188612672565b6133886020830187612d25565b818103604083015261339a818661330c565b90506133a960608301856128d0565b6133b66080830184612672565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133f7826125ce565b9150613402836125ce565b925082613412576134116133c0565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134776021836124c3565b91506134828261341d565b604082019050919050565b5f6020820190508181035f8301526134a48161346b565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134df601b836124c3565b91506134ea826134ab565b602082019050919050565b5f6020820190508181035f83015261350c816134d3565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220653eede11882d0aeb7df72daa4f5c9ca8b40a0abad53adf9d5e5ec09004b1c6f64736f6c63430008140033
Deployed Bytecode Sourcemap
3603:9175:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5768:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6601:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4852:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6045:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5954:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11218:162;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11388:83;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12427:348;;;;;;;;;;;;;:::i;:::-;;6148:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2684:148;;;;;;;;;;;;;:::i;:::-;;5165:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10742:196;;;;;;;;;;;;;:::i;:::-;;4627:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2476:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4696:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5859:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6275:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4771:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3993:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11479:671;;;;;;;;;;;;;:::i;:::-;;11046:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6450:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12164:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5768:83;5805:13;5838:5;;;;;;;;;;;;;;;;;5831:12;;5768:83;:::o;6601:161::-;6676:4;6693:39;6702:12;:10;:12::i;:::-;6716:7;6725:6;6693:8;:39::i;:::-;6750:4;6743:11;;6601:161;;;;:::o;4852:50::-;;;;:::o;6045:95::-;6098:7;4436:1;4490:2;:13;;;;:::i;:::-;4479:8;:24;;;;:::i;:::-;6118:14;;6045:95;:::o;6770:313::-;6868:4;6885:36;6895:6;6903:9;6914:6;6885:9;:36::i;:::-;6932:121;6941:6;6949:12;:10;:12::i;:::-;6963:89;7001:6;6963:89;;;;;;;;;;;;;;;;;:11;:19;6975:6;6963:19;;;;;;;;;;;;;;;:33;6983:12;:10;:12::i;:::-;6963:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6932:8;:121::i;:::-;7071:4;7064:11;;6770:313;;;;;:::o;5954:83::-;5995:5;4436:1;6013:16;;5954:83;:::o;11218:162::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11291:6:::1;11286:87;11307:6;:13;11303:1;:17;11286:87;;;11358:5;11340:4;:15;11345:6;11352:1;11345:9;;;;;;;;:::i;:::-;;;;;;;;11340:15;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;11322:3;;;;;:::i;:::-;;;;11286:87;;;;11218:162:::0;:::o;11388:83::-;11435:4;11456;:7;11461:1;11456:7;;;;;;;;;;;;;;;;;;;;;;;;;11449:14;;11388:83;;;:::o;12427:348::-;12491:10;;;;;;;;;;;12477:24;;:12;:10;:12::i;:::-;:24;;;12469:33;;;;;;12513:20;12534:24;12552:4;12534:9;:24::i;:::-;12513:45;;12585:1;12572:12;:14;12569:73;;;12600:30;12617:12;12600:16;:30::i;:::-;12569:73;12652:18;12671:21;12652:40;;12717:1;12706:10;:12;12703:65;;;12732:24;12745:10;12732:12;:24::i;:::-;12703:65;12458:317;;12427:348::o;6148:119::-;6214:7;6241:9;:18;6251:7;6241:18;;;;;;;;;;;;;;;;6234:25;;6148:119;;;:::o;2684:148::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;2791:1:::1;2754:40;;2775:6;::::0;::::1;;;;;;;;2754:40;;;;;;;;;;;;2822:1;2805:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2684:148::o:0;5165:38::-;;;;;;;;;;;;;:::o;10742:196::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;4436:1:::1;4490:2;:13;;;;:::i;:::-;4479:8;:24;;;;:::i;:::-;10795:12;:22;;;;4436:1;4490:2;:13;;;;:::i;:::-;4479:8;:24;;;;:::i;:::-;10828:14;:22;;;;10882:5;10861:20;;:26;;;;;;;;;;;;;;;;;;10903:27;4436:1;4490:2;:13;;;;:::i;:::-;4479:8;:24;;;;:::i;:::-;10903:27;;;;;;:::i;:::-;;;;;;;;10742:196::o:0;4627:52::-;;;;:::o;2476:79::-;2514:7;2541:6;;;;;;;;;;;2534:13;;2476:79;:::o;4696:54::-;;;;:::o;5859:87::-;5898:13;5931:7;;;;;;;;;;;;;;;;;5924:14;;5859:87;:::o;6275:167::-;6353:4;6370:42;6380:12;:10;:12::i;:::-;6394:9;6405:6;6370:9;:42::i;:::-;6430:4;6423:11;;6275:167;;;;:::o;4771:55::-;;;;:::o;3993:39::-;;;;;;;;;;;;;:::o;11479:671::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11543:11:::1;::::0;::::1;;;;;;;;11542:12;11534:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11629:42;11592:15;;:80;;;;;;;;;;;;;;;;;;11683:58;11700:4;11715:15;;;;;;;;;;;4436:1;4490:2;:13;;;;:::i;:::-;4479:8;:24;;;;:::i;:::-;11683:8;:58::i;:::-;11786:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11768:55;;;11832:4;11839:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11768:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11752:13;;:110;;;;;;;;;;;;;;;;;;11873:15;;;;;;;;;;;:31;;;11912:21;11943:4;11949:24;11967:4;11949:9;:24::i;:::-;11974:1;11976::::0;11978:7:::1;:5;:7::i;:::-;11986:15;11873:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12020:13;;;;;;;;;;;12013:29;;;12051:15;;;;;;;;;;;12069:14;12013:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12109:4;12095:11;;:18;;;;;;;;;;;;;;;;;;12138:4;12124:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;11479:671::o:0;11046:164::-;2613:12;:10;:12::i;:::-;2603:22;;:6;;;;;;;;;;:22;;;2595:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11120:6:::1;11115:88;11136:5;:12;11132:1;:16;11115:88;;;11187:4;11170;:14;11175:5;11181:1;11175:8;;;;;;;;:::i;:::-;;;;;;;;11170:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11150:3;;;;;:::i;:::-;;;;11115:88;;;;11046:164:::0;:::o;6450:143::-;6531:7;6558:11;:18;6570:5;6558:18;;;;;;;;;;;;;;;:27;6577:7;6558:27;;;;;;;;;;;;;;;;6551:34;;6450:143;;;;:::o;12164:218::-;12239:10;;;;;;;;;;;12225:24;;:12;:10;:12::i;:::-;:24;;;12217:33;;;;;;12276:12;;12267:7;:21;;:47;;;;;12301:13;;12292:7;:22;;12267:47;12259:56;;;;;;12337:7;12324:12;:20;;;;12367:7;12353:13;:21;;;;12164:218;:::o;231:98::-;284:7;311:10;304:17;;231:98;:::o;7091:327::-;7201:1;7184:19;;:5;:19;;;7176:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7278:1;7259:21;;:7;:21;;;7251:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7356:6;7326:11;:18;7338:5;7326:18;;;;;;;;;;;;;;;:27;7345:7;7326:27;;;;;;;;;;;;;;;:36;;;;7394:7;7378:32;;7387:5;7378:32;;;7403:6;7378:32;;;;;;:::i;:::-;;;;;;;;7091:327;;;:::o;7426:2709::-;7530:1;7514:18;;:4;:18;;;7506:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7603:1;7589:16;;:2;:16;;;7581:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7669:1;7660:6;:10;7652:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;7721:17;7763:7;:5;:7::i;:::-;7755:15;;:4;:15;;;;:32;;;;;7780:7;:5;:7::i;:::-;7774:13;;:2;:13;;;;7755:32;7751:2028;;;7813:4;:10;7818:4;7813:10;;;;;;;;;;;;;;;;;;;;;;;;;7812:11;:24;;;;;7828:4;:8;7833:2;7828:8;;;;;;;;;;;;;;;;;;;;;;;;;7827:9;7812:24;7804:33;;;;;;7864:76;7936:3;7864:67;7886:15;;7876:9;;:25;7875:55;;7916:14;;7875:55;;;7903:12;;7875:55;7864:6;:10;;:67;;;;:::i;:::-;:71;;:76;;;;:::i;:::-;7852:88;;7961:20;;;;;;;;;;;7957:506;;;8022:15;;;;;;;;;;;8008:30;;:2;:30;;;;:62;;;;;8056:13;;;;;;;;;;;8042:28;;:2;:28;;;;8008:62;8004:442;;;8206:12;8133:28;:39;8162:9;8133:39;;;;;;;;;;;;;;;;:85;8097:248;;;;;;;;;;;;:::i;:::-;;;;;;;;;8412:12;8370:28;:39;8399:9;8370:39;;;;;;;;;;;;;;;:54;;;;8004:442;7957:506;8491:13;;;;;;;;;;;8483:21;;:4;:21;;;:55;;;;;8522:15;;;;;;;;;;;8508:30;;:2;:30;;;;8483:55;:83;;;;;8544:18;:22;8563:2;8544:22;;;;;;;;;;;;;;;;;;;;;;;;;8542:24;8483:83;8479:313;;;8606:12;;8596:6;:22;;8588:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8701:14;;8691:6;8675:13;8685:2;8675:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8667:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8765:9;;:11;;;;;;;;;:::i;:::-;;;;;;8479:313;8817:13;;;;;;;;;;;8811:19;;:2;:19;;;:43;;;;;8849:4;8834:20;;:4;:20;;;;8811:43;8808:174;;;8887:79;8962:3;8887:70;8909:16;;8899:9;;:26;8898:58;;8941:15;;8898:58;;;8927:13;;8898:58;8887:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;8875:91;;8808:174;8998:28;9029:24;9047:4;9029:9;:24::i;:::-;8998:55;;9073:6;;;;;;;;;;;9072:7;:30;;;;;9089:13;;;;;;;;;;;9083:19;;:2;:19;;;9072:30;:45;;;;;9106:11;;;;;;;;;;;9072:45;:89;;;;;9144:17;;9121:20;:40;9072:89;:123;;;;;9177:18;;9165:9;;:30;9072:123;9068:700;;;9321:23;;9306:12;:38;9302:451;;;9369:69;9386:51;9390:6;9398:38;9402:20;9424:11;;9398:3;:38::i;:::-;9386:3;:51::i;:::-;9369:16;:69::i;:::-;9463:26;9492:21;9463:50;;9583:1;9562:18;:22;9558:114;;;9613:35;9626:21;9613:12;:35::i;:::-;9558:114;9722:12;9696:23;:38;;;;9346:407;9302:451;9068:700;7789:1990;7751:2028;9804:1;9794:9;:11;9791:161;;;9844:39;9873:9;9844;:24;9862:4;9844:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;9819:9;:24;9837:4;9819:24;;;;;;;;;;;;;;;:64;;;;9924:4;9901:39;;9910:4;9901:39;;;9930:9;9901:39;;;;;;:::i;:::-;;;;;;;;9791:161;9978:27;9998:6;9978:9;:15;9988:4;9978:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9962:9;:15;9972:4;9962:15;;;;;;;;;;;;;;;:43;;;;10030:40;10048:21;10059:9;10048:6;:10;;:21;;;;:::i;:::-;10030:9;:13;10040:2;10030:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10016:9;:13;10026:2;10016:13;;;;;;;;;;;;;;;:54;;;;10101:2;10086:41;;10095:4;10086:41;;;10105:21;10116:9;10105:6;:10;;:21;;;;:::i;:::-;10086:41;;;;;;:::i;:::-;;;;;;;;7495:2640;7426:2709;;;:::o;1368:190::-;1454:7;1487:1;1482;:6;;1490:12;1474:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1514:9;1530:1;1526;:5;;;;:::i;:::-;1514:17;;1549:1;1542:8;;;1368:190;;;;;:::o;10251:483::-;5347:4;5338:6;;:13;;;;;;;;;;;;;;;;;;10329:21:::1;10367:1;10353:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10329:40;;10398:4;10380;10385:1;10380:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10424:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10414:4;10419:1;10414:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10457:62;10474:4;10489:15;;;;;;;;;;;10507:11;10457:8;:62::i;:::-;10530:15;;;;;;;;;;;:66;;;10611:11;10637:1;10653:4;10680;10700:15;10530:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10318:416;5383:5:::0;5374:6;;:14;;;;;;;;;;;;;;;;;;10251:483;:::o;10946:92::-;11003:10;;;;;;;;;;;:19;;:27;11023:6;11003:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10946:92;:::o;1566:246::-;1624:7;1653:1;1648;:6;1644:47;;1678:1;1671:8;;;;1644:47;1701:9;1717:1;1713;:5;;;;:::i;:::-;1701:17;;1746:1;1741;1737;:5;;;;:::i;:::-;:10;1729:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1803:1;1796:8;;;1566:246;;;;;:::o;1820:132::-;1878:7;1905:39;1909:1;1912;1905:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1898:46;;1820:132;;;;:::o;10145:98::-;10202:7;10229:1;10227;:3;10226:9;;10234:1;10226:9;;;10232:1;10226:9;10219:16;;10145:98;;;;:::o;1037:179::-;1095:7;1115:9;1131:1;1127;:5;;;;:::i;:::-;1115:17;;1156:1;1151;:6;;1143:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1207:1;1200:8;;;1037:179;;;;:::o;1224:136::-;1282:7;1309:43;1313:1;1316;1309:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1302:50;;1224:136;;;;:::o;1960:189::-;2046:7;2078:1;2074;:5;2081:12;2066:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2105:9;2121:1;2117;:5;;;;:::i;:::-;2105:17;;2140:1;2133:8;;;1960: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:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:117::-;4962:1;4959;4952:12;4976:180;5024:77;5021:1;5014:88;5121:4;5118:1;5111:15;5145:4;5142:1;5135:15;5162:281;5245:27;5267:4;5245:27;:::i;:::-;5237:6;5233:40;5375:6;5363:10;5360:22;5339:18;5327:10;5324:34;5321:62;5318:88;;;5386:18;;:::i;:::-;5318:88;5426:10;5422:2;5415:22;5205:238;5162:281;;:::o;5449:129::-;5483:6;5510:20;;:::i;:::-;5500:30;;5539:33;5567:4;5559:6;5539:33;:::i;:::-;5449:129;;;:::o;5584:311::-;5661:4;5751:18;5743:6;5740:30;5737:56;;;5773:18;;:::i;:::-;5737:56;5823:4;5815:6;5811:17;5803:25;;5883:4;5877;5873:15;5865:23;;5584:311;;;:::o;5901:117::-;6010:1;6007;6000:12;6041:710;6137:5;6162:81;6178:64;6235:6;6178:64;:::i;:::-;6162:81;:::i;:::-;6153:90;;6263:5;6292:6;6285:5;6278:21;6326:4;6319:5;6315:16;6308:23;;6379:4;6371:6;6367:17;6359:6;6355:30;6408:3;6400:6;6397:15;6394:122;;;6427:79;;:::i;:::-;6394:122;6542:6;6525:220;6559:6;6554:3;6551:15;6525:220;;;6634:3;6663:37;6696:3;6684:10;6663:37;:::i;:::-;6658:3;6651:50;6730:4;6725:3;6721:14;6714:21;;6601:144;6585:4;6580:3;6576:14;6569:21;;6525:220;;;6529:21;6143:608;;6041:710;;;;;:::o;6774:370::-;6845:5;6894:3;6887:4;6879:6;6875:17;6871:27;6861:122;;6902:79;;:::i;:::-;6861:122;7019:6;7006:20;7044:94;7134:3;7126:6;7119:4;7111:6;7107:17;7044:94;:::i;:::-;7035:103;;6851:293;6774:370;;;;:::o;7150:539::-;7234:6;7283:2;7271:9;7262:7;7258:23;7254:32;7251:119;;;7289:79;;:::i;:::-;7251:119;7437:1;7426:9;7422:17;7409:31;7467:18;7459:6;7456:30;7453:117;;;7489:79;;:::i;:::-;7453:117;7594:78;7664:7;7655:6;7644:9;7640:22;7594:78;:::i;:::-;7584:88;;7380:302;7150:539;;;;:::o;7695:329::-;7754:6;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;7695:329;;;;:::o;8030:118::-;8117:24;8135:5;8117:24;:::i;:::-;8112:3;8105:37;8030:118;;:::o;8154:222::-;8247:4;8285:2;8274:9;8270:18;8262:26;;8298:71;8366:1;8355:9;8351:17;8342:6;8298:71;:::i;:::-;8154:222;;;;:::o;8382:474::-;8450:6;8458;8507:2;8495:9;8486:7;8482:23;8478:32;8475:119;;;8513:79;;:::i;:::-;8475:119;8633:1;8658:53;8703:7;8694:6;8683:9;8679:22;8658:53;:::i;:::-;8648:63;;8604:117;8760:2;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8731:118;8382:474;;;;;:::o;8862:329::-;8921:6;8970:2;8958:9;8949:7;8945:23;8941:32;8938:119;;;8976:79;;:::i;:::-;8938:119;9096:1;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9067:117;8862:329;;;;:::o;9197:180::-;9245:77;9242:1;9235:88;9342:4;9339:1;9332:15;9366:4;9363:1;9356:15;9383:102;9425:8;9472:5;9469:1;9465:13;9444:34;;9383:102;;;:::o;9491:848::-;9552:5;9559:4;9583:6;9574:15;;9607:5;9598:14;;9621:712;9642:1;9632:8;9629:15;9621:712;;;9737:4;9732:3;9728:14;9722:4;9719:24;9716:50;;;9746:18;;:::i;:::-;9716:50;9796:1;9786:8;9782:16;9779:451;;;10211:4;10204:5;10200:16;10191:25;;9779:451;10261:4;10255;10251:15;10243:23;;10291:32;10314:8;10291:32;:::i;:::-;10279:44;;9621:712;;;9491:848;;;;;;;:::o;10345:1073::-;10399:5;10590:8;10580:40;;10611:1;10602:10;;10613:5;;10580:40;10639:4;10629:36;;10656:1;10647:10;;10658:5;;10629:36;10725:4;10773:1;10768:27;;;;10809:1;10804:191;;;;10718:277;;10768:27;10786:1;10777:10;;10788:5;;;10804:191;10849:3;10839:8;10836:17;10833:43;;;10856:18;;:::i;:::-;10833:43;10905:8;10902:1;10898:16;10889:25;;10940:3;10933:5;10930:14;10927:40;;;10947:18;;:::i;:::-;10927:40;10980:5;;;10718:277;;11104:2;11094:8;11091:16;11085:3;11079:4;11076:13;11072:36;11054:2;11044:8;11041:16;11036:2;11030:4;11027:12;11023:35;11007:111;11004:246;;;11160:8;11154:4;11150:19;11141:28;;11195:3;11188:5;11185:14;11182:40;;;11202:18;;:::i;:::-;11182:40;11235:5;;11004:246;11275:42;11313:3;11303:8;11297:4;11294:1;11275:42;:::i;:::-;11260:57;;;;11349:4;11344:3;11340:14;11333:5;11330:25;11327:51;;;11358:18;;:::i;:::-;11327:51;11407:4;11400:5;11396:16;11387:25;;10345:1073;;;;;;:::o;11424:281::-;11482:5;11506:23;11524:4;11506:23;:::i;:::-;11498:31;;11550:25;11566:8;11550:25;:::i;:::-;11538:37;;11594:104;11631:66;11621:8;11615:4;11594:104;:::i;:::-;11585:113;;11424:281;;;;:::o;11711:410::-;11751:7;11774:20;11792:1;11774:20;:::i;:::-;11769:25;;11808:20;11826:1;11808:20;:::i;:::-;11803:25;;11863:1;11860;11856:9;11885:30;11903:11;11885:30;:::i;:::-;11874:41;;12064:1;12055:7;12051:15;12048:1;12045:22;12025:1;12018:9;11998:83;11975:139;;12094:18;;:::i;:::-;11975:139;11759:362;11711:410;;;;:::o;12127:176::-;12267:28;12263:1;12255:6;12251:14;12244:52;12127:176;:::o;12309:366::-;12451:3;12472:67;12536:2;12531:3;12472:67;:::i;:::-;12465:74;;12548:93;12637:3;12548:93;:::i;:::-;12666:2;12661:3;12657:12;12650:19;;12309:366;;;:::o;12681:419::-;12847:4;12885:2;12874:9;12870:18;12862:26;;12934:9;12928:4;12924:20;12920:1;12909:9;12905:17;12898:47;12962:131;13088:4;12962:131;:::i;:::-;12954:139;;12681:419;;;:::o;13106:180::-;13154:77;13151:1;13144:88;13251:4;13248:1;13241:15;13275:4;13272:1;13265:15;13292:233;13331:3;13354:24;13372:5;13354:24;:::i;:::-;13345:33;;13400:66;13393:5;13390:77;13387:103;;13470:18;;:::i;:::-;13387:103;13517:1;13510:5;13506:13;13499:20;;13292:233;;;:::o;13531:173::-;13671:25;13667:1;13659:6;13655:14;13648:49;13531:173;:::o;13710:366::-;13852:3;13873:67;13937:2;13932:3;13873:67;:::i;:::-;13866:74;;13949:93;14038:3;13949:93;:::i;:::-;14067:2;14062:3;14058:12;14051:19;;13710:366;;;:::o;14082:419::-;14248:4;14286:2;14275:9;14271:18;14263:26;;14335:9;14329:4;14325:20;14321:1;14310:9;14306:17;14299:47;14363:131;14489:4;14363:131;:::i;:::-;14355:139;;14082:419;;;:::o;14507:143::-;14564:5;14595:6;14589:13;14580:22;;14611:33;14638:5;14611:33;:::i;:::-;14507:143;;;;:::o;14656:351::-;14726:6;14775:2;14763:9;14754:7;14750:23;14746:32;14743:119;;;14781:79;;:::i;:::-;14743:119;14901:1;14926:64;14982:7;14973:6;14962:9;14958:22;14926:64;:::i;:::-;14916:74;;14872:128;14656:351;;;;:::o;15013:332::-;15134:4;15172:2;15161:9;15157:18;15149:26;;15185:71;15253:1;15242:9;15238:17;15229:6;15185:71;:::i;:::-;15266:72;15334:2;15323:9;15319:18;15310:6;15266:72;:::i;:::-;15013:332;;;;;:::o;15351:85::-;15396:7;15425:5;15414:16;;15351:85;;;:::o;15442:60::-;15470:3;15491:5;15484:12;;15442:60;;;:::o;15508:158::-;15566:9;15599:61;15617:42;15626:32;15652:5;15626:32;:::i;:::-;15617:42;:::i;:::-;15599:61;:::i;:::-;15586:74;;15508:158;;;:::o;15672:147::-;15767:45;15806:5;15767:45;:::i;:::-;15762:3;15755:58;15672:147;;:::o;15825:807::-;16074:4;16112:3;16101:9;16097:19;16089:27;;16126:71;16194:1;16183:9;16179:17;16170:6;16126:71;:::i;:::-;16207:72;16275:2;16264:9;16260:18;16251:6;16207:72;:::i;:::-;16289:80;16365:2;16354:9;16350:18;16341:6;16289:80;:::i;:::-;16379;16455:2;16444:9;16440:18;16431:6;16379:80;:::i;:::-;16469:73;16537:3;16526:9;16522:19;16513:6;16469:73;:::i;:::-;16552;16620:3;16609:9;16605:19;16596:6;16552:73;:::i;:::-;15825:807;;;;;;;;;:::o;16638:143::-;16695:5;16726:6;16720:13;16711:22;;16742:33;16769:5;16742:33;:::i;:::-;16638:143;;;;:::o;16787:663::-;16875:6;16883;16891;16940:2;16928:9;16919:7;16915:23;16911:32;16908:119;;;16946:79;;:::i;:::-;16908:119;17066:1;17091:64;17147:7;17138:6;17127:9;17123:22;17091:64;:::i;:::-;17081:74;;17037:128;17204:2;17230:64;17286:7;17277:6;17266:9;17262:22;17230:64;:::i;:::-;17220:74;;17175:129;17343:2;17369:64;17425:7;17416:6;17405:9;17401:22;17369:64;:::i;:::-;17359:74;;17314:129;16787:663;;;;;:::o;17456:332::-;17577:4;17615:2;17604:9;17600:18;17592:26;;17628:71;17696:1;17685:9;17681:17;17672:6;17628:71;:::i;:::-;17709:72;17777:2;17766:9;17762:18;17753:6;17709:72;:::i;:::-;17456:332;;;;;:::o;17794:116::-;17864:21;17879:5;17864:21;:::i;:::-;17857:5;17854:32;17844:60;;17900:1;17897;17890:12;17844:60;17794:116;:::o;17916:137::-;17970:5;18001:6;17995:13;17986:22;;18017:30;18041:5;18017:30;:::i;:::-;17916:137;;;;:::o;18059:345::-;18126:6;18175:2;18163:9;18154:7;18150:23;18146:32;18143:119;;;18181:79;;:::i;:::-;18143:119;18301:1;18326:61;18379:7;18370:6;18359:9;18355:22;18326:61;:::i;:::-;18316:71;;18272:125;18059:345;;;;:::o;18410:182::-;18550:34;18546:1;18538:6;18534:14;18527:58;18410:182;:::o;18598:366::-;18740:3;18761:67;18825:2;18820:3;18761:67;:::i;:::-;18754:74;;18837:93;18926:3;18837:93;:::i;:::-;18955:2;18950:3;18946:12;18939:19;;18598:366;;;:::o;18970:419::-;19136:4;19174:2;19163:9;19159:18;19151:26;;19223:9;19217:4;19213:20;19209:1;19198:9;19194:17;19187:47;19251:131;19377:4;19251:131;:::i;:::-;19243:139;;18970:419;;;:::o;19395:180::-;19535:32;19531:1;19523:6;19519:14;19512:56;19395:180;:::o;19581:366::-;19723:3;19744:67;19808:2;19803:3;19744:67;:::i;:::-;19737:74;;19820:93;19909:3;19820:93;:::i;:::-;19938:2;19933:3;19929:12;19922:19;;19581:366;;;:::o;19953:419::-;20119:4;20157:2;20146:9;20142:18;20134:26;;20206:9;20200:4;20196:20;20192:1;20181:9;20177:17;20170:47;20234:131;20360:4;20234:131;:::i;:::-;20226:139;;19953:419;;;:::o;20378:220::-;20518:34;20514:1;20506:6;20502:14;20495:58;20587:3;20582:2;20574:6;20570:15;20563:28;20378:220;:::o;20604:366::-;20746:3;20767:67;20831:2;20826:3;20767:67;:::i;:::-;20760:74;;20843:93;20932:3;20843:93;:::i;:::-;20961:2;20956:3;20952:12;20945:19;;20604:366;;;:::o;20976:419::-;21142:4;21180:2;21169:9;21165:18;21157:26;;21229:9;21223:4;21219:20;21215:1;21204:9;21200:17;21193:47;21257:131;21383:4;21257:131;:::i;:::-;21249:139;;20976:419;;;:::o;21401:181::-;21541:33;21537:1;21529:6;21525:14;21518:57;21401:181;:::o;21588:366::-;21730:3;21751:67;21815:2;21810:3;21751:67;:::i;:::-;21744:74;;21827:93;21916:3;21827:93;:::i;:::-;21945:2;21940:3;21936:12;21929:19;;21588:366;;;:::o;21960:419::-;22126:4;22164:2;22153:9;22149:18;22141:26;;22213:9;22207:4;22203:20;22199:1;22188:9;22184:17;22177:47;22241:131;22367:4;22241:131;:::i;:::-;22233:139;;21960:419;;;:::o;22385:222::-;22525:34;22521:1;22513:6;22509:14;22502:58;22594:5;22589:2;22581:6;22577:15;22570:30;22385:222;:::o;22613:366::-;22755:3;22776:67;22840:2;22835:3;22776:67;:::i;:::-;22769:74;;22852:93;22941:3;22852:93;:::i;:::-;22970:2;22965:3;22961:12;22954:19;;22613:366;;;:::o;22985:419::-;23151:4;23189:2;23178:9;23174:18;23166:26;;23238:9;23232:4;23228:20;23224:1;23213:9;23209:17;23202:47;23266:131;23392:4;23266:131;:::i;:::-;23258:139;;22985:419;;;:::o;23410:295::-;23550:34;23546:1;23538:6;23534:14;23527:58;23619:34;23614:2;23606:6;23602:15;23595:59;23688:9;23683:2;23675:6;23671:15;23664:34;23410:295;:::o;23711:366::-;23853:3;23874:67;23938:2;23933:3;23874:67;:::i;:::-;23867:74;;23950:93;24039:3;23950:93;:::i;:::-;24068:2;24063:3;24059:12;24052:19;;23711:366;;;:::o;24083:419::-;24249:4;24287:2;24276:9;24272:18;24264:26;;24336:9;24330:4;24326:20;24322:1;24311:9;24307:17;24300:47;24364:131;24490:4;24364:131;:::i;:::-;24356:139;;24083:419;;;:::o;24508:175::-;24648:27;24644:1;24636:6;24632:14;24625:51;24508:175;:::o;24689:366::-;24831:3;24852:67;24916:2;24911:3;24852:67;:::i;:::-;24845:74;;24928:93;25017:3;24928:93;:::i;:::-;25046:2;25041:3;25037:12;25030:19;;24689:366;;;:::o;25061:419::-;25227:4;25265:2;25254:9;25250:18;25242:26;;25314:9;25308:4;25304:20;25300:1;25289:9;25285:17;25278:47;25342:131;25468:4;25342:131;:::i;:::-;25334:139;;25061:419;;;:::o;25486:191::-;25526:3;25545:20;25563:1;25545:20;:::i;:::-;25540:25;;25579:20;25597:1;25579:20;:::i;:::-;25574:25;;25622:1;25619;25615:9;25608:16;;25643:3;25640:1;25637:10;25634:36;;;25650:18;;:::i;:::-;25634:36;25486:191;;;;:::o;25683:176::-;25823:28;25819:1;25811:6;25807:14;25800:52;25683:176;:::o;25865:366::-;26007:3;26028:67;26092:2;26087:3;26028:67;:::i;:::-;26021:74;;26104:93;26193:3;26104:93;:::i;:::-;26222:2;26217:3;26213:12;26206:19;;25865:366;;;:::o;26237:419::-;26403:4;26441:2;26430:9;26426:18;26418:26;;26490:9;26484:4;26480:20;26476:1;26465:9;26461:17;26454:47;26518:131;26644:4;26518:131;:::i;:::-;26510:139;;26237:419;;;:::o;26662:194::-;26702:4;26722:20;26740:1;26722:20;:::i;:::-;26717:25;;26756:20;26774:1;26756:20;:::i;:::-;26751:25;;26800:1;26797;26793:9;26785:17;;26824:1;26818:4;26815:11;26812:37;;;26829:18;;:::i;:::-;26812:37;26662:194;;;;:::o;26862:114::-;26929:6;26963:5;26957:12;26947:22;;26862:114;;;:::o;26982:184::-;27081:11;27115:6;27110:3;27103:19;27155:4;27150:3;27146:14;27131:29;;26982:184;;;;:::o;27172:132::-;27239:4;27262:3;27254:11;;27292:4;27287:3;27283:14;27275:22;;27172:132;;;:::o;27310:108::-;27387:24;27405:5;27387:24;:::i;:::-;27382:3;27375:37;27310:108;;:::o;27424:179::-;27493:10;27514:46;27556:3;27548:6;27514:46;:::i;:::-;27592:4;27587:3;27583:14;27569:28;;27424:179;;;;:::o;27609:113::-;27679:4;27711;27706:3;27702:14;27694:22;;27609:113;;;:::o;27758:732::-;27877:3;27906:54;27954:5;27906:54;:::i;:::-;27976:86;28055:6;28050:3;27976:86;:::i;:::-;27969:93;;28086:56;28136:5;28086:56;:::i;:::-;28165:7;28196:1;28181:284;28206:6;28203:1;28200:13;28181:284;;;28282:6;28276:13;28309:63;28368:3;28353:13;28309:63;:::i;:::-;28302:70;;28395:60;28448:6;28395:60;:::i;:::-;28385:70;;28241:224;28228:1;28225;28221:9;28216:14;;28181:284;;;28185:14;28481:3;28474:10;;27882:608;;;27758:732;;;;:::o;28496:831::-;28759:4;28797:3;28786:9;28782:19;28774:27;;28811:71;28879:1;28868:9;28864:17;28855:6;28811:71;:::i;:::-;28892:80;28968:2;28957:9;28953:18;28944:6;28892:80;:::i;:::-;29019:9;29013:4;29009:20;29004:2;28993:9;28989:18;28982:48;29047:108;29150:4;29141:6;29047:108;:::i;:::-;29039:116;;29165:72;29233:2;29222:9;29218:18;29209:6;29165:72;:::i;:::-;29247:73;29315:3;29304:9;29300:19;29291:6;29247:73;:::i;:::-;28496:831;;;;;;;;:::o;29333:180::-;29381:77;29378:1;29371:88;29478:4;29475:1;29468:15;29502:4;29499:1;29492:15;29519:185;29559:1;29576:20;29594:1;29576:20;:::i;:::-;29571:25;;29610:20;29628:1;29610:20;:::i;:::-;29605:25;;29649:1;29639:35;;29654:18;;:::i;:::-;29639:35;29696:1;29693;29689:9;29684:14;;29519:185;;;;:::o;29710:220::-;29850:34;29846:1;29838:6;29834:14;29827:58;29919:3;29914:2;29906:6;29902:15;29895:28;29710:220;:::o;29936:366::-;30078:3;30099:67;30163:2;30158:3;30099:67;:::i;:::-;30092:74;;30175:93;30264:3;30175:93;:::i;:::-;30293:2;30288:3;30284:12;30277:19;;29936:366;;;:::o;30308:419::-;30474:4;30512:2;30501:9;30497:18;30489:26;;30561:9;30555:4;30551:20;30547:1;30536:9;30532:17;30525:47;30589:131;30715:4;30589:131;:::i;:::-;30581:139;;30308:419;;;:::o;30733:177::-;30873:29;30869:1;30861:6;30857:14;30850:53;30733:177;:::o;30916:366::-;31058:3;31079:67;31143:2;31138:3;31079:67;:::i;:::-;31072:74;;31155:93;31244:3;31155:93;:::i;:::-;31273:2;31268:3;31264:12;31257:19;;30916:366;;;:::o;31288:419::-;31454:4;31492:2;31481:9;31477:18;31469:26;;31541:9;31535:4;31531:20;31527:1;31516:9;31512:17;31505:47;31569:131;31695:4;31569:131;:::i;:::-;31561:139;;31288:419;;;:::o
Swarm Source
ipfs://653eede11882d0aeb7df72daa4f5c9ca8b40a0abad53adf9d5e5ec09004b1c6f
Loading...
Loading
Loading...
Loading
Net Worth in USD
$100.45
Net Worth in ETH
0.04999
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,008.95 | 0.05 | $100.45 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.