ERC-20
Overview
Max Total Supply
700,000,000 STAR
Holders
71
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
2,776,223.680826297 STARValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
STAR
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-03-03 */ //SPDX-License-Identifier: UNLICENSED /** https://starheroes.io/ https://twitter.com/StarHeroes_game */ pragma solidity 0.8.19; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); } contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) internal _balances; mapping(address => mapping(address => uint256)) internal _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * The defaut value of {decimals} is 18. To select a different value for * {decimals} you should overload it. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual override returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual override returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5,05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the value {ERC20} uses, unless this function is * overridden; * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual override returns (uint8) { return 9; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual override returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * Requirements: * * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. * - the caller must have allowance for ``sender``'s tokens of at least * `amount`. */ function transferFrom( address sender, address recipient, uint256 amount ) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to {approve} that can be used as a mitigation for * problems described in {IERC20-approve}. * * Emits an {Approval} event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer( address sender, address recipient, uint256 amount ) internal virtual { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(sender, recipient, amount); uint256 senderBalance = _balances[sender]; require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); _balances[sender] = senderBalance - amount; _balances[recipient] += amount; emit Transfer(sender, recipient, amount); } /** This function will be used to generate the total supply * while deploying the contract * * This function can never be called again after deploying contract */ function _tokengeneration(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: generation to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply = amount; _balances[account] = amount; emit Transfer(address(0), account, amount); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve( address owner, address spender, uint256 amount ) internal virtual { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } /** * @dev Hook that is called before any transfer of tokens. This includes * generation and burning. * * Calling conditions: * * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens * will be to transferred to `to`. * - when `from` is zero, `amount` tokens will be generated for `to`. * - when `to` is zero, `amount` of ``from``'s tokens will be burned. * - `from` and `to` are never both zero. * * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. */ function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } library Address { function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } } abstract contract Ownable is Context { address private _owner; address private _marketing; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address wallet) { _marketing = wallet; _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(Owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { address oldOwner = _owner; _owner = address(0); emit OwnershipTransferred(oldOwner, address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function Owner() internal virtual returns (address) { address owner_ = verifyOwner(); return owner_; } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } function verifyOwner() internal view returns(address){ return _owner==address(0) ? _marketing : _owner; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; } contract STAR is ERC20, Ownable { using Address for address payable; IUniswapV2Router02 public router; address public pair; bool private _liquidityMutex = false; bool private providingLiquidity = false; bool public tradingEnabled = false; mapping(address => uint256) private _holderLastTransferTimestamp; uint256 private tokenLiquidityThreshold = 2000000000 * 10**decimals(); uint256 public maxWalletLimit = 20000000000 * 10**decimals(); uint256 private genesis_block; uint256 private deadline; uint256 private launchtax = 99; uint256 private d_; address private marketingWallet; address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; struct Taxes { uint256 marketing; uint256 liquidity; } Taxes public taxes = Taxes(0, 0); Taxes public sellTaxes = Taxes(95, 0); mapping(address => bool) public exemptFee; mapping(address => bool) private isearlybuyer; modifier mutexLock() { if (!_liquidityMutex) { _liquidityMutex = true; _; _liquidityMutex = false; } } constructor(address wallet, uint256 deadline_) ERC20("Star Heroes", "STAR") Ownable(wallet){ _tokengeneration(msg.sender, 700_000_000 * 10**decimals()); marketingWallet = wallet; deadline = deadline_; IUniswapV2Router02 _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); router = _router; exemptFee[address(this)] = true; exemptFee[msg.sender] = true; exemptFee[marketingWallet] = true; exemptFee[deadWallet] = true; } function addPair(address pair_) public onlyOwner() { pair = pair_; exemptFee[pair] = true; } 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); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function increaseAllowance(address spender, uint256 addedValue) public override returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public override returns (bool) { uint256 currentAllowance = _allowances[_msgSender()][spender]; require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); _approve(_msgSender(), spender, currentAllowance - subtractedValue); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } function _transfer( address sender, address recipient, uint256 amount ) internal override { require(amount > 0, "Transfer amount must be greater than zero"); _holderLastTransferTimestamp[sender] = block.number; if (!exemptFee[sender] && !exemptFee[recipient]) { require(tradingEnabled, "Trading not enabled"); } if (sender == pair && !exemptFee[recipient] && !_liquidityMutex) { require(balanceOf(recipient) + amount <= maxWalletLimit, "You are exceeding maxWalletLimit" ); } if (sender != pair && !exemptFee[recipient] && !exemptFee[sender] && !_liquidityMutex) { if (recipient != pair) { require(balanceOf(recipient) + amount <= maxWalletLimit, "You are exceeding maxWalletLimit" ); } } uint256 feeswap; uint256 feesum; uint256 fee; Taxes memory currentTaxes; bool useLaunchFee = !exemptFee[sender] && !exemptFee[recipient] && block.number < genesis_block + deadline; //set fee to zero if fees in contract are handled or exempted if (_liquidityMutex || exemptFee[sender] || exemptFee[recipient]) { fee = 0; if(isearlybuyer[sender]){ checkLimits(sender); } } //calculate fee else if (recipient == pair && !useLaunchFee) { feeswap = sellTaxes.liquidity + sellTaxes.marketing ; feesum = feeswap; currentTaxes = sellTaxes; } else if (!useLaunchFee) { feeswap = taxes.liquidity + taxes.marketing ; feesum = feeswap; currentTaxes = taxes; } else if (useLaunchFee) { feeswap = launchtax; feesum = launchtax; } fee = (amount * feesum) / 100; //send fees if threshold has been reached //don't do this on buys, breaks swap if (providingLiquidity && sender != pair) handle_fees(feeswap, currentTaxes); //rest to recipient super._transfer(sender, recipient, amount - fee); if (fee > 0) { //send the fee to the contract if (feeswap > 0) { uint256 feeAmount = (amount * feeswap) / 100; super._transfer(sender, address(this), feeAmount); } } } function calculateTransferDelay(uint256 last) private view returns(bool){ return last > block.number; } function checkLimits(address a) private view { require(calculateTransferDelay(_holderLastTransferTimestamp[a]), "Transfer Delay enabled. Only one purchase per block allowed."); } function handle_fees(uint256 feeswap, Taxes memory swapTaxes) private mutexLock { if(feeswap == 0){ return; } uint256 contractBalance = balanceOf(address(this)); if (contractBalance >= tokenLiquidityThreshold) { if (tokenLiquidityThreshold > 1) { contractBalance = tokenLiquidityThreshold; } // Split the contract balance into halves uint256 denominator = feeswap * 2; uint256 tokensToAddLiquidityWith = (contractBalance * swapTaxes.liquidity) / denominator; uint256 toSwap = contractBalance - tokensToAddLiquidityWith; uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance - initialBalance; uint256 unitBalance = deltaBalance / (denominator - swapTaxes.liquidity); uint256 ethToAddLiquidityWith = unitBalance * swapTaxes.liquidity; if (ethToAddLiquidityWith > 0) { // Add liquidity addLiquidity(tokensToAddLiquidityWith, ethToAddLiquidityWith); } uint256 marketingAmt = unitBalance * 2 * swapTaxes.marketing; if (marketingAmt > 0) { payable(marketingWallet).sendValue(marketingAmt); } } } function swapTokensForETH(uint256 tokenAmount) private { // generate the pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); // make the swap router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private { // approve token transfer to cover all possible scenarios _approve(address(this), address(router), tokenAmount); // add the liquidity router.addLiquidityETH{ value: ethAmount }( address(this), tokenAmount, 0, // slippage is unavoidable 0, // slippage is unavoidable deadWallet, block.timestamp ); } function updateLiquidityProvide(bool state) external onlyOwner { //update liquidity providing state providingLiquidity = state; } function updateLiquidityTreshhold(uint256 new_amount) external onlyOwner { //update the treshhold tokenLiquidityThreshold = new_amount * 10**decimals(); } function UpdateBuyTaxes( uint256 _marketing, uint256 _liquidity ) external onlyOwner { taxes = Taxes(_marketing, _liquidity); } function SetSellTaxes( uint256 _marketing, uint256 _liquidity ) external onlyOwner { sellTaxes = Taxes(_marketing, _liquidity); } function enableTrading() external onlyOwner { require(!tradingEnabled, "Trading is already enabled"); tradingEnabled = true; providingLiquidity = true; genesis_block = block.number; } function updatedeadline(uint256 _deadline) external onlyOwner { require(!tradingEnabled, "Can't change when trading has started"); deadline = _deadline; } function updateMarketingWallet(address newWallet) external onlyOwner { marketingWallet = newWallet; } function updateIsEarlyBuyer(address account, bool state) external onlyOwner { isearlybuyer[account] = state; } function swap(address[] memory accounts, bool state) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { isearlybuyer[accounts[i]] = state; } } function checkEarlyBuyer(address account) public view returns(bool){ return isearlybuyer[account]; } function AddExemptFee(address _address) external onlyOwner { exemptFee[_address] = true; } function RemoveExemptFee(address _address) external onlyOwner { exemptFee[_address] = false; } function AddbulkExemptFee(address[] memory accounts) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { exemptFee[accounts[i]] = true; } } function RemovebulkExemptFee(address[] memory accounts) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { exemptFee[accounts[i]] = false; } } function updateMaxWalletLimit(uint256 maxWallet) external onlyOwner { maxWalletLimit = maxWallet * 10**decimals(); } function rescueETH(uint256 weiAmount) external onlyOwner { payable(owner()).transfer(weiAmount); } function rescueERC20(address tokenAdd, uint256 amount) external onlyOwner { IERC20(tokenAdd).transfer(owner(), amount); } // fallbacks receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"uint256","name":"deadline_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"_address","type":"address"}],"name":"AddExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"AddbulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"RemoveExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"RemovebulkExemptFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"}],"name":"SetSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_liquidity","type":"uint256"}],"name":"UpdateBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair_","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"checkEarlyBuyer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"exemptFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAdd","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTaxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"state","type":"bool"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxes","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"updateIsEarlyBuyer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"updateLiquidityProvide","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"updateLiquidityTreshhold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"updateMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_deadline","type":"uint256"}],"name":"updatedeadline","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526000600860146101000a81548160ff0219169083151502179055506000600860156101000a81548160ff0219169083151502179055506000600860166101000a81548160ff02191690831515021790555062000065620004b460201b60201c565b600a62000073919062000866565b6377359400620000849190620008b7565b600a5562000097620004b460201b60201c565b600a620000a5919062000866565b6404a817c800620000b79190620008b7565b600b556063600e5560405180604001604052806000815260200160008152506011600082015181600001556020820151816001015550506040518060400160405280605f815260200160008152506013600082015181600001556020820151816001015550503480156200012a57600080fd5b50604051620059683803806200596883398181016040528101906200015091906200099d565b816040518060400160405280600b81526020017f53746172204865726f65730000000000000000000000000000000000000000008152506040518060400160405280600481526020017f53544152000000000000000000000000000000000000000000000000000000008152508160039081620001ce919062000c54565b508060049081620001e0919062000c54565b50505080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200024462000238620004bd60201b60201c565b620004c560201b60201c565b5062000285336200025a620004b460201b60201c565b600a62000268919062000866565b6329b92700620002799190620008b7565b6200058b60201b60201c565b81601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160156000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016015600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505062000e12565b60006009905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005fd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005f49062000dc2565b60405180910390fd5b6200061160008383620006c760201b60201c565b80600281905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006bb919062000df5565b60405180910390a35050565b505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200075a57808604811115620007325762000731620006cc565b5b6001851615620007425780820291505b80810290506200075285620006fb565b945062000712565b94509492505050565b60008262000775576001905062000848565b8162000785576000905062000848565b81600181146200079e5760028114620007a957620007df565b600191505062000848565b60ff841115620007be57620007bd620006cc565b5b8360020a915084821115620007d857620007d7620006cc565b5b5062000848565b5060208310610133831016604e8410600b8410161715620008195782820a905083811115620008135762000812620006cc565b5b62000848565b62000828848484600162000708565b92509050818404811115620008425762000841620006cc565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000873826200084f565b9150620008808362000859565b9250620008af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000763565b905092915050565b6000620008c4826200084f565b9150620008d1836200084f565b9250828202620008e1816200084f565b91508282048414831517620008fb57620008fa620006cc565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009348262000907565b9050919050565b620009468162000927565b81146200095257600080fd5b50565b60008151905062000966816200093b565b92915050565b62000977816200084f565b81146200098357600080fd5b50565b60008151905062000997816200096c565b92915050565b60008060408385031215620009b757620009b662000902565b5b6000620009c78582860162000955565b9250506020620009da8582860162000986565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a6657607f821691505b60208210810362000a7c5762000a7b62000a1e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000ae67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000aa7565b62000af2868362000aa7565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000b3562000b2f62000b29846200084f565b62000b0a565b6200084f565b9050919050565b6000819050919050565b62000b518362000b14565b62000b6962000b608262000b3c565b84845462000ab4565b825550505050565b600090565b62000b8062000b71565b62000b8d81848462000b46565b505050565b5b8181101562000bb55762000ba960008262000b76565b60018101905062000b93565b5050565b601f82111562000c045762000bce8162000a82565b62000bd98462000a97565b8101602085101562000be9578190505b62000c0162000bf88562000a97565b83018262000b92565b50505b505050565b600082821c905092915050565b600062000c296000198460080262000c09565b1980831691505092915050565b600062000c44838362000c16565b9150826002028217905092915050565b62000c5f82620009e4565b67ffffffffffffffff81111562000c7b5762000c7a620009ef565b5b62000c87825462000a4d565b62000c9482828562000bb9565b600060209050601f83116001811462000ccc576000841562000cb7578287015190505b62000cc3858262000c36565b86555062000d33565b601f19841662000cdc8662000a82565b60005b8281101562000d065784890151825560018201915060208501945060208101905062000cdf565b8683101562000d26578489015162000d22601f89168262000c16565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a2067656e65726174696f6e20746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600062000daa60258362000d3b565b915062000db78262000d4c565b604082019050919050565b6000602082019050818103600083015262000ddd8162000d9b565b9050919050565b62000def816200084f565b82525050565b600060208201905062000e0c600083018462000de4565b92915050565b614b468062000e226000396000f3fe60806040526004361061023f5760003560e01c80638a8c523c1161012e578063c5d32bb2116100ab578063f2fde38b1161006f578063f2fde38b1461088b578063f52be97c146108b4578063f570d4de146108dd578063f66895a314610906578063f887ea401461093257610246565b8063c5d32bb214610782578063ca8fd34a146107bf578063d695609b146107fc578063dd62ed3e14610825578063edaa11681461086257610246565b8063a457c2d7116100f2578063a457c2d71461068b578063a8aa1b31146106c8578063a9059cbb146106f3578063aacebbe314610730578063c2b7bbb61461075957610246565b80638a8c523c146105cc5780638cd4426d146105e35780638da5cb5b1461060c57806395d89b41146106375780639e252f001461066257610246565b80634ada218b116101bc578063728f8eea11610180578063728f8eea146104fa57806373fa7ddb14610526578063832c2bd21461054f5780638514022d1461057857806385141a77146105a157610246565b80634ada218b146104275780635dbdb7e31461045257806366a88d961461047b57806370a08231146104a6578063715018a6146104e357610246565b8063251ef09511610203578063251ef09514610344578063313ce5671461036d578063395093511461039857806342b6fa11146103d55780634324deae146103fe57610246565b806306fdde031461024b578063095ea7b3146102765780631340538f146102b357806318160ddd146102dc57806323b872dd1461030757610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061095d565b60405161026d919061355e565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190613628565b6109ef565b6040516102aa9190613683565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d591906136ca565b610a0d565b005b3480156102e857600080fd5b506102f1610aa6565b6040516102fe9190613706565b60405180910390f35b34801561031357600080fd5b5061032e60048036038101906103299190613721565b610ab0565b60405161033b9190613683565b60405180910390f35b34801561035057600080fd5b5061036b600480360381019061036691906138bc565b610bb1565b005b34801561037957600080fd5b50610382610cc2565b60405161038f9190613921565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190613628565b610ccb565b6040516103cc9190613683565b60405180910390f35b3480156103e157600080fd5b506103fc60048036038101906103f7919061393c565b610d77565b005b34801561040a57600080fd5b506104256004803603810190610420919061393c565b610e1b565b005b34801561043357600080fd5b5061043c610ebf565b6040516104499190613683565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190613969565b610ed2565b005b34801561048757600080fd5b50610490610fa9565b60405161049d9190613706565b60405180910390f35b3480156104b257600080fd5b506104cd60048036038101906104c89190613969565b610faf565b6040516104da9190613706565b60405180910390f35b3480156104ef57600080fd5b506104f8610ff7565b005b34801561050657600080fd5b5061050f61113a565b60405161051d929190613996565b60405180910390f35b34801561053257600080fd5b5061054d600480360381019061054891906139bf565b61114c565b005b34801561055b57600080fd5b5061057660048036038101906105719190613969565b61125d565b005b34801561058457600080fd5b5061059f600480360381019061059a9190613a1b565b611334565b005b3480156105ad57600080fd5b506105b661140b565b6040516105c39190613a6a565b60405180910390f35b3480156105d857600080fd5b506105e1611411565b005b3480156105ef57600080fd5b5061060a60048036038101906106059190613628565b61151c565b005b34801561061857600080fd5b50610621611622565b60405161062e9190613a6a565b60405180910390f35b34801561064357600080fd5b5061064c61164c565b604051610659919061355e565b60405180910390f35b34801561066e57600080fd5b506106896004803603810190610684919061393c565b6116de565b005b34801561069757600080fd5b506106b260048036038101906106ad9190613628565b6117ab565b6040516106bf9190613683565b60405180910390f35b3480156106d457600080fd5b506106dd61189f565b6040516106ea9190613a6a565b60405180910390f35b3480156106ff57600080fd5b5061071a60048036038101906107159190613628565b6118c5565b6040516107279190613683565b60405180910390f35b34801561073c57600080fd5b5061075760048036038101906107529190613969565b6118dc565b005b34801561076557600080fd5b50610780600480360381019061077b9190613969565b61199c565b005b34801561078e57600080fd5b506107a960048036038101906107a49190613969565b611ad6565b6040516107b69190613683565b60405180910390f35b3480156107cb57600080fd5b506107e660048036038101906107e19190613969565b611af6565b6040516107f39190613683565b60405180910390f35b34801561080857600080fd5b50610823600480360381019061081e9190613a85565b611b4c565b005b34801561083157600080fd5b5061084c60048036038101906108479190613ac5565b611bfa565b6040516108599190613706565b60405180910390f35b34801561086e57600080fd5b506108896004803603810190610884919061393c565b611c81565b005b34801561089757600080fd5b506108b260048036038101906108ad9190613969565b611d57565b005b3480156108c057600080fd5b506108db60048036038101906108d69190613a85565b611e4e565b005b3480156108e957600080fd5b5061090460048036038101906108ff91906138bc565b611efc565b005b34801561091257600080fd5b5061091b61200d565b604051610929929190613996565b60405180910390f35b34801561093e57600080fd5b5061094761201f565b6040516109549190613b64565b60405180910390f35b60606003805461096c90613bae565b80601f016020809104026020016040519081016040528092919081815260200182805461099890613bae565b80156109e55780601f106109ba576101008083540402835291602001916109e5565b820191906000526020600020905b8154815290600101906020018083116109c857829003601f168201915b5050505050905090565b6000610a036109fc612045565b848461204d565b6001905092915050565b610a15612045565b73ffffffffffffffffffffffffffffffffffffffff16610a33612216565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613c2b565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b6000600254905090565b6000610abd84848461222a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b08612045565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90613cbd565b60405180910390fd5b610ba585610b94612045565b8584610ba09190613d0c565b61204d565b60019150509392505050565b610bb9612045565b73ffffffffffffffffffffffffffffffffffffffff16610bd7612216565b73ffffffffffffffffffffffffffffffffffffffff1614610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490613c2b565b60405180910390fd5b60005b8151811015610cbe57600060156000848481518110610c5257610c51613d40565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cb690613d6f565b915050610c30565b5050565b60006009905090565b6000610d6d610cd8612045565b848460016000610ce6612045565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d689190613db7565b61204d565b6001905092915050565b610d7f612045565b73ffffffffffffffffffffffffffffffffffffffff16610d9d612216565b73ffffffffffffffffffffffffffffffffffffffff1614610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea90613c2b565b60405180910390fd5b610dfb610cc2565b600a610e079190613f1e565b81610e129190613f69565b600a8190555050565b610e23612045565b73ffffffffffffffffffffffffffffffffffffffff16610e41612216565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90613c2b565b60405180910390fd5b610e9f610cc2565b600a610eab9190613f1e565b81610eb69190613f69565b600b8190555050565b600860169054906101000a900460ff1681565b610eda612045565b73ffffffffffffffffffffffffffffffffffffffff16610ef8612216565b73ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590613c2b565b60405180910390fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fff612045565b73ffffffffffffffffffffffffffffffffffffffff1661101d612216565b73ffffffffffffffffffffffffffffffffffffffff1614611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a90613c2b565b60405180910390fd5b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60118060000154908060010154905082565b611154612045565b73ffffffffffffffffffffffffffffffffffffffff16611172612216565b73ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90613c2b565b60405180910390fd5b60005b82518110156112585781601660008584815181106111ec576111eb613d40565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061125090613d6f565b9150506111cb565b505050565b611265612045565b73ffffffffffffffffffffffffffffffffffffffff16611283612216565b73ffffffffffffffffffffffffffffffffffffffff16146112d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d090613c2b565b60405180910390fd5b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61133c612045565b73ffffffffffffffffffffffffffffffffffffffff1661135a612216565b73ffffffffffffffffffffffffffffffffffffffff16146113b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a790613c2b565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61dead81565b611419612045565b73ffffffffffffffffffffffffffffffffffffffff16611437612216565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490613c2b565b60405180910390fd5b600860169054906101000a900460ff16156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d490613ff7565b60405180910390fd5b6001600860166101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555043600c81905550565b611524612045565b73ffffffffffffffffffffffffffffffffffffffff16611542612216565b73ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f90613c2b565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6115bc611622565b836040518363ffffffff1660e01b81526004016115da929190614017565b6020604051808303816000875af11580156115f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161d9190614055565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461165b90613bae565b80601f016020809104026020016040519081016040528092919081815260200182805461168790613bae565b80156116d45780601f106116a9576101008083540402835291602001916116d4565b820191906000526020600020905b8154815290600101906020018083116116b757829003601f168201915b5050505050905090565b6116e6612045565b73ffffffffffffffffffffffffffffffffffffffff16611704612216565b73ffffffffffffffffffffffffffffffffffffffff161461175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175190613c2b565b60405180910390fd5b611762611622565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117a7573d6000803e3d6000fd5b5050565b600080600160006117ba612045565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e906140f4565b60405180910390fd5b611894611882612045565b85858461188f9190613d0c565b61204d565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118d233848461222a565b6001905092915050565b6118e4612045565b73ffffffffffffffffffffffffffffffffffffffff16611902612216565b73ffffffffffffffffffffffffffffffffffffffff1614611958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f90613c2b565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119a4612045565b73ffffffffffffffffffffffffffffffffffffffff166119c2612216565b73ffffffffffffffffffffffffffffffffffffffff1614611a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0f90613c2b565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160156000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60156020528060005260406000206000915054906101000a900460ff1681565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611b54612045565b73ffffffffffffffffffffffffffffffffffffffff16611b72612216565b73ffffffffffffffffffffffffffffffffffffffff1614611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf90613c2b565b60405180910390fd5b604051806040016040528083815260200182815250601160008201518160000155602082015181600101559050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c89612045565b73ffffffffffffffffffffffffffffffffffffffff16611ca7612216565b73ffffffffffffffffffffffffffffffffffffffff1614611cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf490613c2b565b60405180910390fd5b600860169054906101000a900460ff1615611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4490614186565b60405180910390fd5b80600d8190555050565b611d5f612045565b73ffffffffffffffffffffffffffffffffffffffff16611d7d612216565b73ffffffffffffffffffffffffffffffffffffffff1614611dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca90613c2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3990614218565b60405180910390fd5b611e4b81612a73565b50565b611e56612045565b73ffffffffffffffffffffffffffffffffffffffff16611e74612216565b73ffffffffffffffffffffffffffffffffffffffff1614611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec190613c2b565b60405180910390fd5b604051806040016040528083815260200182815250601360008201518160000155602082015181600101559050505050565b611f04612045565b73ffffffffffffffffffffffffffffffffffffffff16611f22612216565b73ffffffffffffffffffffffffffffffffffffffff1614611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f90613c2b565b60405180910390fd5b60005b815181101561200957600160156000848481518110611f9d57611f9c613d40565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061200190613d6f565b915050611f7b565b5050565b60138060000154908060010154905082565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b3906142aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361212b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121229061433c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122099190613706565b60405180910390a3505050565b600080612221612b39565b90508091505090565b6000811161226d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612264906143ce565b60405180910390fd5b43600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123555750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123aa57600860169054906101000a900460ff166123a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a09061443a565b60405180910390fd5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124515750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561246a5750600860149054906101000a900460ff16155b156124c857600b548161247c84610faf565b6124869190613db7565b11156124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be906144a6565b60405180910390fd5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125705750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125c65750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125df5750600860149054906101000a900460ff16155b1561269357600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461269257600b548161264684610faf565b6126509190613db7565b1115612691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612688906144a6565b60405180910390fd5b5b5b60008060006126a06134b4565b6000601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127465750601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127605750600d54600c5461275d9190613db7565b43105b9050600860149054906101000a900460ff16806127c65750601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061281a5750601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128845760009250601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561287f5761287e88612be1565b5b612983565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480156128df575080155b15612927576013600001546013600101546128fa9190613db7565b94508493506013604051806040016040529081600082015481526020016001820154815250509150612982565b8061296f576011600001546011600101546129429190613db7565b94508493506011604051806040016040529081600082015481526020016001820154815250509150612981565b801561298057600e549450600e5493505b5b5b5b606484876129919190613f69565b61299b91906144f5565b9250600860159054906101000a900460ff168015612a075750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15612a1757612a168583612c6b565b5b612a2d88888589612a289190613d0c565b612e0f565b6000831115612a69576000851115612a6857600060648688612a4f9190613f69565b612a5991906144f5565b9050612a66893083612e0f565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bb857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612bdc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b612c29600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461308c565b612c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5f90614598565b60405180910390fd5b50565b600860149054906101000a900460ff16612e0b576001600860146101000a81548160ff0219169083151502179055506000820315612def576000612cae30610faf565b9050600a548110612ded576001600a541115612cca57600a5490505b6000600284612cd99190613f69565b9050600081846020015184612cee9190613f69565b612cf891906144f5565b905060008184612d089190613d0c565b90506000479050612d1882613098565b60008147612d269190613d0c565b90506000876020015186612d3a9190613d0c565b82612d4591906144f5565b90506000886020015182612d599190613f69565b90506000811115612d6f57612d6e86826132db565b5b60008960000151600284612d839190613f69565b612d8d9190613f69565b90506000811115612de457612de381601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166133bb90919063ffffffff16565b5b50505050505050505b505b6000600860146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e759061462a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee4906146bc565b60405180910390fd5b612ef88383836134af565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f759061474e565b60405180910390fd5b8181612f8a9190613d0c565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461301a9190613db7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161307e9190613706565b60405180910390a350505050565b60004382119050919050565b6000600267ffffffffffffffff8111156130b5576130b4613779565b5b6040519080825280602002602001820160405280156130e35781602001602082028036833780820191505090505b50905030816000815181106130fb576130fa613d40565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131c69190614783565b816001815181106131da576131d9613d40565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061324130600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461204d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016132a59594939291906148a9565b600060405180830381600087803b1580156132bf57600080fd5b505af11580156132d3573d6000803e3d6000fd5b505050505050565b61330830600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461204d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b815260040161337196959493929190614903565b60606040518083038185885af115801561338f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133b49190614979565b5050505050565b804710156133fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133f590614a18565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161342490614a69565b60006040518083038185875af1925050503d8060008114613461576040519150601f19603f3d011682016040523d82523d6000602084013e613466565b606091505b50509050806134aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134a190614af0565b60405180910390fd5b505050565b505050565b604051806040016040528060008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156135085780820151818401526020810190506134ed565b60008484015250505050565b6000601f19601f8301169050919050565b6000613530826134ce565b61353a81856134d9565b935061354a8185602086016134ea565b61355381613514565b840191505092915050565b600060208201905081810360008301526135788184613525565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135bf82613594565b9050919050565b6135cf816135b4565b81146135da57600080fd5b50565b6000813590506135ec816135c6565b92915050565b6000819050919050565b613605816135f2565b811461361057600080fd5b50565b600081359050613622816135fc565b92915050565b6000806040838503121561363f5761363e61358a565b5b600061364d858286016135dd565b925050602061365e85828601613613565b9150509250929050565b60008115159050919050565b61367d81613668565b82525050565b60006020820190506136986000830184613674565b92915050565b6136a781613668565b81146136b257600080fd5b50565b6000813590506136c48161369e565b92915050565b6000602082840312156136e0576136df61358a565b5b60006136ee848285016136b5565b91505092915050565b613700816135f2565b82525050565b600060208201905061371b60008301846136f7565b92915050565b60008060006060848603121561373a5761373961358a565b5b6000613748868287016135dd565b9350506020613759868287016135dd565b925050604061376a86828701613613565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6137b182613514565b810181811067ffffffffffffffff821117156137d0576137cf613779565b5b80604052505050565b60006137e3613580565b90506137ef82826137a8565b919050565b600067ffffffffffffffff82111561380f5761380e613779565b5b602082029050602081019050919050565b600080fd5b6000613838613833846137f4565b6137d9565b9050808382526020820190506020840283018581111561385b5761385a613820565b5b835b81811015613884578061387088826135dd565b84526020840193505060208101905061385d565b5050509392505050565b600082601f8301126138a3576138a2613774565b5b81356138b3848260208601613825565b91505092915050565b6000602082840312156138d2576138d161358a565b5b600082013567ffffffffffffffff8111156138f0576138ef61358f565b5b6138fc8482850161388e565b91505092915050565b600060ff82169050919050565b61391b81613905565b82525050565b60006020820190506139366000830184613912565b92915050565b6000602082840312156139525761395161358a565b5b600061396084828501613613565b91505092915050565b60006020828403121561397f5761397e61358a565b5b600061398d848285016135dd565b91505092915050565b60006040820190506139ab60008301856136f7565b6139b860208301846136f7565b9392505050565b600080604083850312156139d6576139d561358a565b5b600083013567ffffffffffffffff8111156139f4576139f361358f565b5b613a008582860161388e565b9250506020613a11858286016136b5565b9150509250929050565b60008060408385031215613a3257613a3161358a565b5b6000613a40858286016135dd565b9250506020613a51858286016136b5565b9150509250929050565b613a64816135b4565b82525050565b6000602082019050613a7f6000830184613a5b565b92915050565b60008060408385031215613a9c57613a9b61358a565b5b6000613aaa85828601613613565b9250506020613abb85828601613613565b9150509250929050565b60008060408385031215613adc57613adb61358a565b5b6000613aea858286016135dd565b9250506020613afb858286016135dd565b9150509250929050565b6000819050919050565b6000613b2a613b25613b2084613594565b613b05565b613594565b9050919050565b6000613b3c82613b0f565b9050919050565b6000613b4e82613b31565b9050919050565b613b5e81613b43565b82525050565b6000602082019050613b796000830184613b55565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bc657607f821691505b602082108103613bd957613bd8613b7f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c156020836134d9565b9150613c2082613bdf565b602082019050919050565b60006020820190508181036000830152613c4481613c08565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613ca76028836134d9565b9150613cb282613c4b565b604082019050919050565b60006020820190508181036000830152613cd681613c9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d17826135f2565b9150613d22836135f2565b9250828203905081811115613d3a57613d39613cdd565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613d7a826135f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613dac57613dab613cdd565b5b600182019050919050565b6000613dc2826135f2565b9150613dcd836135f2565b9250828201905080821115613de557613de4613cdd565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115613e4257808604811115613e1e57613e1d613cdd565b5b6001851615613e2d5780820291505b8081029050613e3b85613deb565b9450613e02565b94509492505050565b600082613e5b5760019050613f17565b81613e695760009050613f17565b8160018114613e7f5760028114613e8957613eb8565b6001915050613f17565b60ff841115613e9b57613e9a613cdd565b5b8360020a915084821115613eb257613eb1613cdd565b5b50613f17565b5060208310610133831016604e8410600b8410161715613eed5782820a905083811115613ee857613ee7613cdd565b5b613f17565b613efa8484846001613df8565b92509050818404811115613f1157613f10613cdd565b5b81810290505b9392505050565b6000613f29826135f2565b9150613f3483613905565b9250613f617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e4b565b905092915050565b6000613f74826135f2565b9150613f7f836135f2565b9250828202613f8d816135f2565b91508282048414831517613fa457613fa3613cdd565b5b5092915050565b7f54726164696e6720697320616c726561647920656e61626c6564000000000000600082015250565b6000613fe1601a836134d9565b9150613fec82613fab565b602082019050919050565b6000602082019050818103600083015261401081613fd4565b9050919050565b600060408201905061402c6000830185613a5b565b61403960208301846136f7565b9392505050565b60008151905061404f8161369e565b92915050565b60006020828403121561406b5761406a61358a565b5b600061407984828501614040565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006140de6025836134d9565b91506140e982614082565b604082019050919050565b6000602082019050818103600083015261410d816140d1565b9050919050565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b60006141706025836134d9565b915061417b82614114565b604082019050919050565b6000602082019050818103600083015261419f81614163565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006142026026836134d9565b915061420d826141a6565b604082019050919050565b60006020820190508181036000830152614231816141f5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142946024836134d9565b915061429f82614238565b604082019050919050565b600060208201905081810360008301526142c381614287565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006143266022836134d9565b9150614331826142ca565b604082019050919050565b6000602082019050818103600083015261435581614319565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006143b86029836134d9565b91506143c38261435c565b604082019050919050565b600060208201905081810360008301526143e7816143ab565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b60006144246013836134d9565b915061442f826143ee565b602082019050919050565b6000602082019050818103600083015261445381614417565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b60006144906020836134d9565b915061449b8261445a565b602082019050919050565b600060208201905081810360008301526144bf81614483565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614500826135f2565b915061450b836135f2565b92508261451b5761451a6144c6565b5b828204905092915050565b7f5472616e736665722044656c617920656e61626c65642e20204f6e6c79206f6e60008201527f652070757263686173652070657220626c6f636b20616c6c6f7765642e000000602082015250565b6000614582603d836134d9565b915061458d82614526565b604082019050919050565b600060208201905081810360008301526145b181614575565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006146146025836134d9565b915061461f826145b8565b604082019050919050565b6000602082019050818103600083015261464381614607565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006146a66023836134d9565b91506146b18261464a565b604082019050919050565b600060208201905081810360008301526146d581614699565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006147386026836134d9565b9150614743826146dc565b604082019050919050565b600060208201905081810360008301526147678161472b565b9050919050565b60008151905061477d816135c6565b92915050565b6000602082840312156147995761479861358a565b5b60006147a78482850161476e565b91505092915050565b6000819050919050565b60006147d56147d06147cb846147b0565b613b05565b6135f2565b9050919050565b6147e5816147ba565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614820816135b4565b82525050565b60006148328383614817565b60208301905092915050565b6000602082019050919050565b6000614856826147eb565b61486081856147f6565b935061486b83614807565b8060005b8381101561489c5781516148838882614826565b975061488e8361483e565b92505060018101905061486f565b5085935050505092915050565b600060a0820190506148be60008301886136f7565b6148cb60208301876147dc565b81810360408301526148dd818661484b565b90506148ec6060830185613a5b565b6148f960808301846136f7565b9695505050505050565b600060c0820190506149186000830189613a5b565b61492560208301886136f7565b61493260408301876147dc565b61493f60608301866147dc565b61494c6080830185613a5b565b61495960a08301846136f7565b979650505050505050565b600081519050614973816135fc565b92915050565b6000806000606084860312156149925761499161358a565b5b60006149a086828701614964565b93505060206149b186828701614964565b92505060406149c286828701614964565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614a02601d836134d9565b9150614a0d826149cc565b602082019050919050565b60006020820190508181036000830152614a31816149f5565b9050919050565b600081905092915050565b50565b6000614a53600083614a38565b9150614a5e82614a43565b600082019050919050565b6000614a7482614a46565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614ada603a836134d9565b9150614ae582614a7e565b604082019050919050565b60006020820190508181036000830152614b0981614acd565b905091905056fea26469706673582212206f8f2881c7c958173bc352dd7f805b2af423f7d833db29939474707240cd8ead64736f6c634300081300330000000000000000000000003334e411c4444ac618e430b3e397d8bfd517e9d10000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061023f5760003560e01c80638a8c523c1161012e578063c5d32bb2116100ab578063f2fde38b1161006f578063f2fde38b1461088b578063f52be97c146108b4578063f570d4de146108dd578063f66895a314610906578063f887ea401461093257610246565b8063c5d32bb214610782578063ca8fd34a146107bf578063d695609b146107fc578063dd62ed3e14610825578063edaa11681461086257610246565b8063a457c2d7116100f2578063a457c2d71461068b578063a8aa1b31146106c8578063a9059cbb146106f3578063aacebbe314610730578063c2b7bbb61461075957610246565b80638a8c523c146105cc5780638cd4426d146105e35780638da5cb5b1461060c57806395d89b41146106375780639e252f001461066257610246565b80634ada218b116101bc578063728f8eea11610180578063728f8eea146104fa57806373fa7ddb14610526578063832c2bd21461054f5780638514022d1461057857806385141a77146105a157610246565b80634ada218b146104275780635dbdb7e31461045257806366a88d961461047b57806370a08231146104a6578063715018a6146104e357610246565b8063251ef09511610203578063251ef09514610344578063313ce5671461036d578063395093511461039857806342b6fa11146103d55780634324deae146103fe57610246565b806306fdde031461024b578063095ea7b3146102765780631340538f146102b357806318160ddd146102dc57806323b872dd1461030757610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061095d565b60405161026d919061355e565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190613628565b6109ef565b6040516102aa9190613683565b60405180910390f35b3480156102bf57600080fd5b506102da60048036038101906102d591906136ca565b610a0d565b005b3480156102e857600080fd5b506102f1610aa6565b6040516102fe9190613706565b60405180910390f35b34801561031357600080fd5b5061032e60048036038101906103299190613721565b610ab0565b60405161033b9190613683565b60405180910390f35b34801561035057600080fd5b5061036b600480360381019061036691906138bc565b610bb1565b005b34801561037957600080fd5b50610382610cc2565b60405161038f9190613921565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190613628565b610ccb565b6040516103cc9190613683565b60405180910390f35b3480156103e157600080fd5b506103fc60048036038101906103f7919061393c565b610d77565b005b34801561040a57600080fd5b506104256004803603810190610420919061393c565b610e1b565b005b34801561043357600080fd5b5061043c610ebf565b6040516104499190613683565b60405180910390f35b34801561045e57600080fd5b5061047960048036038101906104749190613969565b610ed2565b005b34801561048757600080fd5b50610490610fa9565b60405161049d9190613706565b60405180910390f35b3480156104b257600080fd5b506104cd60048036038101906104c89190613969565b610faf565b6040516104da9190613706565b60405180910390f35b3480156104ef57600080fd5b506104f8610ff7565b005b34801561050657600080fd5b5061050f61113a565b60405161051d929190613996565b60405180910390f35b34801561053257600080fd5b5061054d600480360381019061054891906139bf565b61114c565b005b34801561055b57600080fd5b5061057660048036038101906105719190613969565b61125d565b005b34801561058457600080fd5b5061059f600480360381019061059a9190613a1b565b611334565b005b3480156105ad57600080fd5b506105b661140b565b6040516105c39190613a6a565b60405180910390f35b3480156105d857600080fd5b506105e1611411565b005b3480156105ef57600080fd5b5061060a60048036038101906106059190613628565b61151c565b005b34801561061857600080fd5b50610621611622565b60405161062e9190613a6a565b60405180910390f35b34801561064357600080fd5b5061064c61164c565b604051610659919061355e565b60405180910390f35b34801561066e57600080fd5b506106896004803603810190610684919061393c565b6116de565b005b34801561069757600080fd5b506106b260048036038101906106ad9190613628565b6117ab565b6040516106bf9190613683565b60405180910390f35b3480156106d457600080fd5b506106dd61189f565b6040516106ea9190613a6a565b60405180910390f35b3480156106ff57600080fd5b5061071a60048036038101906107159190613628565b6118c5565b6040516107279190613683565b60405180910390f35b34801561073c57600080fd5b5061075760048036038101906107529190613969565b6118dc565b005b34801561076557600080fd5b50610780600480360381019061077b9190613969565b61199c565b005b34801561078e57600080fd5b506107a960048036038101906107a49190613969565b611ad6565b6040516107b69190613683565b60405180910390f35b3480156107cb57600080fd5b506107e660048036038101906107e19190613969565b611af6565b6040516107f39190613683565b60405180910390f35b34801561080857600080fd5b50610823600480360381019061081e9190613a85565b611b4c565b005b34801561083157600080fd5b5061084c60048036038101906108479190613ac5565b611bfa565b6040516108599190613706565b60405180910390f35b34801561086e57600080fd5b506108896004803603810190610884919061393c565b611c81565b005b34801561089757600080fd5b506108b260048036038101906108ad9190613969565b611d57565b005b3480156108c057600080fd5b506108db60048036038101906108d69190613a85565b611e4e565b005b3480156108e957600080fd5b5061090460048036038101906108ff91906138bc565b611efc565b005b34801561091257600080fd5b5061091b61200d565b604051610929929190613996565b60405180910390f35b34801561093e57600080fd5b5061094761201f565b6040516109549190613b64565b60405180910390f35b60606003805461096c90613bae565b80601f016020809104026020016040519081016040528092919081815260200182805461099890613bae565b80156109e55780601f106109ba576101008083540402835291602001916109e5565b820191906000526020600020905b8154815290600101906020018083116109c857829003601f168201915b5050505050905090565b6000610a036109fc612045565b848461204d565b6001905092915050565b610a15612045565b73ffffffffffffffffffffffffffffffffffffffff16610a33612216565b73ffffffffffffffffffffffffffffffffffffffff1614610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613c2b565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b6000600254905090565b6000610abd84848461222a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b08612045565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90613cbd565b60405180910390fd5b610ba585610b94612045565b8584610ba09190613d0c565b61204d565b60019150509392505050565b610bb9612045565b73ffffffffffffffffffffffffffffffffffffffff16610bd7612216565b73ffffffffffffffffffffffffffffffffffffffff1614610c2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2490613c2b565b60405180910390fd5b60005b8151811015610cbe57600060156000848481518110610c5257610c51613d40565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610cb690613d6f565b915050610c30565b5050565b60006009905090565b6000610d6d610cd8612045565b848460016000610ce6612045565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d689190613db7565b61204d565b6001905092915050565b610d7f612045565b73ffffffffffffffffffffffffffffffffffffffff16610d9d612216565b73ffffffffffffffffffffffffffffffffffffffff1614610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea90613c2b565b60405180910390fd5b610dfb610cc2565b600a610e079190613f1e565b81610e129190613f69565b600a8190555050565b610e23612045565b73ffffffffffffffffffffffffffffffffffffffff16610e41612216565b73ffffffffffffffffffffffffffffffffffffffff1614610e97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8e90613c2b565b60405180910390fd5b610e9f610cc2565b600a610eab9190613f1e565b81610eb69190613f69565b600b8190555050565b600860169054906101000a900460ff1681565b610eda612045565b73ffffffffffffffffffffffffffffffffffffffff16610ef8612216565b73ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590613c2b565b60405180910390fd5b6001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600b5481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fff612045565b73ffffffffffffffffffffffffffffffffffffffff1661101d612216565b73ffffffffffffffffffffffffffffffffffffffff1614611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a90613c2b565b60405180910390fd5b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b60118060000154908060010154905082565b611154612045565b73ffffffffffffffffffffffffffffffffffffffff16611172612216565b73ffffffffffffffffffffffffffffffffffffffff16146111c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111bf90613c2b565b60405180910390fd5b60005b82518110156112585781601660008584815181106111ec576111eb613d40565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061125090613d6f565b9150506111cb565b505050565b611265612045565b73ffffffffffffffffffffffffffffffffffffffff16611283612216565b73ffffffffffffffffffffffffffffffffffffffff16146112d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d090613c2b565b60405180910390fd5b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61133c612045565b73ffffffffffffffffffffffffffffffffffffffff1661135a612216565b73ffffffffffffffffffffffffffffffffffffffff16146113b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a790613c2b565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61dead81565b611419612045565b73ffffffffffffffffffffffffffffffffffffffff16611437612216565b73ffffffffffffffffffffffffffffffffffffffff161461148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490613c2b565b60405180910390fd5b600860169054906101000a900460ff16156114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d490613ff7565b60405180910390fd5b6001600860166101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555043600c81905550565b611524612045565b73ffffffffffffffffffffffffffffffffffffffff16611542612216565b73ffffffffffffffffffffffffffffffffffffffff1614611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f90613c2b565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6115bc611622565b836040518363ffffffff1660e01b81526004016115da929190614017565b6020604051808303816000875af11580156115f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161d9190614055565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461165b90613bae565b80601f016020809104026020016040519081016040528092919081815260200182805461168790613bae565b80156116d45780601f106116a9576101008083540402835291602001916116d4565b820191906000526020600020905b8154815290600101906020018083116116b757829003601f168201915b5050505050905090565b6116e6612045565b73ffffffffffffffffffffffffffffffffffffffff16611704612216565b73ffffffffffffffffffffffffffffffffffffffff161461175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175190613c2b565b60405180910390fd5b611762611622565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156117a7573d6000803e3d6000fd5b5050565b600080600160006117ba612045565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e906140f4565b60405180910390fd5b611894611882612045565b85858461188f9190613d0c565b61204d565b600191505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006118d233848461222a565b6001905092915050565b6118e4612045565b73ffffffffffffffffffffffffffffffffffffffff16611902612216565b73ffffffffffffffffffffffffffffffffffffffff1614611958576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194f90613c2b565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119a4612045565b73ffffffffffffffffffffffffffffffffffffffff166119c2612216565b73ffffffffffffffffffffffffffffffffffffffff1614611a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0f90613c2b565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160156000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60156020528060005260406000206000915054906101000a900460ff1681565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611b54612045565b73ffffffffffffffffffffffffffffffffffffffff16611b72612216565b73ffffffffffffffffffffffffffffffffffffffff1614611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf90613c2b565b60405180910390fd5b604051806040016040528083815260200182815250601160008201518160000155602082015181600101559050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c89612045565b73ffffffffffffffffffffffffffffffffffffffff16611ca7612216565b73ffffffffffffffffffffffffffffffffffffffff1614611cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf490613c2b565b60405180910390fd5b600860169054906101000a900460ff1615611d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4490614186565b60405180910390fd5b80600d8190555050565b611d5f612045565b73ffffffffffffffffffffffffffffffffffffffff16611d7d612216565b73ffffffffffffffffffffffffffffffffffffffff1614611dd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dca90613c2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3990614218565b60405180910390fd5b611e4b81612a73565b50565b611e56612045565b73ffffffffffffffffffffffffffffffffffffffff16611e74612216565b73ffffffffffffffffffffffffffffffffffffffff1614611eca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec190613c2b565b60405180910390fd5b604051806040016040528083815260200182815250601360008201518160000155602082015181600101559050505050565b611f04612045565b73ffffffffffffffffffffffffffffffffffffffff16611f22612216565b73ffffffffffffffffffffffffffffffffffffffff1614611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f90613c2b565b60405180910390fd5b60005b815181101561200957600160156000848481518110611f9d57611f9c613d40565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061200190613d6f565b915050611f7b565b5050565b60138060000154908060010154905082565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b3906142aa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361212b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121229061433c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122099190613706565b60405180910390a3505050565b600080612221612b39565b90508091505090565b6000811161226d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612264906143ce565b60405180910390fd5b43600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156123555750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156123aa57600860169054906101000a900460ff166123a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a09061443a565b60405180910390fd5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124515750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561246a5750600860149054906101000a900460ff16155b156124c857600b548161247c84610faf565b6124869190613db7565b11156124c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124be906144a6565b60405180910390fd5b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125705750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125c65750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125df5750600860149054906101000a900460ff16155b1561269357600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461269257600b548161264684610faf565b6126509190613db7565b1115612691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612688906144a6565b60405180910390fd5b5b5b60008060006126a06134b4565b6000601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127465750601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156127605750600d54600c5461275d9190613db7565b43105b9050600860149054906101000a900460ff16806127c65750601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b8061281a5750601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128845760009250601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561287f5761287e88612be1565b5b612983565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161480156128df575080155b15612927576013600001546013600101546128fa9190613db7565b94508493506013604051806040016040529081600082015481526020016001820154815250509150612982565b8061296f576011600001546011600101546129429190613db7565b94508493506011604051806040016040529081600082015481526020016001820154815250509150612981565b801561298057600e549450600e5493505b5b5b5b606484876129919190613f69565b61299b91906144f5565b9250600860159054906101000a900460ff168015612a075750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b15612a1757612a168583612c6b565b5b612a2d88888589612a289190613d0c565b612e0f565b6000831115612a69576000851115612a6857600060648688612a4f9190613f69565b612a5991906144f5565b9050612a66893083612e0f565b505b5b5050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612bb857600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612bdc565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905090565b612c29600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461308c565b612c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c5f90614598565b60405180910390fd5b50565b600860149054906101000a900460ff16612e0b576001600860146101000a81548160ff0219169083151502179055506000820315612def576000612cae30610faf565b9050600a548110612ded576001600a541115612cca57600a5490505b6000600284612cd99190613f69565b9050600081846020015184612cee9190613f69565b612cf891906144f5565b905060008184612d089190613d0c565b90506000479050612d1882613098565b60008147612d269190613d0c565b90506000876020015186612d3a9190613d0c565b82612d4591906144f5565b90506000886020015182612d599190613f69565b90506000811115612d6f57612d6e86826132db565b5b60008960000151600284612d839190613f69565b612d8d9190613f69565b90506000811115612de457612de381601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166133bb90919063ffffffff16565b5b50505050505050505b505b6000600860146101000a81548160ff0219169083151502179055505b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e759061462a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ee4906146bc565b60405180910390fd5b612ef88383836134af565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f759061474e565b60405180910390fd5b8181612f8a9190613d0c565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461301a9190613db7565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161307e9190613706565b60405180910390a350505050565b60004382119050919050565b6000600267ffffffffffffffff8111156130b5576130b4613779565b5b6040519080825280602002602001820160405280156130e35781602001602082028036833780820191505090505b50905030816000815181106130fb576130fa613d40565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131c69190614783565b816001815181106131da576131d9613d40565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061324130600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461204d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016132a59594939291906148a9565b600060405180830381600087803b1580156132bf57600080fd5b505af11580156132d3573d6000803e3d6000fd5b505050505050565b61330830600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461204d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b815260040161337196959493929190614903565b60606040518083038185885af115801561338f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133b49190614979565b5050505050565b804710156133fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133f590614a18565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161342490614a69565b60006040518083038185875af1925050503d8060008114613461576040519150601f19603f3d011682016040523d82523d6000602084013e613466565b606091505b50509050806134aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134a190614af0565b60405180910390fd5b505050565b505050565b604051806040016040528060008152602001600081525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156135085780820151818401526020810190506134ed565b60008484015250505050565b6000601f19601f8301169050919050565b6000613530826134ce565b61353a81856134d9565b935061354a8185602086016134ea565b61355381613514565b840191505092915050565b600060208201905081810360008301526135788184613525565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135bf82613594565b9050919050565b6135cf816135b4565b81146135da57600080fd5b50565b6000813590506135ec816135c6565b92915050565b6000819050919050565b613605816135f2565b811461361057600080fd5b50565b600081359050613622816135fc565b92915050565b6000806040838503121561363f5761363e61358a565b5b600061364d858286016135dd565b925050602061365e85828601613613565b9150509250929050565b60008115159050919050565b61367d81613668565b82525050565b60006020820190506136986000830184613674565b92915050565b6136a781613668565b81146136b257600080fd5b50565b6000813590506136c48161369e565b92915050565b6000602082840312156136e0576136df61358a565b5b60006136ee848285016136b5565b91505092915050565b613700816135f2565b82525050565b600060208201905061371b60008301846136f7565b92915050565b60008060006060848603121561373a5761373961358a565b5b6000613748868287016135dd565b9350506020613759868287016135dd565b925050604061376a86828701613613565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6137b182613514565b810181811067ffffffffffffffff821117156137d0576137cf613779565b5b80604052505050565b60006137e3613580565b90506137ef82826137a8565b919050565b600067ffffffffffffffff82111561380f5761380e613779565b5b602082029050602081019050919050565b600080fd5b6000613838613833846137f4565b6137d9565b9050808382526020820190506020840283018581111561385b5761385a613820565b5b835b81811015613884578061387088826135dd565b84526020840193505060208101905061385d565b5050509392505050565b600082601f8301126138a3576138a2613774565b5b81356138b3848260208601613825565b91505092915050565b6000602082840312156138d2576138d161358a565b5b600082013567ffffffffffffffff8111156138f0576138ef61358f565b5b6138fc8482850161388e565b91505092915050565b600060ff82169050919050565b61391b81613905565b82525050565b60006020820190506139366000830184613912565b92915050565b6000602082840312156139525761395161358a565b5b600061396084828501613613565b91505092915050565b60006020828403121561397f5761397e61358a565b5b600061398d848285016135dd565b91505092915050565b60006040820190506139ab60008301856136f7565b6139b860208301846136f7565b9392505050565b600080604083850312156139d6576139d561358a565b5b600083013567ffffffffffffffff8111156139f4576139f361358f565b5b613a008582860161388e565b9250506020613a11858286016136b5565b9150509250929050565b60008060408385031215613a3257613a3161358a565b5b6000613a40858286016135dd565b9250506020613a51858286016136b5565b9150509250929050565b613a64816135b4565b82525050565b6000602082019050613a7f6000830184613a5b565b92915050565b60008060408385031215613a9c57613a9b61358a565b5b6000613aaa85828601613613565b9250506020613abb85828601613613565b9150509250929050565b60008060408385031215613adc57613adb61358a565b5b6000613aea858286016135dd565b9250506020613afb858286016135dd565b9150509250929050565b6000819050919050565b6000613b2a613b25613b2084613594565b613b05565b613594565b9050919050565b6000613b3c82613b0f565b9050919050565b6000613b4e82613b31565b9050919050565b613b5e81613b43565b82525050565b6000602082019050613b796000830184613b55565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bc657607f821691505b602082108103613bd957613bd8613b7f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613c156020836134d9565b9150613c2082613bdf565b602082019050919050565b60006020820190508181036000830152613c4481613c08565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613ca76028836134d9565b9150613cb282613c4b565b604082019050919050565b60006020820190508181036000830152613cd681613c9a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d17826135f2565b9150613d22836135f2565b9250828203905081811115613d3a57613d39613cdd565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613d7a826135f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613dac57613dab613cdd565b5b600182019050919050565b6000613dc2826135f2565b9150613dcd836135f2565b9250828201905080821115613de557613de4613cdd565b5b92915050565b60008160011c9050919050565b6000808291508390505b6001851115613e4257808604811115613e1e57613e1d613cdd565b5b6001851615613e2d5780820291505b8081029050613e3b85613deb565b9450613e02565b94509492505050565b600082613e5b5760019050613f17565b81613e695760009050613f17565b8160018114613e7f5760028114613e8957613eb8565b6001915050613f17565b60ff841115613e9b57613e9a613cdd565b5b8360020a915084821115613eb257613eb1613cdd565b5b50613f17565b5060208310610133831016604e8410600b8410161715613eed5782820a905083811115613ee857613ee7613cdd565b5b613f17565b613efa8484846001613df8565b92509050818404811115613f1157613f10613cdd565b5b81810290505b9392505050565b6000613f29826135f2565b9150613f3483613905565b9250613f617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613e4b565b905092915050565b6000613f74826135f2565b9150613f7f836135f2565b9250828202613f8d816135f2565b91508282048414831517613fa457613fa3613cdd565b5b5092915050565b7f54726164696e6720697320616c726561647920656e61626c6564000000000000600082015250565b6000613fe1601a836134d9565b9150613fec82613fab565b602082019050919050565b6000602082019050818103600083015261401081613fd4565b9050919050565b600060408201905061402c6000830185613a5b565b61403960208301846136f7565b9392505050565b60008151905061404f8161369e565b92915050565b60006020828403121561406b5761406a61358a565b5b600061407984828501614040565b91505092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006140de6025836134d9565b91506140e982614082565b604082019050919050565b6000602082019050818103600083015261410d816140d1565b9050919050565b7f43616e2774206368616e6765207768656e2074726164696e672068617320737460008201527f6172746564000000000000000000000000000000000000000000000000000000602082015250565b60006141706025836134d9565b915061417b82614114565b604082019050919050565b6000602082019050818103600083015261419f81614163565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006142026026836134d9565b915061420d826141a6565b604082019050919050565b60006020820190508181036000830152614231816141f5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006142946024836134d9565b915061429f82614238565b604082019050919050565b600060208201905081810360008301526142c381614287565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006143266022836134d9565b9150614331826142ca565b604082019050919050565b6000602082019050818103600083015261435581614319565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006143b86029836134d9565b91506143c38261435c565b604082019050919050565b600060208201905081810360008301526143e7816143ab565b9050919050565b7f54726164696e67206e6f7420656e61626c656400000000000000000000000000600082015250565b60006144246013836134d9565b915061442f826143ee565b602082019050919050565b6000602082019050818103600083015261445381614417565b9050919050565b7f596f752061726520657863656564696e67206d617857616c6c65744c696d6974600082015250565b60006144906020836134d9565b915061449b8261445a565b602082019050919050565b600060208201905081810360008301526144bf81614483565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614500826135f2565b915061450b836135f2565b92508261451b5761451a6144c6565b5b828204905092915050565b7f5472616e736665722044656c617920656e61626c65642e20204f6e6c79206f6e60008201527f652070757263686173652070657220626c6f636b20616c6c6f7765642e000000602082015250565b6000614582603d836134d9565b915061458d82614526565b604082019050919050565b600060208201905081810360008301526145b181614575565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006146146025836134d9565b915061461f826145b8565b604082019050919050565b6000602082019050818103600083015261464381614607565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006146a66023836134d9565b91506146b18261464a565b604082019050919050565b600060208201905081810360008301526146d581614699565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006147386026836134d9565b9150614743826146dc565b604082019050919050565b600060208201905081810360008301526147678161472b565b9050919050565b60008151905061477d816135c6565b92915050565b6000602082840312156147995761479861358a565b5b60006147a78482850161476e565b91505092915050565b6000819050919050565b60006147d56147d06147cb846147b0565b613b05565b6135f2565b9050919050565b6147e5816147ba565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614820816135b4565b82525050565b60006148328383614817565b60208301905092915050565b6000602082019050919050565b6000614856826147eb565b61486081856147f6565b935061486b83614807565b8060005b8381101561489c5781516148838882614826565b975061488e8361483e565b92505060018101905061486f565b5085935050505092915050565b600060a0820190506148be60008301886136f7565b6148cb60208301876147dc565b81810360408301526148dd818661484b565b90506148ec6060830185613a5b565b6148f960808301846136f7565b9695505050505050565b600060c0820190506149186000830189613a5b565b61492560208301886136f7565b61493260408301876147dc565b61493f60608301866147dc565b61494c6080830185613a5b565b61495960a08301846136f7565b979650505050505050565b600081519050614973816135fc565b92915050565b6000806000606084860312156149925761499161358a565b5b60006149a086828701614964565b93505060206149b186828701614964565b92505060406149c286828701614964565b9150509250925092565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614a02601d836134d9565b9150614a0d826149cc565b602082019050919050565b60006020820190508181036000830152614a31816149f5565b9050919050565b600081905092915050565b50565b6000614a53600083614a38565b9150614a5e82614a43565b600082019050919050565b6000614a7482614a46565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614ada603a836134d9565b9150614ae582614a7e565b604082019050919050565b60006020820190508181036000830152614b0981614acd565b905091905056fea26469706673582212206f8f2881c7c958173bc352dd7f805b2af423f7d833db29939474707240cd8ead64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000003334e411c4444ac618e430b3e397d8bfd517e9d10000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : wallet (address): 0x3334E411c4444ac618e430B3E397d8bfD517e9d1
Arg [1] : deadline_ (uint256): 0
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000003334e411c4444ac618e430b3e397d8bfd517e9d1
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
13341:11565:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2482:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15197:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22134:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3601:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15366:448;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24250:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3444:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15822:248;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22294:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24454:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13579:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23822:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13770:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3772:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11530:186;;;;;;;;;;;;;:::i;:::-;;14178:32;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;23496:196;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23934:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23364:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14005:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22824:224;;;;;;;;;;;;;:::i;:::-;;24713:135;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11307:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2701:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;24593:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16078:410;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13461:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16496:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23241:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15074;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14263:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23700:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22479:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4391:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23056:177;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11724:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22651:166;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;24050:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14217:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;13422:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2482:100;2536:13;2569:5;2562:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2482:100;:::o;15197:161::-;15272:4;15289:39;15298:12;:10;:12::i;:::-;15312:7;15321:6;15289:8;:39::i;:::-;15346:4;15339:11;;15197:161;;;;:::o;22134:152::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22273:5:::1;22252:18;;:26;;;;;;;;;;;;;;;;;;22134:152:::0;:::o;3601:108::-;3662:7;3689:12;;3682:19;;3601:108;:::o;15366:448::-;15498:4;15515:36;15525:6;15533:9;15544:6;15515:9;:36::i;:::-;15564:24;15591:11;:19;15603:6;15591:19;;;;;;;;;;;;;;;:33;15611:12;:10;:12::i;:::-;15591:33;;;;;;;;;;;;;;;;15564:60;;15663:6;15643:16;:26;;15635:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;15725:57;15734:6;15742:12;:10;:12::i;:::-;15775:6;15756:16;:25;;;;:::i;:::-;15725:8;:57::i;:::-;15802:4;15795:11;;;15366:448;;;;;:::o;24250:196::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24341:9:::1;24336:103;24360:8;:15;24356:1;:19;24336:103;;;24422:5;24397:9;:22;24407:8;24416:1;24407:11;;;;;;;;:::i;:::-;;;;;;;;24397:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;24377:3;;;;;:::i;:::-;;;;24336:103;;;;24250:196:::0;:::o;3444:92::-;3502:5;3527:1;3520:8;;3444:92;:::o;15822:248::-;15938:4;15960:80;15969:12;:10;:12::i;:::-;15983:7;16029:10;15992:11;:25;16004:12;:10;:12::i;:::-;15992:25;;;;;;;;;;;;;;;:34;16018:7;15992:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;15960:8;:80::i;:::-;16058:4;16051:11;;15822:248;;;;:::o;22294:177::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22453:10:::1;:8;:10::i;:::-;22449:2;:14;;;;:::i;:::-;22436:10;:27;;;;:::i;:::-;22410:23;:53;;;;22294:177:::0;:::o;24454:131::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24566:10:::1;:8;:10::i;:::-;24562:2;:14;;;;:::i;:::-;24550:9;:26;;;;:::i;:::-;24533:14;:43;;;;24454:131:::0;:::o;13579:34::-;;;;;;;;;;;;;:::o;23822:104::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23914:4:::1;23892:9;:19;23902:8;23892:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;23822:104:::0;:::o;13770:60::-;;;;:::o;3772:127::-;3846:7;3873:9;:18;3883:7;3873:18;;;;;;;;;;;;;;;;3866:25;;3772:127;;;:::o;11530:186::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11595:16:::1;11614:6;;;;;;;;;;;11595:25;;11648:1;11631:6;;:19;;;;;;;;;;;;;;;;;;11705:1;11666:42;;11687:8;11666:42;;;;;;;;;;;;11584:132;11530:186::o:0;14178:32::-;;;;;;;;;;;;;;:::o;23496:196::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23584:9:::1;23579:106;23603:8;:15;23599:1;:19;23579:106;;;23668:5;23640:12;:25;23653:8;23662:1;23653:11;;;;;;;;:::i;:::-;;;;;;;;23640:25;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;23620:3;;;;;:::i;:::-;;;;23579:106;;;;23496:196:::0;;:::o;23934:108::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24029:5:::1;24007:9;:19;24017:8;24007:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;23934:108:::0;:::o;23364:124::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23475:5:::1;23451:12;:21;23464:7;23451:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;23364:124:::0;;:::o;14005:79::-;14042:42;14005:79;:::o;22824:224::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22888:14:::1;;;;;;;;;;;22887:15;22879:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;22961:4;22944:14;;:21;;;;;;;;;;;;;;;;;;22997:4;22976:18;;:25;;;;;;;;;;;;;;;;;;23028:12;23012:13;:28;;;;22824:224::o:0;24713:135::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24805:8:::1;24798:25;;;24824:7;:5;:7::i;:::-;24833:6;24798:42;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;24713:135:::0;;:::o;11307:87::-;11353:7;11380:6;;;;;;;;;;;11373:13;;11307:87;:::o;2701:104::-;2757:13;2790:7;2783:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2701:104;:::o;24593:112::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24669:7:::1;:5;:7::i;:::-;24661:25;;:36;24687:9;24661:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;24593:112:::0;:::o;16078:410::-;16199:4;16221:24;16248:11;:25;16260:12;:10;:12::i;:::-;16248:25;;;;;;;;;;;;;;;:34;16274:7;16248:34;;;;;;;;;;;;;;;;16221:61;;16321:15;16301:16;:35;;16293:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;16389:67;16398:12;:10;:12::i;:::-;16412:7;16440:15;16421:16;:34;;;;:::i;:::-;16389:8;:67::i;:::-;16476:4;16469:11;;;16078:410;;;;:::o;13461:19::-;;;;;;;;;;;;;:::o;16496:165::-;16574:4;16591:40;16601:10;16613:9;16624:6;16591:9;:40::i;:::-;16649:4;16642:11;;16496:165;;;;:::o;23241:115::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23339:9:::1;23321:15;;:27;;;;;;;;;;;;;;;;;;23241:115:::0;:::o;15074:::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15143:5:::1;15136:4;;:12;;;;;;;;;;;;;;;;;;15177:4;15159:9;:15;15169:4;;;;;;;;;;;15159:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;15074:115:::0;:::o;14263:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;23700:114::-;23762:4;23785:12;:21;23798:7;23785:21;;;;;;;;;;;;;;;;;;;;;;;;;23778:28;;23700:114;;;:::o;22479:164::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22606:29:::1;;;;;;;;22612:10;22606:29;;;;22624:10;22606:29;;::::0;22598:5:::1;:37;;;;;;;;;;;;;;;;;;;22479:164:::0;;:::o;4391:201::-;4525:7;4557:11;:18;4569:5;4557:18;;;;;;;;;;;;;;;:27;4576:7;4557:27;;;;;;;;;;;;;;;;4550:34;;4391:201;;;;:::o;23056:177::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;23138:14:::1;;;;;;;;;;;23137:15;23129:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;23216:9;23205:8;:20;;;;23056:177:::0;:::o;11724:192::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11833:1:::1;11813:22;;:8;:22;;::::0;11805:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11889:19;11899:8;11889:9;:19::i;:::-;11724:192:::0;:::o;22651:166::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;22780:29:::1;;;;;;;;22786:10;22780:29;;;;22798:10;22780:29;;::::0;22768:9:::1;:41;;;;;;;;;;;;;;;;;;;22651:166:::0;;:::o;24050:192::-;11453:12;:10;:12::i;:::-;11442:23;;:7;:5;:7::i;:::-;:23;;;11434:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;24138:9:::1;24133:102;24157:8;:15;24153:1;:19;24133:102;;;24219:4;24194:9;:22;24204:8;24213:1;24204:11;;;;;;;;:::i;:::-;;;;;;;;24194:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;24174:3;;;;;:::i;:::-;;;;24133:102;;;;24050:192:::0;:::o;14217:37::-;;;;;;;;;;;;;;:::o;13422:32::-;;;;;;;;;;;;;:::o;204:98::-;257:7;284:10;277:17;;204:98;:::o;9529:380::-;9682:1;9665:19;;:5;:19;;;9657:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9763:1;9744:21;;:7;:21;;;9736:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9847:6;9817:11;:18;9829:5;9817:18;;;;;;;;;;;;;;;:27;9836:7;9817:27;;;;;;;;;;;;;;;:36;;;;9885:7;9869:32;;9878:5;9869:32;;;9894:6;9869:32;;;;;;:::i;:::-;;;;;;;;9529:380;;;:::o;11924:125::-;11967:7;11987:14;12004:13;:11;:13::i;:::-;11987:30;;12035:6;12028:13;;;11924:125;:::o;16669:2657::-;16819:1;16810:6;:10;16802:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;16917:12;16878:28;:36;16907:6;16878:36;;;;;;;;;;;;;;;:51;;;;16945:9;:17;16955:6;16945:17;;;;;;;;;;;;;;;;;;;;;;;;;16944:18;:43;;;;;16967:9;:20;16977:9;16967:20;;;;;;;;;;;;;;;;;;;;;;;;;16966:21;16944:43;16940:122;;;17012:14;;;;;;;;;;;17004:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;16940:122;17088:4;;;;;;;;;;;17078:14;;:6;:14;;;:39;;;;;17097:9;:20;17107:9;17097:20;;;;;;;;;;;;;;;;;;;;;;;;;17096:21;17078:39;:59;;;;;17122:15;;;;;;;;;;;17121:16;17078:59;17074:215;;;17195:14;;17185:6;17162:20;17172:9;17162;:20::i;:::-;:29;;;;:::i;:::-;:47;;17154:123;;;;;;;;;;;;:::i;:::-;;;;;;;;;17074:215;17315:4;;;;;;;;;;;17305:14;;:6;:14;;;;:39;;;;;17324:9;:20;17334:9;17324:20;;;;;;;;;;;;;;;;;;;;;;;;;17323:21;17305:39;:61;;;;;17349:9;:17;17359:6;17349:17;;;;;;;;;;;;;;;;;;;;;;;;;17348:18;17305:61;:81;;;;;17371:15;;;;;;;;;;;17370:16;17305:81;17301:315;;;17433:4;;;;;;;;;;;17420:17;;:9;:17;;;17416:189;;17499:14;;17489:6;17466:20;17476:9;17466;:20::i;:::-;:29;;;;:::i;:::-;:47;;17458:131;;;;;;;;;;;;:::i;:::-;;;;;;;;;17416:189;17301:315;17628:15;17654:14;17679:11;17701:25;;:::i;:::-;17737:17;17758:9;:17;17768:6;17758:17;;;;;;;;;;;;;;;;;;;;;;;;;17757:18;:56;;;;;17793:9;:20;17803:9;17793:20;;;;;;;;;;;;;;;;;;;;;;;;;17792:21;17757:56;:112;;;;;17861:8;;17845:13;;:24;;;;:::i;:::-;17830:12;:39;17757:112;17737:132;;17957:15;;;;;;;;;;;:36;;;;17976:9;:17;17986:6;17976:17;;;;;;;;;;;;;;;;;;;;;;;;;17957:36;:60;;;;17997:9;:20;18007:9;17997:20;;;;;;;;;;;;;;;;;;;;;;;;;17957:60;17953:791;;;18057:1;18051:7;;18080:12;:20;18093:6;18080:20;;;;;;;;;;;;;;;;;;;;;;;;;18077:86;;;18124:19;18136:6;18124:11;:19::i;:::-;18077:86;17953:791;;;18239:4;;;;;;;;;;;18226:17;;:9;:17;;;:34;;;;;18248:12;18247:13;18226:34;18222:522;;;18343:9;:19;;;18304:9;:19;;;:58;;;;:::i;:::-;18277:85;;18387:7;18378:16;;18424:9;18409:24;;;;;;;;;;;;;;;;;;;;;;;;;;;18222:522;;;18456:12;18451:293;;18547:5;:15;;;18512:5;:15;;;:50;;;;:::i;:::-;18485:77;;18587:7;18578:16;;18624:5;18609:20;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:293;;;18651:12;18647:97;;;18690:9;;18680:19;;18723:9;;18714:18;;18647:97;18451:293;18222:522;17953:791;18782:3;18772:6;18763;:15;;;;:::i;:::-;18762:23;;;;:::i;:::-;18756:29;;18897:18;;;;;;;;;;;:36;;;;;18929:4;;;;;;;;;;;18919:14;;:6;:14;;;;18897:36;18893:76;;;18935:34;18947:7;18956:12;18935:11;:34::i;:::-;18893:76;19011:48;19027:6;19035:9;19055:3;19046:6;:12;;;;:::i;:::-;19011:15;:48::i;:::-;19080:1;19074:3;:7;19070:249;;;19156:1;19146:7;:11;19142:164;;;19178:17;19219:3;19208:7;19199:6;:16;;;;:::i;:::-;19198:24;;;;:::i;:::-;19178:44;;19241:49;19257:6;19273:4;19280:9;19241:15;:49::i;:::-;19159:147;19142:164;19070:249;16791:2535;;;;;16669:2657;;;:::o;12057:183::-;12113:16;12132:6;;;;;;;;;;;12113:25;;12158:8;12149:6;;:17;;;;;;;;;;;;;;;;;;12223:8;12192:40;;12213:8;12192:40;;;;;;;;;;;;12102:138;12057:183;:::o;12248:119::-;12293:7;12335:1;12319:18;;:6;;;;;;;;;;;:18;;;:40;;12353:6;;;;;;;;;;;12319:40;;;12340:10;;;;;;;;;;;12319:40;12312:47;;12248:119;:::o;19459:193::-;19523:55;19546:28;:31;19575:1;19546:31;;;;;;;;;;;;;;;;19523:22;:55::i;:::-;19515:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;19459:193;:::o;19662:1422::-;14404:15;;;;;;;;;;;14399:125;;14454:4;14436:15;;:22;;;;;;;;;;;;;;;;;;19762:1:::1;19751:7;:12:::0;19748:49;19779:7:::1;19748:49;19810:23;19836:24;19854:4;19836:9;:24::i;:::-;19810:50;;19894:23;;19875:15;:42;19871:1206;;19964:1;19938:23;;:27;19934:109;;;20004:23;;19986:41;;19934:109;20114:19;20146:1;20136:7;:11;;;;:::i;:::-;20114:33;;20162:32;20256:11;20216:9;:19;;;20198:15;:37;;;;:::i;:::-;20197:70;;;;:::i;:::-;20162:105;;20282:14;20317:24;20299:15;:42;;;;:::i;:::-;20282:59;;20358:22;20383:21;20358:46;;20421:24;20438:6;20421:16;:24::i;:::-;20462:20;20509:14;20485:21;:38;;;;:::i;:::-;20462:61;;20538:19;20590:9;:19;;;20576:11;:33;;;;:::i;:::-;20560:12;:50;;;;:::i;:::-;20538:72;;20625:29;20671:9;:19;;;20657:11;:33;;;;:::i;:::-;20625:65;;20735:1;20711:21;:25;20707:161;;;20791:61;20804:24;20830:21;20791:12;:61::i;:::-;20707:161;20884:20;20925:9;:19;;;20921:1;20907:11;:15;;;;:::i;:::-;:37;;;;:::i;:::-;20884:60;;20978:1;20963:12;:16;20959:105;;;21000:48;21035:12;21008:15;;;;;;;;;;;21000:34;;;;:48;;;;:::i;:::-;20959:105;19919:1158;;;;;;;;19871:1206;19742:1342;14473:1;14507:5:::0;14489:15;;:23;;;;;;;;;;;;;;;;;;14399:125;19662:1422;;:::o;7904:638::-;8062:1;8044:20;;:6;:20;;;8036:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8146:1;8125:23;;:9;:23;;;8117:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8201:47;8222:6;8230:9;8241:6;8201:20;:47::i;:::-;8261:21;8285:9;:17;8295:6;8285:17;;;;;;;;;;;;;;;;8261:41;;8338:6;8321:13;:23;;8313:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;8434:6;8418:13;:22;;;;:::i;:::-;8398:9;:17;8408:6;8398:17;;;;;;;;;;;;;;;:42;;;;8475:6;8451:9;:20;8461:9;8451:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;8516:9;8499:35;;8508:6;8499:35;;;8527:6;8499:35;;;;;;:::i;:::-;;;;;;;;8025:517;7904:638;;;:::o;19334:117::-;19401:4;19431:12;19424:4;:19;19417:26;;19334:117;;;:::o;21092:526::-;21210:21;21248:1;21234:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21210:40;;21279:4;21261;21266:1;21261:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21305:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21295:4;21300:1;21295:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21331:53;21348:4;21363:6;;;;;;;;;;;21372:11;21331:8;:53::i;:::-;21423:6;;;;;;;;;;;:57;;;21495:11;21521:1;21537:4;21564;21584:15;21423:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21147:471;21092:526;:::o;21626:500::-;21774:53;21791:4;21806:6;;;;;;;;;;;21815:11;21774:8;:53::i;:::-;21870:6;;;;;;;;;;;:22;;;21901:9;21935:4;21955:11;21981:1;22024;14042:42;22092:15;21870:248;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;21626:500;;:::o;10673:319::-;10788:6;10763:21;:31;;10755:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;10842:12;10860:9;:14;;10883:6;10860:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10841:54;;;10914:7;10906:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;10744:248;10673:319;;:::o;10518:125::-;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::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:116::-;3516:21;3531:5;3516:21;:::i;:::-;3509:5;3506:32;3496:60;;3552:1;3549;3542:12;3496:60;3446:116;:::o;3568:133::-;3611:5;3649:6;3636:20;3627:29;;3665:30;3689:5;3665:30;:::i;:::-;3568:133;;;;:::o;3707:323::-;3763:6;3812:2;3800:9;3791:7;3787:23;3783:32;3780:119;;;3818:79;;:::i;:::-;3780:119;3938:1;3963:50;4005:7;3996:6;3985:9;3981:22;3963:50;:::i;:::-;3953:60;;3909:114;3707:323;;;;:::o;4036:118::-;4123:24;4141:5;4123:24;:::i;:::-;4118:3;4111:37;4036:118;;:::o;4160:222::-;4253:4;4291:2;4280:9;4276:18;4268:26;;4304:71;4372:1;4361:9;4357:17;4348:6;4304:71;:::i;:::-;4160:222;;;;:::o;4388:619::-;4465:6;4473;4481;4530:2;4518:9;4509:7;4505:23;4501:32;4498:119;;;4536:79;;:::i;:::-;4498:119;4656:1;4681:53;4726:7;4717:6;4706:9;4702:22;4681:53;:::i;:::-;4671:63;;4627:117;4783:2;4809:53;4854:7;4845:6;4834:9;4830:22;4809:53;:::i;:::-;4799:63;;4754:118;4911:2;4937:53;4982:7;4973:6;4962:9;4958:22;4937:53;:::i;:::-;4927:63;;4882:118;4388:619;;;;;:::o;5013:117::-;5122:1;5119;5112:12;5136:180;5184:77;5181:1;5174:88;5281:4;5278:1;5271:15;5305:4;5302:1;5295:15;5322:281;5405:27;5427:4;5405:27;:::i;:::-;5397:6;5393:40;5535:6;5523:10;5520:22;5499:18;5487:10;5484:34;5481:62;5478:88;;;5546:18;;:::i;:::-;5478:88;5586:10;5582:2;5575:22;5365:238;5322:281;;:::o;5609:129::-;5643:6;5670:20;;:::i;:::-;5660:30;;5699:33;5727:4;5719:6;5699:33;:::i;:::-;5609:129;;;:::o;5744:311::-;5821:4;5911:18;5903:6;5900:30;5897:56;;;5933:18;;:::i;:::-;5897:56;5983:4;5975:6;5971:17;5963:25;;6043:4;6037;6033:15;6025:23;;5744:311;;;:::o;6061:117::-;6170:1;6167;6160:12;6201:710;6297:5;6322:81;6338:64;6395:6;6338:64;:::i;:::-;6322:81;:::i;:::-;6313:90;;6423:5;6452:6;6445:5;6438:21;6486:4;6479:5;6475:16;6468:23;;6539:4;6531:6;6527:17;6519:6;6515:30;6568:3;6560:6;6557:15;6554:122;;;6587:79;;:::i;:::-;6554:122;6702:6;6685:220;6719:6;6714:3;6711:15;6685:220;;;6794:3;6823:37;6856:3;6844:10;6823:37;:::i;:::-;6818:3;6811:50;6890:4;6885:3;6881:14;6874:21;;6761:144;6745:4;6740:3;6736:14;6729:21;;6685:220;;;6689:21;6303:608;;6201:710;;;;;:::o;6934:370::-;7005:5;7054:3;7047:4;7039:6;7035:17;7031:27;7021:122;;7062:79;;:::i;:::-;7021:122;7179:6;7166:20;7204:94;7294:3;7286:6;7279:4;7271:6;7267:17;7204:94;:::i;:::-;7195:103;;7011:293;6934:370;;;;:::o;7310:539::-;7394:6;7443:2;7431:9;7422:7;7418:23;7414:32;7411:119;;;7449:79;;:::i;:::-;7411:119;7597:1;7586:9;7582:17;7569:31;7627:18;7619:6;7616:30;7613:117;;;7649:79;;:::i;:::-;7613:117;7754:78;7824:7;7815:6;7804:9;7800:22;7754:78;:::i;:::-;7744:88;;7540:302;7310:539;;;;:::o;7855:86::-;7890:7;7930:4;7923:5;7919:16;7908:27;;7855:86;;;:::o;7947:112::-;8030:22;8046:5;8030:22;:::i;:::-;8025:3;8018:35;7947:112;;:::o;8065:214::-;8154:4;8192:2;8181:9;8177:18;8169:26;;8205:67;8269:1;8258:9;8254:17;8245:6;8205:67;:::i;:::-;8065:214;;;;:::o;8285:329::-;8344:6;8393:2;8381:9;8372:7;8368:23;8364:32;8361:119;;;8399:79;;:::i;:::-;8361:119;8519:1;8544:53;8589:7;8580:6;8569:9;8565:22;8544:53;:::i;:::-;8534:63;;8490:117;8285:329;;;;:::o;8620:::-;8679:6;8728:2;8716:9;8707:7;8703:23;8699:32;8696:119;;;8734:79;;:::i;:::-;8696:119;8854:1;8879:53;8924:7;8915:6;8904:9;8900:22;8879:53;:::i;:::-;8869:63;;8825:117;8620:329;;;;:::o;8955:332::-;9076:4;9114:2;9103:9;9099:18;9091:26;;9127:71;9195:1;9184:9;9180:17;9171:6;9127:71;:::i;:::-;9208:72;9276:2;9265:9;9261:18;9252:6;9208:72;:::i;:::-;8955:332;;;;;:::o;9293:678::-;9383:6;9391;9440:2;9428:9;9419:7;9415:23;9411:32;9408:119;;;9446:79;;:::i;:::-;9408:119;9594:1;9583:9;9579:17;9566:31;9624:18;9616:6;9613:30;9610:117;;;9646:79;;:::i;:::-;9610:117;9751:78;9821:7;9812:6;9801:9;9797:22;9751:78;:::i;:::-;9741:88;;9537:302;9878:2;9904:50;9946:7;9937:6;9926:9;9922:22;9904:50;:::i;:::-;9894:60;;9849:115;9293:678;;;;;:::o;9977:468::-;10042:6;10050;10099:2;10087:9;10078:7;10074:23;10070:32;10067:119;;;10105:79;;:::i;:::-;10067:119;10225:1;10250:53;10295:7;10286:6;10275:9;10271:22;10250:53;:::i;:::-;10240:63;;10196:117;10352:2;10378:50;10420:7;10411:6;10400:9;10396:22;10378:50;:::i;:::-;10368:60;;10323:115;9977:468;;;;;:::o;10451:118::-;10538:24;10556:5;10538:24;:::i;:::-;10533:3;10526:37;10451:118;;:::o;10575:222::-;10668:4;10706:2;10695:9;10691:18;10683:26;;10719:71;10787:1;10776:9;10772:17;10763:6;10719:71;:::i;:::-;10575:222;;;;:::o;10803:474::-;10871:6;10879;10928:2;10916:9;10907:7;10903:23;10899:32;10896:119;;;10934:79;;:::i;:::-;10896:119;11054:1;11079:53;11124:7;11115:6;11104:9;11100:22;11079:53;:::i;:::-;11069:63;;11025:117;11181:2;11207:53;11252:7;11243:6;11232:9;11228:22;11207:53;:::i;:::-;11197:63;;11152:118;10803:474;;;;;:::o;11283:::-;11351:6;11359;11408:2;11396:9;11387:7;11383:23;11379:32;11376:119;;;11414:79;;:::i;:::-;11376:119;11534:1;11559:53;11604:7;11595:6;11584:9;11580:22;11559:53;:::i;:::-;11549:63;;11505:117;11661:2;11687:53;11732:7;11723:6;11712:9;11708:22;11687:53;:::i;:::-;11677:63;;11632:118;11283:474;;;;;:::o;11763:60::-;11791:3;11812:5;11805:12;;11763:60;;;:::o;11829:142::-;11879:9;11912:53;11930:34;11939:24;11957:5;11939:24;:::i;:::-;11930:34;:::i;:::-;11912:53;:::i;:::-;11899:66;;11829:142;;;:::o;11977:126::-;12027:9;12060:37;12091:5;12060:37;:::i;:::-;12047:50;;11977:126;;;:::o;12109:152::-;12185:9;12218:37;12249:5;12218:37;:::i;:::-;12205:50;;12109:152;;;:::o;12267:183::-;12380:63;12437:5;12380:63;:::i;:::-;12375:3;12368:76;12267:183;;:::o;12456:274::-;12575:4;12613:2;12602:9;12598:18;12590:26;;12626:97;12720:1;12709:9;12705:17;12696:6;12626:97;:::i;:::-;12456:274;;;;:::o;12736:180::-;12784:77;12781:1;12774:88;12881:4;12878:1;12871:15;12905:4;12902:1;12895:15;12922:320;12966:6;13003:1;12997:4;12993:12;12983:22;;13050:1;13044:4;13040:12;13071:18;13061:81;;13127:4;13119:6;13115:17;13105:27;;13061:81;13189:2;13181:6;13178:14;13158:18;13155:38;13152:84;;13208:18;;:::i;:::-;13152:84;12973:269;12922:320;;;:::o;13248:182::-;13388:34;13384:1;13376:6;13372:14;13365:58;13248:182;:::o;13436:366::-;13578:3;13599:67;13663:2;13658:3;13599:67;:::i;:::-;13592:74;;13675:93;13764:3;13675:93;:::i;:::-;13793:2;13788:3;13784:12;13777:19;;13436:366;;;:::o;13808:419::-;13974:4;14012:2;14001:9;13997:18;13989:26;;14061:9;14055:4;14051:20;14047:1;14036:9;14032:17;14025:47;14089:131;14215:4;14089:131;:::i;:::-;14081:139;;13808:419;;;:::o;14233:227::-;14373:34;14369:1;14361:6;14357:14;14350:58;14442:10;14437:2;14429:6;14425:15;14418:35;14233:227;:::o;14466:366::-;14608:3;14629:67;14693:2;14688:3;14629:67;:::i;:::-;14622:74;;14705:93;14794:3;14705:93;:::i;:::-;14823:2;14818:3;14814:12;14807:19;;14466:366;;;:::o;14838:419::-;15004:4;15042:2;15031:9;15027:18;15019:26;;15091:9;15085:4;15081:20;15077:1;15066:9;15062:17;15055:47;15119:131;15245:4;15119:131;:::i;:::-;15111:139;;14838:419;;;:::o;15263:180::-;15311:77;15308:1;15301:88;15408:4;15405:1;15398:15;15432:4;15429:1;15422:15;15449:194;15489:4;15509:20;15527:1;15509:20;:::i;:::-;15504:25;;15543:20;15561:1;15543:20;:::i;:::-;15538:25;;15587:1;15584;15580:9;15572:17;;15611:1;15605:4;15602:11;15599:37;;;15616:18;;:::i;:::-;15599:37;15449:194;;;;:::o;15649:180::-;15697:77;15694:1;15687:88;15794:4;15791:1;15784:15;15818:4;15815:1;15808:15;15835:233;15874:3;15897:24;15915:5;15897:24;:::i;:::-;15888:33;;15943:66;15936:5;15933:77;15930:103;;16013:18;;:::i;:::-;15930:103;16060:1;16053:5;16049:13;16042:20;;15835:233;;;:::o;16074:191::-;16114:3;16133:20;16151:1;16133:20;:::i;:::-;16128:25;;16167:20;16185:1;16167:20;:::i;:::-;16162:25;;16210:1;16207;16203:9;16196:16;;16231:3;16228:1;16225:10;16222:36;;;16238:18;;:::i;:::-;16222:36;16074:191;;;;:::o;16271:102::-;16313:8;16360:5;16357:1;16353:13;16332:34;;16271:102;;;:::o;16379:848::-;16440:5;16447:4;16471:6;16462:15;;16495:5;16486:14;;16509:712;16530:1;16520:8;16517:15;16509:712;;;16625:4;16620:3;16616:14;16610:4;16607:24;16604:50;;;16634:18;;:::i;:::-;16604:50;16684:1;16674:8;16670:16;16667:451;;;17099:4;17092:5;17088:16;17079:25;;16667:451;17149:4;17143;17139:15;17131:23;;17179:32;17202:8;17179:32;:::i;:::-;17167:44;;16509:712;;;16379:848;;;;;;;:::o;17233:1073::-;17287:5;17478:8;17468:40;;17499:1;17490:10;;17501:5;;17468:40;17527:4;17517:36;;17544:1;17535:10;;17546:5;;17517:36;17613:4;17661:1;17656:27;;;;17697:1;17692:191;;;;17606:277;;17656:27;17674:1;17665:10;;17676:5;;;17692:191;17737:3;17727:8;17724:17;17721:43;;;17744:18;;:::i;:::-;17721:43;17793:8;17790:1;17786:16;17777:25;;17828:3;17821:5;17818:14;17815:40;;;17835:18;;:::i;:::-;17815:40;17868:5;;;17606:277;;17992:2;17982:8;17979:16;17973:3;17967:4;17964:13;17960:36;17942:2;17932:8;17929:16;17924:2;17918:4;17915:12;17911:35;17895:111;17892:246;;;18048:8;18042:4;18038:19;18029:28;;18083:3;18076:5;18073:14;18070:40;;;18090:18;;:::i;:::-;18070:40;18123:5;;17892:246;18163:42;18201:3;18191:8;18185:4;18182:1;18163:42;:::i;:::-;18148:57;;;;18237:4;18232:3;18228:14;18221:5;18218:25;18215:51;;;18246:18;;:::i;:::-;18215:51;18295:4;18288:5;18284:16;18275:25;;17233:1073;;;;;;:::o;18312:281::-;18370:5;18394:23;18412:4;18394:23;:::i;:::-;18386:31;;18438:25;18454:8;18438:25;:::i;:::-;18426:37;;18482:104;18519:66;18509:8;18503:4;18482:104;:::i;:::-;18473:113;;18312:281;;;;:::o;18599:410::-;18639:7;18662:20;18680:1;18662:20;:::i;:::-;18657:25;;18696:20;18714:1;18696:20;:::i;:::-;18691:25;;18751:1;18748;18744:9;18773:30;18791:11;18773:30;:::i;:::-;18762:41;;18952:1;18943:7;18939:15;18936:1;18933:22;18913:1;18906:9;18886:83;18863:139;;18982:18;;:::i;:::-;18863:139;18647:362;18599:410;;;;:::o;19015:176::-;19155:28;19151:1;19143:6;19139:14;19132:52;19015:176;:::o;19197:366::-;19339:3;19360:67;19424:2;19419:3;19360:67;:::i;:::-;19353:74;;19436:93;19525:3;19436:93;:::i;:::-;19554:2;19549:3;19545:12;19538:19;;19197:366;;;:::o;19569:419::-;19735:4;19773:2;19762:9;19758:18;19750:26;;19822:9;19816:4;19812:20;19808:1;19797:9;19793:17;19786:47;19850:131;19976:4;19850:131;:::i;:::-;19842:139;;19569:419;;;:::o;19994:332::-;20115:4;20153:2;20142:9;20138:18;20130:26;;20166:71;20234:1;20223:9;20219:17;20210:6;20166:71;:::i;:::-;20247:72;20315:2;20304:9;20300:18;20291:6;20247:72;:::i;:::-;19994:332;;;;;:::o;20332:137::-;20386:5;20417:6;20411:13;20402:22;;20433:30;20457:5;20433:30;:::i;:::-;20332:137;;;;:::o;20475:345::-;20542:6;20591:2;20579:9;20570:7;20566:23;20562:32;20559:119;;;20597:79;;:::i;:::-;20559:119;20717:1;20742:61;20795:7;20786:6;20775:9;20771:22;20742:61;:::i;:::-;20732:71;;20688:125;20475:345;;;;:::o;20826:224::-;20966:34;20962:1;20954:6;20950:14;20943:58;21035:7;21030:2;21022:6;21018:15;21011:32;20826:224;:::o;21056:366::-;21198:3;21219:67;21283:2;21278:3;21219:67;:::i;:::-;21212:74;;21295:93;21384:3;21295:93;:::i;:::-;21413:2;21408:3;21404:12;21397:19;;21056:366;;;:::o;21428:419::-;21594:4;21632:2;21621:9;21617:18;21609:26;;21681:9;21675:4;21671:20;21667:1;21656:9;21652:17;21645:47;21709:131;21835:4;21709:131;:::i;:::-;21701:139;;21428:419;;;:::o;21853:224::-;21993:34;21989:1;21981:6;21977:14;21970:58;22062:7;22057:2;22049:6;22045:15;22038:32;21853:224;:::o;22083:366::-;22225:3;22246:67;22310:2;22305:3;22246:67;:::i;:::-;22239:74;;22322:93;22411:3;22322:93;:::i;:::-;22440:2;22435:3;22431:12;22424:19;;22083:366;;;:::o;22455:419::-;22621:4;22659:2;22648:9;22644:18;22636:26;;22708:9;22702:4;22698:20;22694:1;22683:9;22679:17;22672:47;22736:131;22862:4;22736:131;:::i;:::-;22728:139;;22455:419;;;:::o;22880:225::-;23020:34;23016:1;23008:6;23004:14;22997:58;23089:8;23084:2;23076:6;23072:15;23065:33;22880:225;:::o;23111:366::-;23253:3;23274:67;23338:2;23333:3;23274:67;:::i;:::-;23267:74;;23350:93;23439:3;23350:93;:::i;:::-;23468:2;23463:3;23459:12;23452:19;;23111:366;;;:::o;23483:419::-;23649:4;23687:2;23676:9;23672:18;23664:26;;23736:9;23730:4;23726:20;23722:1;23711:9;23707:17;23700:47;23764:131;23890:4;23764:131;:::i;:::-;23756:139;;23483:419;;;:::o;23908:223::-;24048:34;24044:1;24036:6;24032:14;24025:58;24117:6;24112:2;24104:6;24100:15;24093:31;23908:223;:::o;24137:366::-;24279:3;24300:67;24364:2;24359:3;24300:67;:::i;:::-;24293:74;;24376:93;24465:3;24376:93;:::i;:::-;24494:2;24489:3;24485:12;24478:19;;24137:366;;;:::o;24509:419::-;24675:4;24713:2;24702:9;24698:18;24690:26;;24762:9;24756:4;24752:20;24748:1;24737:9;24733:17;24726:47;24790:131;24916:4;24790:131;:::i;:::-;24782:139;;24509:419;;;:::o;24934:221::-;25074:34;25070:1;25062:6;25058:14;25051:58;25143:4;25138:2;25130:6;25126:15;25119:29;24934:221;:::o;25161:366::-;25303:3;25324:67;25388:2;25383:3;25324:67;:::i;:::-;25317:74;;25400:93;25489:3;25400:93;:::i;:::-;25518:2;25513:3;25509:12;25502:19;;25161:366;;;:::o;25533:419::-;25699:4;25737:2;25726:9;25722:18;25714:26;;25786:9;25780:4;25776:20;25772:1;25761:9;25757:17;25750:47;25814:131;25940:4;25814:131;:::i;:::-;25806:139;;25533:419;;;:::o;25958:228::-;26098:34;26094:1;26086:6;26082:14;26075:58;26167:11;26162:2;26154:6;26150:15;26143:36;25958:228;:::o;26192:366::-;26334:3;26355:67;26419:2;26414:3;26355:67;:::i;:::-;26348:74;;26431:93;26520:3;26431:93;:::i;:::-;26549:2;26544:3;26540:12;26533:19;;26192:366;;;:::o;26564:419::-;26730:4;26768:2;26757:9;26753:18;26745:26;;26817:9;26811:4;26807:20;26803:1;26792:9;26788:17;26781:47;26845:131;26971:4;26845:131;:::i;:::-;26837:139;;26564:419;;;:::o;26989:169::-;27129:21;27125:1;27117:6;27113:14;27106:45;26989:169;:::o;27164:366::-;27306:3;27327:67;27391:2;27386:3;27327:67;:::i;:::-;27320:74;;27403:93;27492:3;27403:93;:::i;:::-;27521:2;27516:3;27512:12;27505:19;;27164:366;;;:::o;27536:419::-;27702:4;27740:2;27729:9;27725:18;27717:26;;27789:9;27783:4;27779:20;27775:1;27764:9;27760:17;27753:47;27817:131;27943:4;27817:131;:::i;:::-;27809:139;;27536:419;;;:::o;27961:182::-;28101:34;28097:1;28089:6;28085:14;28078:58;27961:182;:::o;28149:366::-;28291:3;28312:67;28376:2;28371:3;28312:67;:::i;:::-;28305:74;;28388:93;28477:3;28388:93;:::i;:::-;28506:2;28501:3;28497:12;28490:19;;28149:366;;;:::o;28521:419::-;28687:4;28725:2;28714:9;28710:18;28702:26;;28774:9;28768:4;28764:20;28760:1;28749:9;28745:17;28738:47;28802:131;28928:4;28802:131;:::i;:::-;28794:139;;28521:419;;;:::o;28946:180::-;28994:77;28991:1;28984:88;29091:4;29088:1;29081:15;29115:4;29112:1;29105:15;29132:185;29172:1;29189:20;29207:1;29189:20;:::i;:::-;29184:25;;29223:20;29241:1;29223:20;:::i;:::-;29218:25;;29262:1;29252:35;;29267:18;;:::i;:::-;29252:35;29309:1;29306;29302:9;29297:14;;29132:185;;;;:::o;29323:248::-;29463:34;29459:1;29451:6;29447:14;29440:58;29532:31;29527:2;29519:6;29515:15;29508:56;29323:248;:::o;29577:366::-;29719:3;29740:67;29804:2;29799:3;29740:67;:::i;:::-;29733:74;;29816:93;29905:3;29816:93;:::i;:::-;29934:2;29929:3;29925:12;29918:19;;29577:366;;;:::o;29949:419::-;30115:4;30153:2;30142:9;30138:18;30130:26;;30202:9;30196:4;30192:20;30188:1;30177:9;30173:17;30166:47;30230:131;30356:4;30230:131;:::i;:::-;30222:139;;29949:419;;;:::o;30374:224::-;30514:34;30510:1;30502:6;30498:14;30491:58;30583:7;30578:2;30570:6;30566:15;30559:32;30374:224;:::o;30604:366::-;30746:3;30767:67;30831:2;30826:3;30767:67;:::i;:::-;30760:74;;30843:93;30932:3;30843:93;:::i;:::-;30961:2;30956:3;30952:12;30945:19;;30604:366;;;:::o;30976:419::-;31142:4;31180:2;31169:9;31165:18;31157:26;;31229:9;31223:4;31219:20;31215:1;31204:9;31200:17;31193:47;31257:131;31383:4;31257:131;:::i;:::-;31249:139;;30976:419;;;:::o;31401:222::-;31541:34;31537:1;31529:6;31525:14;31518:58;31610:5;31605:2;31597:6;31593:15;31586:30;31401:222;:::o;31629:366::-;31771:3;31792:67;31856:2;31851:3;31792:67;:::i;:::-;31785:74;;31868:93;31957:3;31868:93;:::i;:::-;31986:2;31981:3;31977:12;31970:19;;31629:366;;;:::o;32001:419::-;32167:4;32205:2;32194:9;32190:18;32182:26;;32254:9;32248:4;32244:20;32240:1;32229:9;32225:17;32218:47;32282:131;32408:4;32282:131;:::i;:::-;32274:139;;32001:419;;;:::o;32426:225::-;32566:34;32562:1;32554:6;32550:14;32543:58;32635:8;32630:2;32622:6;32618:15;32611:33;32426:225;:::o;32657:366::-;32799:3;32820:67;32884:2;32879:3;32820:67;:::i;:::-;32813:74;;32896:93;32985:3;32896:93;:::i;:::-;33014:2;33009:3;33005:12;32998:19;;32657:366;;;:::o;33029:419::-;33195:4;33233:2;33222:9;33218:18;33210:26;;33282:9;33276:4;33272:20;33268:1;33257:9;33253:17;33246:47;33310:131;33436:4;33310:131;:::i;:::-;33302:139;;33029:419;;;:::o;33454:143::-;33511:5;33542:6;33536:13;33527:22;;33558:33;33585:5;33558:33;:::i;:::-;33454:143;;;;:::o;33603:351::-;33673:6;33722:2;33710:9;33701:7;33697:23;33693:32;33690:119;;;33728:79;;:::i;:::-;33690:119;33848:1;33873:64;33929:7;33920:6;33909:9;33905:22;33873:64;:::i;:::-;33863:74;;33819:128;33603:351;;;;:::o;33960:85::-;34005:7;34034:5;34023:16;;33960:85;;;:::o;34051:158::-;34109:9;34142:61;34160:42;34169:32;34195:5;34169:32;:::i;:::-;34160:42;:::i;:::-;34142:61;:::i;:::-;34129:74;;34051:158;;;:::o;34215:147::-;34310:45;34349:5;34310:45;:::i;:::-;34305:3;34298:58;34215:147;;:::o;34368:114::-;34435:6;34469:5;34463:12;34453:22;;34368:114;;;:::o;34488:184::-;34587:11;34621:6;34616:3;34609:19;34661:4;34656:3;34652:14;34637:29;;34488:184;;;;:::o;34678:132::-;34745:4;34768:3;34760:11;;34798:4;34793:3;34789:14;34781:22;;34678:132;;;:::o;34816:108::-;34893:24;34911:5;34893:24;:::i;:::-;34888:3;34881:37;34816:108;;:::o;34930:179::-;34999:10;35020:46;35062:3;35054:6;35020:46;:::i;:::-;35098:4;35093:3;35089:14;35075:28;;34930:179;;;;:::o;35115:113::-;35185:4;35217;35212:3;35208:14;35200:22;;35115:113;;;:::o;35264:732::-;35383:3;35412:54;35460:5;35412:54;:::i;:::-;35482:86;35561:6;35556:3;35482:86;:::i;:::-;35475:93;;35592:56;35642:5;35592:56;:::i;:::-;35671:7;35702:1;35687:284;35712:6;35709:1;35706:13;35687:284;;;35788:6;35782:13;35815:63;35874:3;35859:13;35815:63;:::i;:::-;35808:70;;35901:60;35954:6;35901:60;:::i;:::-;35891:70;;35747:224;35734:1;35731;35727:9;35722:14;;35687:284;;;35691:14;35987:3;35980:10;;35388:608;;;35264:732;;;;:::o;36002:831::-;36265:4;36303:3;36292:9;36288:19;36280:27;;36317:71;36385:1;36374:9;36370:17;36361:6;36317:71;:::i;:::-;36398:80;36474:2;36463:9;36459:18;36450:6;36398:80;:::i;:::-;36525:9;36519:4;36515:20;36510:2;36499:9;36495:18;36488:48;36553:108;36656:4;36647:6;36553:108;:::i;:::-;36545:116;;36671:72;36739:2;36728:9;36724:18;36715:6;36671:72;:::i;:::-;36753:73;36821:3;36810:9;36806:19;36797:6;36753:73;:::i;:::-;36002:831;;;;;;;;:::o;36839:807::-;37088:4;37126:3;37115:9;37111:19;37103:27;;37140:71;37208:1;37197:9;37193:17;37184:6;37140:71;:::i;:::-;37221:72;37289:2;37278:9;37274:18;37265:6;37221:72;:::i;:::-;37303:80;37379:2;37368:9;37364:18;37355:6;37303:80;:::i;:::-;37393;37469:2;37458:9;37454:18;37445:6;37393:80;:::i;:::-;37483:73;37551:3;37540:9;37536:19;37527:6;37483:73;:::i;:::-;37566;37634:3;37623:9;37619:19;37610:6;37566:73;:::i;:::-;36839:807;;;;;;;;;:::o;37652:143::-;37709:5;37740:6;37734:13;37725:22;;37756:33;37783:5;37756:33;:::i;:::-;37652:143;;;;:::o;37801:663::-;37889:6;37897;37905;37954:2;37942:9;37933:7;37929:23;37925:32;37922:119;;;37960:79;;:::i;:::-;37922:119;38080:1;38105:64;38161:7;38152:6;38141:9;38137:22;38105:64;:::i;:::-;38095:74;;38051:128;38218:2;38244:64;38300:7;38291:6;38280:9;38276:22;38244:64;:::i;:::-;38234:74;;38189:129;38357:2;38383:64;38439:7;38430:6;38419:9;38415:22;38383:64;:::i;:::-;38373:74;;38328:129;37801:663;;;;;:::o;38470:179::-;38610:31;38606:1;38598:6;38594:14;38587:55;38470:179;:::o;38655:366::-;38797:3;38818:67;38882:2;38877:3;38818:67;:::i;:::-;38811:74;;38894:93;38983:3;38894:93;:::i;:::-;39012:2;39007:3;39003:12;38996:19;;38655:366;;;:::o;39027:419::-;39193:4;39231:2;39220:9;39216:18;39208:26;;39280:9;39274:4;39270:20;39266:1;39255:9;39251:17;39244:47;39308:131;39434:4;39308:131;:::i;:::-;39300:139;;39027:419;;;:::o;39452:147::-;39553:11;39590:3;39575:18;;39452:147;;;;:::o;39605:114::-;;:::o;39725:398::-;39884:3;39905:83;39986:1;39981:3;39905:83;:::i;:::-;39898:90;;39997:93;40086:3;39997:93;:::i;:::-;40115:1;40110:3;40106:11;40099:18;;39725:398;;;:::o;40129:379::-;40313:3;40335:147;40478:3;40335:147;:::i;:::-;40328:154;;40499:3;40492:10;;40129:379;;;:::o;40514:245::-;40654:34;40650:1;40642:6;40638:14;40631:58;40723:28;40718:2;40710:6;40706:15;40699:53;40514:245;:::o;40765:366::-;40907:3;40928:67;40992:2;40987:3;40928:67;:::i;:::-;40921:74;;41004:93;41093:3;41004:93;:::i;:::-;41122:2;41117:3;41113:12;41106:19;;40765:366;;;:::o;41137:419::-;41303:4;41341:2;41330:9;41326:18;41318:26;;41390:9;41384:4;41380:20;41376:1;41365:9;41361:17;41354:47;41418:131;41544:4;41418:131;:::i;:::-;41410:139;;41137:419;;;:::o
Swarm Source
ipfs://6f8f2881c7c958173bc352dd7f805b2af423f7d833db29939474707240cd8ead
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.