BNB Price: $602.40 (+1.36%)
 

Overview

Max Total Supply

42,000,000,000,000,000LUIGI

Holders

62,669 ( 0.002%)

Transfers

-
0

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

-

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A community-driven memecoin project focused on fans of the Luigi video game character. 2% USDT rewards on all transactions are automatically distributed to $LUIGI holders.

Market

Volume (24H):$0.00
Market Capitalization:$0.00
Circulating Supply:0.00 LUIGI
Market Data Source: Coinmarketcap


Update? Click here to update the token ICO / general information
BEP-8056 UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
Transaction Hash Block
Age
Multiplier Status
Source Code Verified Exact Match

Contract Name

Luigi

Compiler Version
v0.8.19+commit.7dd6d404
Optimization Enabled
No with 200 runs
Other Settings
default evmVersion
License
MIT
Contract Source Code (Solidity)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[],"stateMutability":"payable","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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newValue","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"oldValue","type":"uint256"}],"name":"GasForProcessingUpdated","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":false,"internalType":"uint256","name":"iterations","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"claims","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lastProcessedIndex","type":"uint256"},{"indexed":true,"internalType":"bool","name":"automatic","type":"bool"},{"indexed":false,"internalType":"uint256","name":"gas","type":"uint256"},{"indexed":true,"internalType":"address","name":"processor","type":"address"}],"name":"ProcessedDividendTracker","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SendDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"bnbSend","type":"uint256"}],"name":"SendMarketing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateDividendTracker","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"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":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"claimee","type":"address"}],"name":"claimAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"claimStuckTokens","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"dividendTokenBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendTracker","outputs":[{"internalType":"contract DividendTracker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromDividends","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gasForProcessing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountDividendsInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getAccountDividendsInfoAtIndex","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getClaimWait","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastProcessedIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNumberOfDividendTokenHolders","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalDividendsDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"processDividendTracker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rewardToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"setLastProcessedIndex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"totalRewardsEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newClaimWait","type":"uint256"}],"name":"updateClaimWait","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"withdrawableDividendOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
60a0604052620493e06015556040518060400160405280600981526020017f4c7569676920496e7500000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4c5549474900000000000000000000000000000000000000000000000000000081525081600390816200008891906200124e565b5080600490816200009a91906200124e565b505050620000bd620000b16200091860201b60201c565b6200092060201b60201c565b7355d398326f99059ff775485246999027b319795573ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060006006819055506006600781905550600260088190555060085460075460065462000132919062001364565b6200013e919062001364565b6009819055506000600a819055506006600b819055506002600c81905550600c54600b54600a5462000171919062001364565b6200017d919062001364565b600d81905550732163e12aa46034df2d73fbadc29a952b704ea4f9600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062401640608051604051620001ed9062000fc6565b620001fa92919062001427565b604051809103906000f08015801562000217573d6000803e3d6000fd5b50601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060007310ed43c718714eb63d5aa57b78b54704e256024e905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e591906200148a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200034d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037391906200148a565b6040518363ffffffff1660e01b815260040162000392929190620014bc565b6020604051808303816000875af1158015620003b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d891906200148a565b905081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004b130600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620009e660201b60201c565b620004c481600162000bb760201b60201c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620005439190620014e9565b600060405180830381600087803b1580156200055e57600080fd5b505af115801562000573573d6000803e3d6000fd5b50505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0306040518263ffffffff1660e01b8152600401620005d49190620014e9565b600060405180830381600087803b158015620005ef57600080fd5b505af115801562000604573d6000803e3d6000fd5b50505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db061dead6040518263ffffffff1660e01b8152600401620006679190620014e9565b600060405180830381600087803b1580156200068257600080fd5b505af115801562000697573d6000803e3d6000fd5b50505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0836040518263ffffffff1660e01b8152600401620006f89190620014e9565b600060405180830381600087803b1580156200071357600080fd5b505af115801562000728573d6000803e3d6000fd5b505050506001601260006200074262000d8660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016012600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620008eb620008d362000d8660201b60201c565b6a22bdd88fed9efc6a00000062000db060201b60201c565b6103e8620008fe62000f5460201b60201c565b6200090a919062001535565b601181905550505062001858565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000a58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a4f90620015f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000aca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ac1906200168c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000baa9190620016bf565b60405180910390a3505050565b801515601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615150362000c4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c439062001752565b60405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801562000d3c57601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0836040518263ffffffff1660e01b815260040162000d079190620014e9565b600060405180830381600087803b15801562000d2257600080fd5b505af115801562000d37573d6000803e3d6000fd5b505050505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000e22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e1990620017c4565b60405180910390fd5b62000e366000838362000f5e60201b60201c565b62000e4d8160025462000f6360201b90919060201c565b60028190555062000ea6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000f6360201b90919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000f489190620016bf565b60405180910390a35050565b6000600254905090565b505050565b600080828462000f74919062001364565b90508381101562000fbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000fb39062001836565b60405180910390fd5b8091505092915050565b6143dc806200651083390190565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200105657607f821691505b6020821081036200106c576200106b6200100e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010d67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001097565b620010e2868362001097565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200112f620011296200112384620010fa565b62001104565b620010fa565b9050919050565b6000819050919050565b6200114b836200110e565b620011636200115a8262001136565b848454620010a4565b825550505050565b600090565b6200117a6200116b565b6200118781848462001140565b505050565b5b81811015620011af57620011a360008262001170565b6001810190506200118d565b5050565b601f821115620011fe57620011c88162001072565b620011d38462001087565b81016020851015620011e3578190505b620011fb620011f28562001087565b8301826200118c565b50505b505050565b600082821c905092915050565b6000620012236000198460080262001203565b1980831691505092915050565b60006200123e838362001210565b9150826002028217905092915050565b620012598262000fd4565b67ffffffffffffffff81111562001275576200127462000fdf565b5b6200128182546200103d565b6200128e828285620011b3565b600060209050601f831160018114620012c65760008415620012b1578287015190505b620012bd858262001230565b8655506200132d565b601f198416620012d68662001072565b60005b828110156200130057848901518255600182019150602085019450602081019050620012d9565b868310156200132057848901516200131c601f89168262001210565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200137182620010fa565b91506200137e83620010fa565b925082820190508082111562001399576200139862001335565b5b92915050565b6000819050919050565b6000620013ca620013c4620013be846200139f565b62001104565b620010fa565b9050919050565b620013dc81620013a9565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200140f82620013e2565b9050919050565b620014218162001402565b82525050565b60006040820190506200143e6000830185620013d1565b6200144d602083018462001416565b9392505050565b600080fd5b620014648162001402565b81146200147057600080fd5b50565b600081519050620014848162001459565b92915050565b600060208284031215620014a357620014a262001454565b5b6000620014b38482850162001473565b91505092915050565b6000604082019050620014d3600083018562001416565b620014e2602083018462001416565b9392505050565b600060208201905062001500600083018462001416565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200154282620010fa565b91506200154f83620010fa565b92508262001562576200156162001506565b5b828204905092915050565b600082825260208201905092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000620015dc6024836200156d565b9150620015e9826200157e565b604082019050919050565b600060208201905081810360008301526200160f81620015cd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000620016746022836200156d565b9150620016818262001616565b604082019050919050565b60006020820190508181036000830152620016a78162001665565b9050919050565b620016b981620010fa565b82525050565b6000602082019050620016d66000830184620016ae565b92915050565b7f4175746f6d61746564206d61726b6574206d616b65722070616972206973206160008201527f6c72656164792073657420746f20746861742076616c75650000000000000000602082015250565b60006200173a6038836200156d565b91506200174782620016dc565b604082019050919050565b600060208201905081810360008301526200176d816200172b565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620017ac601f836200156d565b9150620017b98262001774565b602082019050919050565b60006020820190508181036000830152620017df816200179d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006200181e601b836200156d565b91506200182b82620017e6565b602082019050919050565b6000602082019050818103600083015262001851816200180f565b9050919050565b608051614c876200188960003960008181612180015281816136280152818161372e01526137cc0152614c876000f3fe60806040526004361061028c5760003560e01c806395d89b411161015a578063c0246668116100c1578063e7841ec01161007a578063e7841ec014610a38578063e98030c714610a63578063f27fd25414610a8c578063f2fde38b14610ad0578063f7c618c114610af9578063f9d0831a14610b2457610293565b8063c024666814610914578063dc4c7dbc1461093d578063dd62ed3e14610968578063e2f45605146109a5578063e4893fdc146109d0578063e4f24cb0146109fb57610293565b8063a9059cbb11610113578063a9059cbb146107d7578063a938d1c914610814578063ad56c13c1461083f578063afa4f3b214610883578063b62496f5146108ac578063b94315ff146108e957610293565b806395d89b41146106b1578063989a124f146106dc5780639c1b8af514610707578063a26579ad14610732578063a457c2d71461075d578063a8b9d2401461079a57610293565b80633f249df0116101fe5780636843cd84116101b75780636843cd84146105a1578063700bb191146105de57806370a0823114610607578063715018a61461064457806375f0a8741461065b5780638da5cb5b1461068657610293565b80633f249df0146104a357806349bd5a5e146104cc5780634e71d92d146104f75780634fbee1931461050e5780635fc2e5961461054b57806364b0f6531461057657610293565b8063286b3aa011610250578063286b3aa0146103935780632c1f5216146103bc57806330bb4cff146103e7578063313ce5671461041257806331e79db01461043d578063395093511461046657610293565b806306fdde0314610298578063095ea7b3146102c35780631694505e1461030057806318160ddd1461032b57806323b872dd1461035657610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b4d565b6040516102ba91906139f2565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613aad565b610bdf565b6040516102f79190613b08565b60405180910390f35b34801561030c57600080fd5b50610315610bfd565b6040516103229190613b82565b60405180910390f35b34801561033757600080fd5b50610340610c23565b60405161034d9190613bac565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190613bc7565b610c2d565b60405161038a9190613b08565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b59190613c1a565b610d06565b005b3480156103c857600080fd5b506103d1610e12565b6040516103de9190613c68565b60405180910390f35b3480156103f357600080fd5b506103fc610e38565b6040516104099190613bac565b60405180910390f35b34801561041e57600080fd5b50610427610ed0565b6040516104349190613c9f565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190613cba565b610ed9565b005b34801561047257600080fd5b5061048d60048036038101906104889190613aad565b610fe5565b60405161049a9190613b08565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c59190613cba565b611098565b005b3480156104d857600080fd5b506104e16111b9565b6040516104ee9190613cf6565b60405180910390f35b34801561050357600080fd5b5061050c6111df565b005b34801561051a57600080fd5b5061053560048036038101906105309190613cba565b611283565b6040516105429190613b08565b60405180910390f35b34801561055757600080fd5b506105606112d9565b60405161056d9190613bac565b60405180910390f35b34801561058257600080fd5b5061058b6112df565b6040516105989190613bac565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c39190613cba565b611377565b6040516105d59190613bac565b60405180910390f35b3480156105ea57600080fd5b5061060560048036038101906106009190613c1a565b61141c565b005b34801561061357600080fd5b5061062e60048036038101906106299190613cba565b611523565b60405161063b9190613bac565b60405180910390f35b34801561065057600080fd5b5061065961156b565b005b34801561066757600080fd5b506106706115f3565b60405161067d9190613cf6565b60405180910390f35b34801561069257600080fd5b5061069b611619565b6040516106a89190613cf6565b60405180910390f35b3480156106bd57600080fd5b506106c6611643565b6040516106d391906139f2565b60405180910390f35b3480156106e857600080fd5b506106f16116d5565b6040516106fe9190613bac565b60405180910390f35b34801561071357600080fd5b5061071c6116db565b6040516107299190613bac565b60405180910390f35b34801561073e57600080fd5b506107476116e1565b6040516107549190613bac565b60405180910390f35b34801561076957600080fd5b50610784600480360381019061077f9190613aad565b611779565b6040516107919190613b08565b60405180910390f35b3480156107a657600080fd5b506107c160048036038101906107bc9190613cba565b611846565b6040516107ce9190613bac565b60405180910390f35b3480156107e357600080fd5b506107fe60048036038101906107f99190613aad565b6118eb565b60405161080b9190613b08565b60405180910390f35b34801561082057600080fd5b50610829611909565b6040516108369190613bac565b60405180910390f35b34801561084b57600080fd5b5061086660048036038101906108619190613cba565b61190f565b60405161087a989796959493929190613d2a565b60405180910390f35b34801561088f57600080fd5b506108aa60048036038101906108a59190613c1a565b6119d3565b005b3480156108b857600080fd5b506108d360048036038101906108ce9190613cba565b611ab0565b6040516108e09190613b08565b60405180910390f35b3480156108f557600080fd5b506108fe611ad0565b60405161090b9190613bac565b60405180910390f35b34801561092057600080fd5b5061093b60048036038101906109369190613dd4565b611ad6565b005b34801561094957600080fd5b50610952611c8d565b60405161095f9190613bac565b60405180910390f35b34801561097457600080fd5b5061098f600480360381019061098a9190613e14565b611c93565b60405161099c9190613bac565b60405180910390f35b3480156109b157600080fd5b506109ba611d1a565b6040516109c79190613bac565b60405180910390f35b3480156109dc57600080fd5b506109e5611d20565b6040516109f29190613bac565b60405180910390f35b348015610a0757600080fd5b50610a226004803603810190610a1d9190613cba565b611d26565b604051610a2f9190613bac565b60405180910390f35b348015610a4457600080fd5b50610a4d611dcb565b604051610a5a9190613bac565b60405180910390f35b348015610a6f57600080fd5b50610a8a6004803603810190610a859190613c1a565b611e63565b005b348015610a9857600080fd5b50610ab36004803603810190610aae9190613c1a565b611fc3565b604051610ac7989796959493929190613d2a565b60405180910390f35b348015610adc57600080fd5b50610af76004803603810190610af29190613cba565b612087565b005b348015610b0557600080fd5b50610b0e61217e565b604051610b1b9190613cf6565b60405180910390f35b348015610b3057600080fd5b50610b4b6004803603810190610b469190613cba565b6121a2565b005b606060038054610b5c90613e83565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8890613e83565b8015610bd55780601f10610baa57610100808354040283529160200191610bd5565b820191906000526020600020905b815481529060010190602001808311610bb857829003601f168201915b5050505050905090565b6000610bf3610bec612414565b848461241c565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000610c3a8484846125e5565b610cfb84610c46612414565b610cf685604051806060016040528060288152602001614c0560289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cac612414565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fea9092919063ffffffff16565b61241c565b600190509392505050565b610d0e612414565b73ffffffffffffffffffffffffffffffffffffffff16610d2c611619565b73ffffffffffffffffffffffffffffffffffffffff1614610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7990613f00565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663286b3aa0826040518263ffffffff1660e01b8152600401610ddd9190613bac565b600060405180830381600087803b158015610df757600080fd5b505af1158015610e0b573d6000803e3d6000fd5b5050505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385a6b3ae6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecb9190613f35565b905090565b60006009905090565b610ee1612414565b73ffffffffffffffffffffffffffffffffffffffff16610eff611619565b73ffffffffffffffffffffffffffffffffffffffff1614610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90613f00565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0826040518263ffffffff1660e01b8152600401610fb09190613cf6565b600060405180830381600087803b158015610fca57600080fd5b505af1158015610fde573d6000803e3d6000fd5b5050505050565b600061108e610ff2612414565b846110898560016000611003612414565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304e90919063ffffffff16565b61241c565b6001905092915050565b6110a0612414565b73ffffffffffffffffffffffffffffffffffffffff166110be611619565b73ffffffffffffffffffffffffffffffffffffffff1614611114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110b90613f00565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc4c4b378260006040518363ffffffff1660e01b8152600401611172929190613f83565b6020604051808303816000875af1158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613fc1565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc4c4b373360006040518363ffffffff1660e01b815260040161123d929190613f83565b6020604051808303816000875af115801561125c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112809190613fc1565b50565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bbedde6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561134e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113729190613f35565b905090565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b81526004016113d49190613cf6565b602060405180830381865afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613f35565b9050919050565b6000806000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479856040518263ffffffff1660e01b815260040161147c9190613bac565b6060604051808303816000875af115801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf9190613fee565b9250925092503273ffffffffffffffffffffffffffffffffffffffff16600015157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98858585896040516115159493929190614041565b60405180910390a350505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611573612414565b73ffffffffffffffffffffffffffffffffffffffff16611591611619565b73ffffffffffffffffffffffffffffffffffffffff16146115e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115de90613f00565b60405180910390fd5b6115f160006130ac565b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461165290613e83565b80601f016020809104026020016040519081016040528092919081815260200182805461167e90613e83565b80156116cb5780601f106116a0576101008083540402835291602001916116cb565b820191906000526020600020905b8154815290600101906020018083116116ae57829003601f168201915b5050505050905090565b600a5481565b60155481565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2789ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117749190613f35565b905090565b600061183c611786612414565b8461183785604051806060016040528060258152602001614c2d60259139600160006117b0612414565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fea9092919063ffffffff16565b61241c565b6001905092915050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b9d240836040518263ffffffff1660e01b81526004016118a39190613cf6565b602060405180830381865afa1580156118c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e49190613f35565b9050919050565b60006118ff6118f8612414565b84846125e5565b6001905092915050565b60065481565b600080600080600080600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbcbc0f18a6040518263ffffffff1660e01b81526004016119769190613cf6565b61010060405180830381865afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b891906140c7565b97509750975097509750975097509750919395975091939597565b6119db612414565b73ffffffffffffffffffffffffffffffffffffffff166119f9611619565b73ffffffffffffffffffffffffffffffffffffffff1614611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4690613f00565b60405180910390fd5b620186a0611a5b610c23565b611a6591906141db565b8111611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d9061427e565b60405180910390fd5b8060118190555050565b60136020528060005260406000206000915054906101000a900460ff1681565b600c5481565b611ade612414565b73ffffffffffffffffffffffffffffffffffffffff16611afc611619565b73ffffffffffffffffffffffffffffffffffffffff1614611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990613f00565b60405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdb90614310565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611c819190613b08565b60405180910390a25050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b60085481565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327ce0147836040518263ffffffff1660e01b8152600401611d839190613cf6565b602060405180830381865afa158015611da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc49190613f35565b9050919050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7841ec06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5e9190613f35565b905090565b611e6b612414565b73ffffffffffffffffffffffffffffffffffffffff16611e89611619565b73ffffffffffffffffffffffffffffffffffffffff1614611edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed690613f00565b60405180910390fd5b610e108110158015611ef45750620151808111155b611f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2a906143a2565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98030c7826040518263ffffffff1660e01b8152600401611f8e9190613bac565b600060405180830381600087803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b5050505050565b600080600080600080600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635183d6fd8a6040518263ffffffff1660e01b815260040161202a9190613bac565b61010060405180830381865afa158015612048573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206c91906140c7565b97509750975097509750975097509750919395975091939597565b61208f612414565b73ffffffffffffffffffffffffffffffffffffffff166120ad611619565b73ffffffffffffffffffffffffffffffffffffffff1614612103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fa90613f00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216990614434565b60405180910390fd5b61217b816130ac565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b6121aa612414565b73ffffffffffffffffffffffffffffffffffffffff166121c8611619565b73ffffffffffffffffffffffffffffffffffffffff161461221e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221590613f00565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361228c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612283906144a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361230c573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612306573d6000803e3d6000fd5b50612411565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161234c9190613cf6565b602060405180830381865afa158015612369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238d9190613f35565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016123ca9291906144c0565b6020604051808303816000875af11580156123e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240d9190613fc1565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361248b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124829061455b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f1906145ed565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125d89190613bac565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264b9061467f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ba90614711565b60405180910390fd5b600081036126dc576126d783836000613172565b612fe5565b60006126e730611523565b90506000601154821015905080801561270d5750601060149054906101000a900460ff16155b80156127625750601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561277d57506000600d5460095461277b9190614731565b115b15612b7b576001601060146101000a81548160ff021916908315150217905550600080600a546006546127b09190614731565b11156127ed576064600a546006546127c89190614731565b846127d39190614765565b6127dd91906141db565b90506127ec3061dead83613172565b5b80836127f991906147a7565b92506000600c5460085461280d9190614731565b600b5460075461281d9190614731565b6128279190614731565b90506000841180156128395750600081115b15612b5d5760004790506000600267ffffffffffffffff8111156128605761285f6147db565b5b60405190808252806020026020018201604052801561288e5781602001602082028036833780820191505090505b50905030816000815181106128a6576128a561480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561294d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129719190614839565b816001815181106129855761298461480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478760008430426040518663ffffffff1660e01b8152600401612a2395949392919061495f565b600060405180830381600087803b158015612a3d57600080fd5b505af1158015612a51573d6000803e3d6000fd5b5050505060008247612a6391906147a7565b90506000600b54600754612a779190614731565b1115612b0c57600084600b54600754612a909190614731565b83612a9b9190614765565b612aa591906141db565b9050612ad3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613405565b7fddce3d5e4f18a9c2902704a38b56baadd81a9af59b8ded8a3220b6a6c1696b6b81604051612b029190613bac565b60405180910390a1505b6000600c54600854612b1e9190614731565b1115612b5957600084600c54600854612b379190614731565b83612b429190614765565b612b4c91906141db565b9050612b57816134f9565b505b5050505b6000601060146101000a81548160ff02191690831515021790555050505b6000601060149054906101000a900460ff16159050601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612c315750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612c3b57600090505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015612ce75750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612cf05750805b15612cfa57600090505b8015612d9f576000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603612d61576009549050612d67565b600d5490505b600060648287612d779190614765565b612d8191906141db565b90508086612d8f91906147a7565b9550612d9c883083613172565b50505b612daa868686613172565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc87612df289611523565b6040518363ffffffff1660e01b8152600401612e0f9291906149b9565b600060405180830381600087803b158015612e2957600080fd5b505af1925050508015612e3a575060015b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc86612e8388611523565b6040518363ffffffff1660e01b8152600401612ea09291906149b9565b600060405180830381600087803b158015612eba57600080fd5b505af1925050508015612ecb575060015b50601060149054906101000a900460ff16612fe15760006015549050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479826040518263ffffffff1660e01b8152600401612f429190613bac565b6060604051808303816000875af1925050508015612f7e57506040513d601f19601f82011682018060405250810190612f7b9190613fee565b60015b15612fdf573273ffffffffffffffffffffffffffffffffffffffff16600115157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a9885858589604051612fd39493929190614041565b60405180910390a35050505b505b5050505b505050565b6000838311158290613032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302991906139f2565b60405180910390fd5b506000838561304191906147a7565b9050809150509392505050565b600080828461305d9190614731565b9050838110156130a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309990614a2e565b60405180910390fd5b8091505092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036131e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d89061467f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324790614711565b60405180910390fd5b61325b83838361395d565b6132c681604051806060016040528060268152602001614bdf602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fea9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613359816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133f89190613bac565b60405180910390a3505050565b80471015613448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343f90614a9a565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161346e90614aeb565b60006040518083038185875af1925050503d80600081146134ab576040519150601f19603f3d011682016040523d82523d6000602084013e6134b0565b606091505b50509050806134f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134eb90614b72565b60405180910390fd5b505050565b6000600267ffffffffffffffff811115613516576135156147db565b5b6040519080825280602002602001820160405280156135445781602001602082028036833780820191505090505b509050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d89190614839565b816000815181106135ec576135eb61480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061365b5761365a61480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008430426040518663ffffffff1660e01b81526004016136f89493929190614b92565b6000604051808303818588803b15801561371157600080fd5b505af1158015613725573d6000803e3d6000fd5b505050505060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016137859190613cf6565b602060405180830381865afa1580156137a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137c69190613f35565b905060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016138479291906144c0565b6020604051808303816000875af1158015613866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061388a9190613fc1565b9050801561395757601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633243c791836040518263ffffffff1660e01b81526004016138ed9190613bac565b600060405180830381600087803b15801561390757600080fd5b505af115801561391b573d6000803e3d6000fd5b505050507fb0cc2628d6d644cf6be9d8110e142297ac910d6d8026d795a99f272fd9ad60b18260405161394e9190613bac565b60405180910390a15b50505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561399c578082015181840152602081019050613981565b60008484015250505050565b6000601f19601f8301169050919050565b60006139c482613962565b6139ce818561396d565b93506139de81856020860161397e565b6139e7816139a8565b840191505092915050565b60006020820190508181036000830152613a0c81846139b9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a4482613a19565b9050919050565b613a5481613a39565b8114613a5f57600080fd5b50565b600081359050613a7181613a4b565b92915050565b6000819050919050565b613a8a81613a77565b8114613a9557600080fd5b50565b600081359050613aa781613a81565b92915050565b60008060408385031215613ac457613ac3613a14565b5b6000613ad285828601613a62565b9250506020613ae385828601613a98565b9150509250929050565b60008115159050919050565b613b0281613aed565b82525050565b6000602082019050613b1d6000830184613af9565b92915050565b6000819050919050565b6000613b48613b43613b3e84613a19565b613b23565b613a19565b9050919050565b6000613b5a82613b2d565b9050919050565b6000613b6c82613b4f565b9050919050565b613b7c81613b61565b82525050565b6000602082019050613b976000830184613b73565b92915050565b613ba681613a77565b82525050565b6000602082019050613bc16000830184613b9d565b92915050565b600080600060608486031215613be057613bdf613a14565b5b6000613bee86828701613a62565b9350506020613bff86828701613a62565b9250506040613c1086828701613a98565b9150509250925092565b600060208284031215613c3057613c2f613a14565b5b6000613c3e84828501613a98565b91505092915050565b6000613c5282613b4f565b9050919050565b613c6281613c47565b82525050565b6000602082019050613c7d6000830184613c59565b92915050565b600060ff82169050919050565b613c9981613c83565b82525050565b6000602082019050613cb46000830184613c90565b92915050565b600060208284031215613cd057613ccf613a14565b5b6000613cde84828501613a62565b91505092915050565b613cf081613a39565b82525050565b6000602082019050613d0b6000830184613ce7565b92915050565b6000819050919050565b613d2481613d11565b82525050565b600061010082019050613d40600083018b613ce7565b613d4d602083018a613d1b565b613d5a6040830189613d1b565b613d676060830188613b9d565b613d746080830187613b9d565b613d8160a0830186613b9d565b613d8e60c0830185613b9d565b613d9b60e0830184613b9d565b9998505050505050505050565b613db181613aed565b8114613dbc57600080fd5b50565b600081359050613dce81613da8565b92915050565b60008060408385031215613deb57613dea613a14565b5b6000613df985828601613a62565b9250506020613e0a85828601613dbf565b9150509250929050565b60008060408385031215613e2b57613e2a613a14565b5b6000613e3985828601613a62565b9250506020613e4a85828601613a62565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613e9b57607f821691505b602082108103613eae57613ead613e54565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613eea60208361396d565b9150613ef582613eb4565b602082019050919050565b60006020820190508181036000830152613f1981613edd565b9050919050565b600081519050613f2f81613a81565b92915050565b600060208284031215613f4b57613f4a613a14565b5b6000613f5984828501613f20565b91505092915050565b6000613f6d82613a19565b9050919050565b613f7d81613f62565b82525050565b6000604082019050613f986000830185613f74565b613fa56020830184613af9565b9392505050565b600081519050613fbb81613da8565b92915050565b600060208284031215613fd757613fd6613a14565b5b6000613fe584828501613fac565b91505092915050565b60008060006060848603121561400757614006613a14565b5b600061401586828701613f20565b935050602061402686828701613f20565b925050604061403786828701613f20565b9150509250925092565b60006080820190506140566000830187613b9d565b6140636020830186613b9d565b6140706040830185613b9d565b61407d6060830184613b9d565b95945050505050565b60008151905061409581613a4b565b92915050565b6140a481613d11565b81146140af57600080fd5b50565b6000815190506140c18161409b565b92915050565b600080600080600080600080610100898b0312156140e8576140e7613a14565b5b60006140f68b828c01614086565b98505060206141078b828c016140b2565b97505060406141188b828c016140b2565b96505060606141298b828c01613f20565b955050608061413a8b828c01613f20565b94505060a061414b8b828c01613f20565b93505060c061415c8b828c01613f20565b92505060e061416d8b828c01613f20565b9150509295985092959890939650565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006141e682613a77565b91506141f183613a77565b9250826142015761420061417d565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e30303125206f6620746f74616c20737570706c790000602082015250565b6000614268603e8361396d565b91506142738261420c565b604082019050919050565b600060208201905081810360008301526142978161425b565b9050919050565b7f4163636f756e7420697320616c72656164792073657420746f2074686174207360008201527f7461746500000000000000000000000000000000000000000000000000000000602082015250565b60006142fa60248361396d565b91506143058261429e565b604082019050919050565b60006020820190508181036000830152614329816142ed565b9050919050565b7f636c61696d57616974206d757374206265207570646174656420746f2062657460008201527f7765656e203120616e6420323420686f75727300000000000000000000000000602082015250565b600061438c60338361396d565b915061439782614330565b604082019050919050565b600060208201905081810360008301526143bb8161437f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061441e60268361396d565b9150614429826143c2565b604082019050919050565b6000602082019050818103600083015261444d81614411565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d206e617469766520746f6b656e73600082015250565b600061448a60208361396d565b915061449582614454565b602082019050919050565b600060208201905081810360008301526144b98161447d565b9050919050565b60006040820190506144d56000830185613ce7565b6144e26020830184613b9d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061454560248361396d565b9150614550826144e9565b604082019050919050565b6000602082019050818103600083015261457481614538565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006145d760228361396d565b91506145e28261457b565b604082019050919050565b60006020820190508181036000830152614606816145ca565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061466960258361396d565b91506146748261460d565b604082019050919050565b600060208201905081810360008301526146988161465c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006146fb60238361396d565b91506147068261469f565b604082019050919050565b6000602082019050818103600083015261472a816146ee565b9050919050565b600061473c82613a77565b915061474783613a77565b925082820190508082111561475f5761475e6141ac565b5b92915050565b600061477082613a77565b915061477b83613a77565b925082820261478981613a77565b915082820484148315176147a05761479f6141ac565b5b5092915050565b60006147b282613a77565b91506147bd83613a77565b92508282039050818111156147d5576147d46141ac565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561484f5761484e613a14565b5b600061485d84828501614086565b91505092915050565b6000819050919050565b600061488b61488661488184614866565b613b23565b613a77565b9050919050565b61489b81614870565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6148d681613a39565b82525050565b60006148e883836148cd565b60208301905092915050565b6000602082019050919050565b600061490c826148a1565b61491681856148ac565b9350614921836148bd565b8060005b8381101561495257815161493988826148dc565b9750614944836148f4565b925050600181019050614925565b5085935050505092915050565b600060a0820190506149746000830188613b9d565b6149816020830187614892565b81810360408301526149938186614901565b90506149a26060830185613ce7565b6149af6080830184613b9d565b9695505050505050565b60006040820190506149ce6000830185613f74565b6149db6020830184613b9d565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614a18601b8361396d565b9150614a23826149e2565b602082019050919050565b60006020820190508181036000830152614a4781614a0b565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614a84601d8361396d565b9150614a8f82614a4e565b602082019050919050565b60006020820190508181036000830152614ab381614a77565b9050919050565b600081905092915050565b50565b6000614ad5600083614aba565b9150614ae082614ac5565b600082019050919050565b6000614af682614ac8565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614b5c603a8361396d565b9150614b6782614b00565b604082019050919050565b60006020820190508181036000830152614b8b81614b4f565b9050919050565b6000608082019050614ba76000830187614892565b8181036020830152614bb98186614901565b9050614bc86040830185613ce7565b614bd56060830184613b9d565b9594505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200864eef07a91e927f1fabdc02e9790b06cae1b02eb1e69ddf4a26d0b33b3fe6c64736f6c6343000813003360a06040523480156200001157600080fd5b50604051620043dc380380620043dc8339818101604052810190620000379190620002bf565b6040518060400160405280600e81526020017f52657761726420547261636b65720000000000000000000000000000000000008152506040518060400160405280600f81526020017f4469766964656e64547261636b657200000000000000000000000000000000008152508282828160039081620000b7919062000576565b508060049081620000c9919062000576565b505050620000ec620000e06200014c60201b60201c565b6200015460201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505050610e10601181905550633b9aca00826200013e91906200068c565b6012819055505050620006d7565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b6000819050919050565b62000234816200021f565b81146200024057600080fd5b50565b600081519050620002548162000229565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000287826200025a565b9050919050565b62000299816200027a565b8114620002a557600080fd5b50565b600081519050620002b9816200028e565b92915050565b60008060408385031215620002d957620002d86200021a565b5b6000620002e98582860162000243565b9250506020620002fc85828601620002a8565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200038857607f821691505b6020821081036200039e576200039d62000340565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003c9565b620004148683620003c9565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000457620004516200044b846200021f565b6200042c565b6200021f565b9050919050565b6000819050919050565b620004738362000436565b6200048b62000482826200045e565b848454620003d6565b825550505050565b600090565b620004a262000493565b620004af81848462000468565b505050565b5b81811015620004d757620004cb60008262000498565b600181019050620004b5565b5050565b601f8211156200052657620004f081620003a4565b620004fb84620003b9565b810160208510156200050b578190505b620005236200051a85620003b9565b830182620004b4565b50505b505050565b600082821c905092915050565b60006200054b600019846008026200052b565b1980831691505092915050565b600062000566838362000538565b9150826002028217905092915050565b620005818262000306565b67ffffffffffffffff8111156200059d576200059c62000311565b5b620005a982546200036f565b620005b6828285620004db565b600060209050601f831160018114620005ee5760008415620005d9578287015190505b620005e5858262000558565b86555062000655565b601f198416620005fe86620003a4565b60005b82811015620006285784890151825560018201915060208501945060208101905062000601565b8683101562000648578489015162000644601f89168262000538565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000699826200021f565b9150620006a6836200021f565b9250828202620006b6816200021f565b91508282048414831517620006d057620006cf6200065d565b5b5092915050565b608051613ce2620006fa60003960008181611a7701526124560152613ce26000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c8063715018a611610130578063bc4c4b37116100b8578063e98030c71161007c578063e98030c7146106f8578063f2fde38b14610714578063f7c618c114610730578063fbcbc0f11461074e578063ffb2c4791461078557610232565b8063bc4c4b3714610640578063be10b61414610670578063dd62ed3e1461068e578063e30443bc146106be578063e7841ec0146106da57610232565b806395d89b41116100ff57806395d89b4114610562578063a457c2d714610580578063a8b9d240146105b0578063a9059cbb146105e0578063aafd847a1461061057610232565b8063715018a6146104ec57806385a6b3ae146104f65780638da5cb5b1461051457806391b89fba1461053257610232565b80633009a609116101be5780634e7b827f116101825780634e7b827f1461042d5780635183d6fd1461045d5780636a474002146104945780636f2789ec1461049e57806370a08231146104bc57610232565b80633009a60914610389578063313ce567146103a757806331e79db0146103c55780633243c791146103e157806339509351146103fd57610232565b806318160ddd1161020557806318160ddd146102bf578063226cfa3d146102dd57806323b872dd1461030d57806327ce01471461033d578063286b3aa01461036d57610232565b806306fdde0314610237578063095ea7b31461025557806309bbedde146102855780630dcb2e89146102a3575b600080fd5b61023f6107b7565b60405161024c9190612b7f565b60405180910390f35b61026f600480360381019061026a9190612c3a565b610849565b60405161027c9190612c95565b60405180910390f35b61028d610867565b60405161029a9190612cbf565b60405180910390f35b6102bd60048036038101906102b89190612cda565b610877565b005b6102c7610941565b6040516102d49190612cbf565b60405180910390f35b6102f760048036038101906102f29190612d07565b61094b565b6040516103049190612cbf565b60405180910390f35b61032760048036038101906103229190612d34565b610963565b6040516103349190612c95565b60405180910390f35b61035760048036038101906103529190612d07565b610a3c565b6040516103649190612cbf565b60405180910390f35b61038760048036038101906103829190612cda565b610adf565b005b610391610b65565b60405161039e9190612cbf565b60405180910390f35b6103af610b6b565b6040516103bc9190612da3565b60405180910390f35b6103df60048036038101906103da9190612d07565b610b74565b005b6103fb60048036038101906103f69190612cda565b610d5c565b005b61041760048036038101906104129190612c3a565b610eb2565b6040516104249190612c95565b60405180910390f35b61044760048036038101906104429190612d07565b610f65565b6040516104549190612c95565b60405180910390f35b61047760048036038101906104729190612cda565b610f85565b60405161048b989796959493929190612de6565b60405180910390f35b61049c6110fa565b005b6104a661113d565b6040516104b39190612cbf565b60405180910390f35b6104d660048036038101906104d19190612d07565b611143565b6040516104e39190612cbf565b60405180910390f35b6104f461118b565b005b6104fe611213565b60405161050b9190612cbf565b60405180910390f35b61051c611219565b6040516105299190612e64565b60405180910390f35b61054c60048036038101906105479190612d07565b611243565b6040516105599190612cbf565b60405180910390f35b61056a611255565b6040516105779190612b7f565b60405180910390f35b61059a60048036038101906105959190612c3a565b6112e7565b6040516105a79190612c95565b60405180910390f35b6105ca60048036038101906105c59190612d07565b6113b4565b6040516105d79190612cbf565b60405180910390f35b6105fa60048036038101906105f59190612c3a565b611417565b6040516106079190612c95565b60405180910390f35b61062a60048036038101906106259190612d07565b611435565b6040516106379190612cbf565b60405180910390f35b61065a60048036038101906106559190612ee9565b61147e565b6040516106679190612c95565b60405180910390f35b6106786115bd565b6040516106859190612cbf565b60405180910390f35b6106a860048036038101906106a39190612f29565b6115c3565b6040516106b59190612cbf565b60405180910390f35b6106d860048036038101906106d39190612f69565b61164a565b005b6106e2611826565b6040516106ef9190612cbf565b60405180910390f35b610712600480360381019061070d9190612cda565b611830565b005b61072e60048036038101906107299190612d07565b61197e565b005b610738611a75565b6040516107459190612e64565b60405180910390f35b61076860048036038101906107639190612d07565b611a99565b60405161077c989796959493929190612de6565b60405180910390f35b61079f600480360381019061079a9190612cda565b611c78565b6040516107ae93929190612fa9565b60405180910390f35b6060600380546107c69061300f565b80601f01602080910402602001604051908101604052809291908181526020018280546107f29061300f565b801561083f5780601f106108145761010080835404028352916020019161083f565b820191906000526020600020905b81548152906001019060200180831161082257829003601f168201915b5050505050905090565b600061085d610856611e09565b8484611e11565b6001905092915050565b6000600a60000180549050905090565b61087f611e09565b73ffffffffffffffffffffffffffffffffffffffff1661089d611219565b73ffffffffffffffffffffffffffffffffffffffff16146108f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ea9061308c565b60405180910390fd5b6012548103610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e90613144565b60405180910390fd5b8060128190555050565b6000600254905090565b60106020528060005260406000206000915090505481565b6000610970848484611fda565b610a318461097c611e09565b610a2c85604051806060016040528060288152602001613c6060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109e2611e09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120209092919063ffffffff16565b611e11565b600190509392505050565b6000700100000000000000000000000000000000610ace610ac9600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610abb610ab6610aa588611143565b60065461208490919063ffffffff16565b6120fe565b61211b90919063ffffffff16565b612166565b610ad891906131c2565b9050919050565b610ae7611e09565b73ffffffffffffffffffffffffffffffffffffffff16610b05611219565b73ffffffffffffffffffffffffffffffffffffffff1614610b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b529061308c565b60405180910390fd5b80600e8190555050565b600e5481565b60006009905090565b610b7c611e09565b73ffffffffffffffffffffffffffffffffffffffff16610b9a611219565b73ffffffffffffffffffffffffffffffffffffffff1614610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be79061308c565b60405180910390fd5b600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610c4757600080fd5b6001600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610caa81600061217d565b600a730c4f9088191b9d640b942c05f4d1c59e0848b7f0634c60db9c9091836040518363ffffffff1660e01b8152600401610ce6929190613209565b60006040518083038186803b158015610cfe57600080fd5b505af4158015610d12573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2560405160405180910390a250565b610d64611e09565b73ffffffffffffffffffffffffffffffffffffffff16610d82611219565b73ffffffffffffffffffffffffffffffffffffffff1614610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf9061308c565b60405180910390fd5b6000610de2610941565b11610dec57600080fd5b6000811115610eaf57610e3f610e00610941565b610e247001000000000000000000000000000000008461208490919063ffffffff16565b610e2e91906131c2565b6006546121ea90919063ffffffff16565b6006819055503373ffffffffffffffffffffffffffffffffffffffff167fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d7845411651182604051610e8b9190612cbf565b60405180910390a2610ea8816007546121ea90919063ffffffff16565b6007819055505b50565b6000610f5b610ebf611e09565b84610f568560016000610ed0611e09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea90919063ffffffff16565b611e11565b6001905092915050565b600f6020528060005260406000206000915054906101000a900460ff1681565b600080600080600080600080600a730c4f9088191b9d640b942c05f4d1c59e0848b7f063deb3d89690916040518263ffffffff1660e01b8152600401610fcb9190613232565b602060405180830381865af4158015610fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100c9190613262565b89106110535760007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff806000806000806000975097509750975097509750975097506110ef565b6000600a730c4f9088191b9d640b942c05f4d1c59e0848b7f063d1aa9e7e90918c6040518363ffffffff1660e01b815260040161109192919061329e565b602060405180830381865af41580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d291906132dc565b90506110dd81611a99565b98509850985098509850985098509850505b919395975091939597565b600061113b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611132906133a1565b60405180910390fd5b565b60115481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611193611e09565b73ffffffffffffffffffffffffffffffffffffffff166111b1611219565b73ffffffffffffffffffffffffffffffffffffffff1614611207576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fe9061308c565b60405180910390fd5b6112116000612248565b565b60075481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061124e826113b4565b9050919050565b6060600480546112649061300f565b80601f01602080910402602001604051908101604052809291908181526020018280546112909061300f565b80156112dd5780601f106112b2576101008083540402835291602001916112dd565b820191906000526020600020905b8154815290600101906020018083116112c057829003601f168201915b5050505050905090565b60006113aa6112f4611e09565b846113a585604051806060016040528060258152602001613c88602591396001600061131e611e09565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120209092919063ffffffff16565b611e11565b6001905092915050565b6000611410600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140284610a3c565b61230e90919063ffffffff16565b9050919050565b600061142b611424611e09565b8484611fda565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000611488611e09565b73ffffffffffffffffffffffffffffffffffffffff166114a6611219565b73ffffffffffffffffffffffffffffffffffffffff16146114fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f39061308c565b60405180910390fd5b600061150784612358565b905060008111156115b15742601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508215158473ffffffffffffffffffffffffffffffffffffffff167fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf0928360405161159f9190612cbf565b60405180910390a360019150506115b7565b60009150505b92915050565b60125481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611652611e09565b73ffffffffffffffffffffffffffffffffffffffff16611670611219565b73ffffffffffffffffffffffffffffffffffffffff16146116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd9061308c565b60405180910390fd5b600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661182257601254811061179d5761172a828261217d565b600a730c4f9088191b9d640b942c05f4d1c59e0848b7f063bc2b405c909184846040518463ffffffff1660e01b815260040161176893929190613420565b60006040518083038186803b15801561178057600080fd5b505af4158015611794573d6000803e3d6000fd5b50505050611815565b6117a882600061217d565b600a730c4f9088191b9d640b942c05f4d1c59e0848b7f0634c60db9c9091846040518363ffffffff1660e01b81526004016117e4929190613457565b60006040518083038186803b1580156117fc57600080fd5b505af4158015611810573d6000803e3d6000fd5b505050505b61182082600161147e565b505b5050565b6000600e54905090565b611838611e09565b73ffffffffffffffffffffffffffffffffffffffff16611856611219565b73ffffffffffffffffffffffffffffffffffffffff16146118ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a39061308c565b60405180910390fd5b610e1081101580156118c15750620151808111155b611900576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f7906134f2565b60405180910390fd5b6011548103611944576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193b90613584565b60405180910390fd5b601154817f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f60405160405180910390a38060118190555050565b611986611e09565b73ffffffffffffffffffffffffffffffffffffffff166119a4611219565b73ffffffffffffffffffffffffffffffffffffffff16146119fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f19061308c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6090613616565b60405180910390fd5b611a7281612248565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600080600080600080889750600a730c4f9088191b9d640b942c05f4d1c59e0848b7f06317e142d190918a6040518363ffffffff1660e01b8152600401611ae4929190613209565b602060405180830381865af4158015611b01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b259190613662565b96507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff955060008712611bca57600e54871115611b7857611b71600e54886125ae90919063ffffffff16565b9550611bc9565b6000600e54600a6000018054905011611b92576000611bb0565b611baf600e54600a6000018054905061230e90919063ffffffff16565b5b9050611bc5818961211b90919063ffffffff16565b9650505b5b611bd3886113b4565b9450611bde88610a3c565b9350601060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054925060008311611c31576000611c47565b611c46601154846121ea90919063ffffffff16565b5b9150428211611c57576000611c6b565b611c6a428361230e90919063ffffffff16565b5b9050919395975091939597565b600080600080600a60000180549050905060008103611ca357600080600e5493509350935050611e02565b6000600e5490506000805a90506000805b8984108015611cc257508582105b15611de9578480611cd29061368f565b955050600a600001805490508510611ce957600094505b6000600a6000018681548110611d0257611d016136d7565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611d77601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125f9565b15611d9c57611d8781600161147e565b15611d9b578180611d979061368f565b9250505b5b8280611da79061368f565b93505060005a905080851115611ddf57611ddc611dcd828761230e90919063ffffffff16565b876121ea90919063ffffffff16565b95505b8094505050611cb4565b84600e819055508181600e549850985098505050505050505b9193909250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7790613778565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611eef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee69061380a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611fcd9190612cbf565b60405180910390a3505050565b600061201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201290613876565b60405180910390fd5b505050565b6000838311158290612068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205f9190612b7f565b60405180910390fd5b50600083856120779190613896565b9050809150509392505050565b600080830361209657600090506120f8565b600082846120a491906138ca565b90508284826120b391906131c2565b146120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea9061397e565b60405180910390fd5b809150505b92915050565b600080829050600081121561211257600080fd5b80915050919050565b600080828461212a919061399e565b90506000831215801561213d5750838112155b80612153575060008312801561215257508381125b5b61215c57600080fd5b8091505092915050565b60008082121561217557600080fd5b819050919050565b600061218883611143565b9050808211156121b95760006121a7828461230e90919063ffffffff16565b90506121b3848261262c565b506121e5565b808210156121e45760006121d6838361230e90919063ffffffff16565b90506121e284826126eb565b505b5b505050565b60008082846121f991906139e2565b90508381101561223e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223590613a62565b60405180910390fd5b8091505092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600061235083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612020565b905092915050565b600080612364836113b4565b905060008111156125a3576123c181600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d8260405161244a9190612cbf565b60405180910390a260007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b81526004016124af929190613a91565b6020604051808303816000875af11580156124ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124f29190613acf565b9050806125995761254b82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461230e90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000925050506125a9565b81925050506125a9565b60009150505b919050565b60008082846125bd9190613afc565b9050600083121580156125d05750838113155b806125e657506000831280156125e557508381135b5b6125ef57600080fd5b8091505092915050565b60004282111561260c5760009050612627565b601154612622834261230e90919063ffffffff16565b101590505b919050565b61263682826127aa565b6126a46126566126518360065461208490919063ffffffff16565b6120fe565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125ae90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6126f5828261293d565b6127636127156127108360065461208490919063ffffffff16565b6120fe565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211b90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612819576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281090613b8b565b60405180910390fd5b61282560008383612aea565b61283a816002546121ea90919063ffffffff16565b600281905550612891816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ea90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516129319190612cbf565b60405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a390613c1d565b60405180910390fd5b6129b882600083612aea565b612a2381604051806060016040528060228152602001613c3e602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120209092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a7a8160025461230e90919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ade9190612cbf565b60405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b29578082015181840152602081019050612b0e565b60008484015250505050565b6000601f19601f8301169050919050565b6000612b5182612aef565b612b5b8185612afa565b9350612b6b818560208601612b0b565b612b7481612b35565b840191505092915050565b60006020820190508181036000830152612b998184612b46565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bd182612ba6565b9050919050565b612be181612bc6565b8114612bec57600080fd5b50565b600081359050612bfe81612bd8565b92915050565b6000819050919050565b612c1781612c04565b8114612c2257600080fd5b50565b600081359050612c3481612c0e565b92915050565b60008060408385031215612c5157612c50612ba1565b5b6000612c5f85828601612bef565b9250506020612c7085828601612c25565b9150509250929050565b60008115159050919050565b612c8f81612c7a565b82525050565b6000602082019050612caa6000830184612c86565b92915050565b612cb981612c04565b82525050565b6000602082019050612cd46000830184612cb0565b92915050565b600060208284031215612cf057612cef612ba1565b5b6000612cfe84828501612c25565b91505092915050565b600060208284031215612d1d57612d1c612ba1565b5b6000612d2b84828501612bef565b91505092915050565b600080600060608486031215612d4d57612d4c612ba1565b5b6000612d5b86828701612bef565b9350506020612d6c86828701612bef565b9250506040612d7d86828701612c25565b9150509250925092565b600060ff82169050919050565b612d9d81612d87565b82525050565b6000602082019050612db86000830184612d94565b92915050565b612dc781612bc6565b82525050565b6000819050919050565b612de081612dcd565b82525050565b600061010082019050612dfc600083018b612dbe565b612e09602083018a612dd7565b612e166040830189612dd7565b612e236060830188612cb0565b612e306080830187612cb0565b612e3d60a0830186612cb0565b612e4a60c0830185612cb0565b612e5760e0830184612cb0565b9998505050505050505050565b6000602082019050612e796000830184612dbe565b92915050565b6000612e8a82612ba6565b9050919050565b612e9a81612e7f565b8114612ea557600080fd5b50565b600081359050612eb781612e91565b92915050565b612ec681612c7a565b8114612ed157600080fd5b50565b600081359050612ee381612ebd565b92915050565b60008060408385031215612f0057612eff612ba1565b5b6000612f0e85828601612ea8565b9250506020612f1f85828601612ed4565b9150509250929050565b60008060408385031215612f4057612f3f612ba1565b5b6000612f4e85828601612bef565b9250506020612f5f85828601612bef565b9150509250929050565b60008060408385031215612f8057612f7f612ba1565b5b6000612f8e85828601612ea8565b9250506020612f9f85828601612c25565b9150509250929050565b6000606082019050612fbe6000830186612cb0565b612fcb6020830185612cb0565b612fd86040830184612cb0565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061302757607f821691505b60208210810361303a57613039612fe0565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613076602083612afa565b915061308182613040565b602082019050919050565b600060208201905081810360008301526130a581613069565b9050919050565b7f4e6577206d696d696d756d2062616c616e636520666f72206469766964656e6460008201527f2063616e6e6f742062652073616d652061732063757272656e74206d696e696d60208201527f756d2062616c616e636500000000000000000000000000000000000000000000604082015250565b600061312e604a83612afa565b9150613139826130ac565b606082019050919050565b6000602082019050818103600083015261315d81613121565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006131cd82612c04565b91506131d883612c04565b9250826131e8576131e7613164565b5b828204905092915050565b8082525050565b61320381612bc6565b82525050565b600060408201905061321e60008301856131f3565b61322b60208301846131fa565b9392505050565b600060208201905061324760008301846131f3565b92915050565b60008151905061325c81612c0e565b92915050565b60006020828403121561327857613277612ba1565b5b60006132868482850161324d565b91505092915050565b61329881612c04565b82525050565b60006040820190506132b360008301856131f3565b6132c0602083018461328f565b9392505050565b6000815190506132d681612bd8565b92915050565b6000602082840312156132f2576132f1612ba1565b5b6000613300848285016132c7565b91505092915050565b7f77697468647261774469766964656e642064697361626c65642e20557365207460008201527f68652027636c61696d272066756e6374696f6e206f6e20746865206d61696e2060208201527f636f6e74726163742e0000000000000000000000000000000000000000000000604082015250565b600061338b604983612afa565b915061339682613309565b606082019050919050565b600060208201905081810360008301526133ba8161337e565b9050919050565b6000819050919050565b60006133e66133e16133dc84612ba6565b6133c1565b612ba6565b9050919050565b60006133f8826133cb565b9050919050565b600061340a826133ed565b9050919050565b61341a816133ff565b82525050565b600060608201905061343560008301866131f3565b6134426020830185613411565b61344f604083018461328f565b949350505050565b600060408201905061346c60008301856131f3565b6134796020830184613411565b9392505050565b7f636c61696d57616974206d757374206265207570646174656420746f2062657460008201527f7765656e203120616e6420323420686f75727300000000000000000000000000602082015250565b60006134dc603383612afa565b91506134e782613480565b604082019050919050565b6000602082019050818103600083015261350b816134cf565b9050919050565b7f43616e6e6f742075706461746520636c61696d5761697420746f2073616d652060008201527f76616c7565000000000000000000000000000000000000000000000000000000602082015250565b600061356e602583612afa565b915061357982613512565b604082019050919050565b6000602082019050818103600083015261359d81613561565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613600602683612afa565b915061360b826135a4565b604082019050919050565b6000602082019050818103600083015261362f816135f3565b9050919050565b61363f81612dcd565b811461364a57600080fd5b50565b60008151905061365c81613636565b92915050565b60006020828403121561367857613677612ba1565b5b60006136868482850161364d565b91505092915050565b600061369a82612c04565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136cc576136cb613193565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613762602483612afa565b915061376d82613706565b604082019050919050565b6000602082019050818103600083015261379181613755565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006137f4602283612afa565b91506137ff82613798565b604082019050919050565b60006020820190508181036000830152613823816137e7565b9050919050565b7f4e6f207472616e736665727320616c6c6f776564000000000000000000000000600082015250565b6000613860601483612afa565b915061386b8261382a565b602082019050919050565b6000602082019050818103600083015261388f81613853565b9050919050565b60006138a182612c04565b91506138ac83612c04565b92508282039050818111156138c4576138c3613193565b5b92915050565b60006138d582612c04565b91506138e083612c04565b92508282026138ee81612c04565b9150828204841483151761390557613904613193565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613968602183612afa565b91506139738261390c565b604082019050919050565b600060208201905081810360008301526139978161395b565b9050919050565b60006139a982612dcd565b91506139b483612dcd565b9250828201905082811215600083121683821260008412151617156139dc576139db613193565b5b92915050565b60006139ed82612c04565b91506139f883612c04565b9250828201905080821115613a1057613a0f613193565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613a4c601b83612afa565b9150613a5782613a16565b602082019050919050565b60006020820190508181036000830152613a7b81613a3f565b9050919050565b613a8b816133ff565b82525050565b6000604082019050613aa66000830185613a82565b613ab36020830184612cb0565b9392505050565b600081519050613ac981612ebd565b92915050565b600060208284031215613ae557613ae4612ba1565b5b6000613af384828501613aba565b91505092915050565b6000613b0782612dcd565b9150613b1283612dcd565b9250828203905081811260008412168282136000851215161715613b3957613b38613193565b5b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613b75601f83612afa565b9150613b8082613b3f565b602082019050919050565b60006020820190508181036000830152613ba481613b68565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c07602183612afa565b9150613c1282613bab565b604082019050919050565b60006020820190508181036000830152613c3681613bfa565b905091905056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206b14ee65d247b7bf43da755093e07776f5f1389acefeaf5c235054d73125a4d264736f6c63430008130033
Deployed Bytecode
0x60806040526004361061028c5760003560e01c806395d89b411161015a578063c0246668116100c1578063e7841ec01161007a578063e7841ec014610a38578063e98030c714610a63578063f27fd25414610a8c578063f2fde38b14610ad0578063f7c618c114610af9578063f9d0831a14610b2457610293565b8063c024666814610914578063dc4c7dbc1461093d578063dd62ed3e14610968578063e2f45605146109a5578063e4893fdc146109d0578063e4f24cb0146109fb57610293565b8063a9059cbb11610113578063a9059cbb146107d7578063a938d1c914610814578063ad56c13c1461083f578063afa4f3b214610883578063b62496f5146108ac578063b94315ff146108e957610293565b806395d89b41146106b1578063989a124f146106dc5780639c1b8af514610707578063a26579ad14610732578063a457c2d71461075d578063a8b9d2401461079a57610293565b80633f249df0116101fe5780636843cd84116101b75780636843cd84146105a1578063700bb191146105de57806370a0823114610607578063715018a61461064457806375f0a8741461065b5780638da5cb5b1461068657610293565b80633f249df0146104a357806349bd5a5e146104cc5780634e71d92d146104f75780634fbee1931461050e5780635fc2e5961461054b57806364b0f6531461057657610293565b8063286b3aa011610250578063286b3aa0146103935780632c1f5216146103bc57806330bb4cff146103e7578063313ce5671461041257806331e79db01461043d578063395093511461046657610293565b806306fdde0314610298578063095ea7b3146102c35780631694505e1461030057806318160ddd1461032b57806323b872dd1461035657610293565b3661029357005b600080fd5b3480156102a457600080fd5b506102ad610b4d565b6040516102ba91906139f2565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190613aad565b610bdf565b6040516102f79190613b08565b60405180910390f35b34801561030c57600080fd5b50610315610bfd565b6040516103229190613b82565b60405180910390f35b34801561033757600080fd5b50610340610c23565b60405161034d9190613bac565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190613bc7565b610c2d565b60405161038a9190613b08565b60405180910390f35b34801561039f57600080fd5b506103ba60048036038101906103b59190613c1a565b610d06565b005b3480156103c857600080fd5b506103d1610e12565b6040516103de9190613c68565b60405180910390f35b3480156103f357600080fd5b506103fc610e38565b6040516104099190613bac565b60405180910390f35b34801561041e57600080fd5b50610427610ed0565b6040516104349190613c9f565b60405180910390f35b34801561044957600080fd5b50610464600480360381019061045f9190613cba565b610ed9565b005b34801561047257600080fd5b5061048d60048036038101906104889190613aad565b610fe5565b60405161049a9190613b08565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c59190613cba565b611098565b005b3480156104d857600080fd5b506104e16111b9565b6040516104ee9190613cf6565b60405180910390f35b34801561050357600080fd5b5061050c6111df565b005b34801561051a57600080fd5b5061053560048036038101906105309190613cba565b611283565b6040516105429190613b08565b60405180910390f35b34801561055757600080fd5b506105606112d9565b60405161056d9190613bac565b60405180910390f35b34801561058257600080fd5b5061058b6112df565b6040516105989190613bac565b60405180910390f35b3480156105ad57600080fd5b506105c860048036038101906105c39190613cba565b611377565b6040516105d59190613bac565b60405180910390f35b3480156105ea57600080fd5b5061060560048036038101906106009190613c1a565b61141c565b005b34801561061357600080fd5b5061062e60048036038101906106299190613cba565b611523565b60405161063b9190613bac565b60405180910390f35b34801561065057600080fd5b5061065961156b565b005b34801561066757600080fd5b506106706115f3565b60405161067d9190613cf6565b60405180910390f35b34801561069257600080fd5b5061069b611619565b6040516106a89190613cf6565b60405180910390f35b3480156106bd57600080fd5b506106c6611643565b6040516106d391906139f2565b60405180910390f35b3480156106e857600080fd5b506106f16116d5565b6040516106fe9190613bac565b60405180910390f35b34801561071357600080fd5b5061071c6116db565b6040516107299190613bac565b60405180910390f35b34801561073e57600080fd5b506107476116e1565b6040516107549190613bac565b60405180910390f35b34801561076957600080fd5b50610784600480360381019061077f9190613aad565b611779565b6040516107919190613b08565b60405180910390f35b3480156107a657600080fd5b506107c160048036038101906107bc9190613cba565b611846565b6040516107ce9190613bac565b60405180910390f35b3480156107e357600080fd5b506107fe60048036038101906107f99190613aad565b6118eb565b60405161080b9190613b08565b60405180910390f35b34801561082057600080fd5b50610829611909565b6040516108369190613bac565b60405180910390f35b34801561084b57600080fd5b5061086660048036038101906108619190613cba565b61190f565b60405161087a989796959493929190613d2a565b60405180910390f35b34801561088f57600080fd5b506108aa60048036038101906108a59190613c1a565b6119d3565b005b3480156108b857600080fd5b506108d360048036038101906108ce9190613cba565b611ab0565b6040516108e09190613b08565b60405180910390f35b3480156108f557600080fd5b506108fe611ad0565b60405161090b9190613bac565b60405180910390f35b34801561092057600080fd5b5061093b60048036038101906109369190613dd4565b611ad6565b005b34801561094957600080fd5b50610952611c8d565b60405161095f9190613bac565b60405180910390f35b34801561097457600080fd5b5061098f600480360381019061098a9190613e14565b611c93565b60405161099c9190613bac565b60405180910390f35b3480156109b157600080fd5b506109ba611d1a565b6040516109c79190613bac565b60405180910390f35b3480156109dc57600080fd5b506109e5611d20565b6040516109f29190613bac565b60405180910390f35b348015610a0757600080fd5b50610a226004803603810190610a1d9190613cba565b611d26565b604051610a2f9190613bac565b60405180910390f35b348015610a4457600080fd5b50610a4d611dcb565b604051610a5a9190613bac565b60405180910390f35b348015610a6f57600080fd5b50610a8a6004803603810190610a859190613c1a565b611e63565b005b348015610a9857600080fd5b50610ab36004803603810190610aae9190613c1a565b611fc3565b604051610ac7989796959493929190613d2a565b60405180910390f35b348015610adc57600080fd5b50610af76004803603810190610af29190613cba565b612087565b005b348015610b0557600080fd5b50610b0e61217e565b604051610b1b9190613cf6565b60405180910390f35b348015610b3057600080fd5b50610b4b6004803603810190610b469190613cba565b6121a2565b005b606060038054610b5c90613e83565b80601f0160208091040260200160405190810160405280929190818152602001828054610b8890613e83565b8015610bd55780601f10610baa57610100808354040283529160200191610bd5565b820191906000526020600020905b815481529060010190602001808311610bb857829003601f168201915b5050505050905090565b6000610bf3610bec612414565b848461241c565b6001905092915050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b6000610c3a8484846125e5565b610cfb84610c46612414565b610cf685604051806060016040528060288152602001614c0560289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610cac612414565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fea9092919063ffffffff16565b61241c565b600190509392505050565b610d0e612414565b73ffffffffffffffffffffffffffffffffffffffff16610d2c611619565b73ffffffffffffffffffffffffffffffffffffffff1614610d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7990613f00565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663286b3aa0826040518263ffffffff1660e01b8152600401610ddd9190613bac565b600060405180830381600087803b158015610df757600080fd5b505af1158015610e0b573d6000803e3d6000fd5b5050505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385a6b3ae6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ecb9190613f35565b905090565b60006009905090565b610ee1612414565b73ffffffffffffffffffffffffffffffffffffffff16610eff611619565b73ffffffffffffffffffffffffffffffffffffffff1614610f55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4c90613f00565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0826040518263ffffffff1660e01b8152600401610fb09190613cf6565b600060405180830381600087803b158015610fca57600080fd5b505af1158015610fde573d6000803e3d6000fd5b5050505050565b600061108e610ff2612414565b846110898560016000611003612414565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304e90919063ffffffff16565b61241c565b6001905092915050565b6110a0612414565b73ffffffffffffffffffffffffffffffffffffffff166110be611619565b73ffffffffffffffffffffffffffffffffffffffff1614611114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110b90613f00565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc4c4b378260006040518363ffffffff1660e01b8152600401611172929190613f83565b6020604051808303816000875af1158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613fc1565b5050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc4c4b373360006040518363ffffffff1660e01b815260040161123d929190613f83565b6020604051808303816000875af115801561125c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112809190613fc1565b50565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60075481565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bbedde6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561134e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113729190613f35565b905090565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b81526004016113d49190613cf6565b602060405180830381865afa1580156113f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114159190613f35565b9050919050565b6000806000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479856040518263ffffffff1660e01b815260040161147c9190613bac565b6060604051808303816000875af115801561149b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114bf9190613fee565b9250925092503273ffffffffffffffffffffffffffffffffffffffff16600015157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98858585896040516115159493929190614041565b60405180910390a350505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611573612414565b73ffffffffffffffffffffffffffffffffffffffff16611591611619565b73ffffffffffffffffffffffffffffffffffffffff16146115e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115de90613f00565b60405180910390fd5b6115f160006130ac565b565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461165290613e83565b80601f016020809104026020016040519081016040528092919081815260200182805461167e90613e83565b80156116cb5780601f106116a0576101008083540402835291602001916116cb565b820191906000526020600020905b8154815290600101906020018083116116ae57829003601f168201915b5050505050905090565b600a5481565b60155481565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2789ec6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611750573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117749190613f35565b905090565b600061183c611786612414565b8461183785604051806060016040528060258152602001614c2d60259139600160006117b0612414565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fea9092919063ffffffff16565b61241c565b6001905092915050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b9d240836040518263ffffffff1660e01b81526004016118a39190613cf6565b602060405180830381865afa1580156118c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e49190613f35565b9050919050565b60006118ff6118f8612414565b84846125e5565b6001905092915050565b60065481565b600080600080600080600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbcbc0f18a6040518263ffffffff1660e01b81526004016119769190613cf6565b61010060405180830381865afa158015611994573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b891906140c7565b97509750975097509750975097509750919395975091939597565b6119db612414565b73ffffffffffffffffffffffffffffffffffffffff166119f9611619565b73ffffffffffffffffffffffffffffffffffffffff1614611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4690613f00565b60405180910390fd5b620186a0611a5b610c23565b611a6591906141db565b8111611aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9d9061427e565b60405180910390fd5b8060118190555050565b60136020528060005260406000206000915054906101000a900460ff1681565b600c5481565b611ade612414565b73ffffffffffffffffffffffffffffffffffffffff16611afc611619565b73ffffffffffffffffffffffffffffffffffffffff1614611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990613f00565b60405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151503611be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdb90614310565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611c819190613b08565b60405180910390a25050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60115481565b60085481565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327ce0147836040518263ffffffff1660e01b8152600401611d839190613cf6565b602060405180830381865afa158015611da0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc49190613f35565b9050919050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7841ec06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5e9190613f35565b905090565b611e6b612414565b73ffffffffffffffffffffffffffffffffffffffff16611e89611619565b73ffffffffffffffffffffffffffffffffffffffff1614611edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed690613f00565b60405180910390fd5b610e108110158015611ef45750620151808111155b611f33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2a906143a2565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98030c7826040518263ffffffff1660e01b8152600401611f8e9190613bac565b600060405180830381600087803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b5050505050565b600080600080600080600080601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635183d6fd8a6040518263ffffffff1660e01b815260040161202a9190613bac565b61010060405180830381865afa158015612048573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206c91906140c7565b97509750975097509750975097509750919395975091939597565b61208f612414565b73ffffffffffffffffffffffffffffffffffffffff166120ad611619565b73ffffffffffffffffffffffffffffffffffffffff1614612103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fa90613f00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216990614434565b60405180910390fd5b61217b816130ac565b50565b7f00000000000000000000000055d398326f99059ff775485246999027b319795581565b6121aa612414565b73ffffffffffffffffffffffffffffffffffffffff166121c8611619565b73ffffffffffffffffffffffffffffffffffffffff161461221e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221590613f00565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361228c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612283906144a0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361230c573373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612306573d6000803e3d6000fd5b50612411565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161234c9190613cf6565b602060405180830381865afa158015612369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238d9190613f35565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016123ca9291906144c0565b6020604051808303816000875af11580156123e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240d9190613fc1565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361248b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124829061455b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f1906145ed565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125d89190613bac565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264b9061467f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ba90614711565b60405180910390fd5b600081036126dc576126d783836000613172565b612fe5565b60006126e730611523565b90506000601154821015905080801561270d5750601060149054906101000a900460ff16155b80156127625750601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561277d57506000600d5460095461277b9190614731565b115b15612b7b576001601060146101000a81548160ff021916908315150217905550600080600a546006546127b09190614731565b11156127ed576064600a546006546127c89190614731565b846127d39190614765565b6127dd91906141db565b90506127ec3061dead83613172565b5b80836127f991906147a7565b92506000600c5460085461280d9190614731565b600b5460075461281d9190614731565b6128279190614731565b90506000841180156128395750600081115b15612b5d5760004790506000600267ffffffffffffffff8111156128605761285f6147db565b5b60405190808252806020026020018201604052801561288e5781602001602082028036833780820191505090505b50905030816000815181106128a6576128a561480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561294d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129719190614839565b816001815181106129855761298461480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478760008430426040518663ffffffff1660e01b8152600401612a2395949392919061495f565b600060405180830381600087803b158015612a3d57600080fd5b505af1158015612a51573d6000803e3d6000fd5b5050505060008247612a6391906147a7565b90506000600b54600754612a779190614731565b1115612b0c57600084600b54600754612a909190614731565b83612a9b9190614765565b612aa591906141db565b9050612ad3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682613405565b7fddce3d5e4f18a9c2902704a38b56baadd81a9af59b8ded8a3220b6a6c1696b6b81604051612b029190613bac565b60405180910390a1505b6000600c54600854612b1e9190614731565b1115612b5957600084600c54600854612b379190614731565b83612b429190614765565b612b4c91906141db565b9050612b57816134f9565b505b5050505b6000601060146101000a81548160ff02191690831515021790555050505b6000601060149054906101000a900460ff16159050601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612c315750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612c3b57600090505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015612ce75750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612cf05750805b15612cfa57600090505b8015612d9f576000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603612d61576009549050612d67565b600d5490505b600060648287612d779190614765565b612d8191906141db565b90508086612d8f91906147a7565b9550612d9c883083613172565b50505b612daa868686613172565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc87612df289611523565b6040518363ffffffff1660e01b8152600401612e0f9291906149b9565b600060405180830381600087803b158015612e2957600080fd5b505af1925050508015612e3a575060015b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc86612e8388611523565b6040518363ffffffff1660e01b8152600401612ea09291906149b9565b600060405180830381600087803b158015612eba57600080fd5b505af1925050508015612ecb575060015b50601060149054906101000a900460ff16612fe15760006015549050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479826040518263ffffffff1660e01b8152600401612f429190613bac565b6060604051808303816000875af1925050508015612f7e57506040513d601f19601f82011682018060405250810190612f7b9190613fee565b60015b15612fdf573273ffffffffffffffffffffffffffffffffffffffff16600115157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a9885858589604051612fd39493929190614041565b60405180910390a35050505b505b5050505b505050565b6000838311158290613032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161302991906139f2565b60405180910390fd5b506000838561304191906147a7565b9050809150509392505050565b600080828461305d9190614731565b9050838110156130a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309990614a2e565b60405180910390fd5b8091505092915050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036131e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d89061467f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324790614711565b60405180910390fd5b61325b83838361395d565b6132c681604051806060016040528060268152602001614bdf602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fea9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613359816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461304e90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133f89190613bac565b60405180910390a3505050565b80471015613448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343f90614a9a565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161346e90614aeb565b60006040518083038185875af1925050503d80600081146134ab576040519150601f19603f3d011682016040523d82523d6000602084013e6134b0565b606091505b50509050806134f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134eb90614b72565b60405180910390fd5b505050565b6000600267ffffffffffffffff811115613516576135156147db565b5b6040519080825280602002602001820160405280156135445781602001602082028036833780820191505090505b509050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156135b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d89190614839565b816000815181106135ec576135eb61480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000055d398326f99059ff775485246999027b31979558160018151811061365b5761365a61480a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958360008430426040518663ffffffff1660e01b81526004016136f89493929190614b92565b6000604051808303818588803b15801561371157600080fd5b505af1158015613725573d6000803e3d6000fd5b505050505060007f00000000000000000000000055d398326f99059ff775485246999027b319795573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016137859190613cf6565b602060405180830381865afa1580156137a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137c69190613f35565b905060007f00000000000000000000000055d398326f99059ff775485246999027b319795573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016138479291906144c0565b6020604051808303816000875af1158015613866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061388a9190613fc1565b9050801561395757601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633243c791836040518263ffffffff1660e01b81526004016138ed9190613bac565b600060405180830381600087803b15801561390757600080fd5b505af115801561391b573d6000803e3d6000fd5b505050507fb0cc2628d6d644cf6be9d8110e142297ac910d6d8026d795a99f272fd9ad60b18260405161394e9190613bac565b60405180910390a15b50505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561399c578082015181840152602081019050613981565b60008484015250505050565b6000601f19601f8301169050919050565b60006139c482613962565b6139ce818561396d565b93506139de81856020860161397e565b6139e7816139a8565b840191505092915050565b60006020820190508181036000830152613a0c81846139b9565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a4482613a19565b9050919050565b613a5481613a39565b8114613a5f57600080fd5b50565b600081359050613a7181613a4b565b92915050565b6000819050919050565b613a8a81613a77565b8114613a9557600080fd5b50565b600081359050613aa781613a81565b92915050565b60008060408385031215613ac457613ac3613a14565b5b6000613ad285828601613a62565b9250506020613ae385828601613a98565b9150509250929050565b60008115159050919050565b613b0281613aed565b82525050565b6000602082019050613b1d6000830184613af9565b92915050565b6000819050919050565b6000613b48613b43613b3e84613a19565b613b23565b613a19565b9050919050565b6000613b5a82613b2d565b9050919050565b6000613b6c82613b4f565b9050919050565b613b7c81613b61565b82525050565b6000602082019050613b976000830184613b73565b92915050565b613ba681613a77565b82525050565b6000602082019050613bc16000830184613b9d565b92915050565b600080600060608486031215613be057613bdf613a14565b5b6000613bee86828701613a62565b9350506020613bff86828701613a62565b9250506040613c1086828701613a98565b9150509250925092565b600060208284031215613c3057613c2f613a14565b5b6000613c3e84828501613a98565b91505092915050565b6000613c5282613b4f565b9050919050565b613c6281613c47565b82525050565b6000602082019050613c7d6000830184613c59565b92915050565b600060ff82169050919050565b613c9981613c83565b82525050565b6000602082019050613cb46000830184613c90565b92915050565b600060208284031215613cd057613ccf613a14565b5b6000613cde84828501613a62565b91505092915050565b613cf081613a39565b82525050565b6000602082019050613d0b6000830184613ce7565b92915050565b6000819050919050565b613d2481613d11565b82525050565b600061010082019050613d40600083018b613ce7565b613d4d602083018a613d1b565b613d5a6040830189613d1b565b613d676060830188613b9d565b613d746080830187613b9d565b613d8160a0830186613b9d565b613d8e60c0830185613b9d565b613d9b60e0830184613b9d565b9998505050505050505050565b613db181613aed565b8114613dbc57600080fd5b50565b600081359050613dce81613da8565b92915050565b60008060408385031215613deb57613dea613a14565b5b6000613df985828601613a62565b9250506020613e0a85828601613dbf565b9150509250929050565b60008060408385031215613e2b57613e2a613a14565b5b6000613e3985828601613a62565b9250506020613e4a85828601613a62565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613e9b57607f821691505b602082108103613eae57613ead613e54565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613eea60208361396d565b9150613ef582613eb4565b602082019050919050565b60006020820190508181036000830152613f1981613edd565b9050919050565b600081519050613f2f81613a81565b92915050565b600060208284031215613f4b57613f4a613a14565b5b6000613f5984828501613f20565b91505092915050565b6000613f6d82613a19565b9050919050565b613f7d81613f62565b82525050565b6000604082019050613f986000830185613f74565b613fa56020830184613af9565b9392505050565b600081519050613fbb81613da8565b92915050565b600060208284031215613fd757613fd6613a14565b5b6000613fe584828501613fac565b91505092915050565b60008060006060848603121561400757614006613a14565b5b600061401586828701613f20565b935050602061402686828701613f20565b925050604061403786828701613f20565b9150509250925092565b60006080820190506140566000830187613b9d565b6140636020830186613b9d565b6140706040830185613b9d565b61407d6060830184613b9d565b95945050505050565b60008151905061409581613a4b565b92915050565b6140a481613d11565b81146140af57600080fd5b50565b6000815190506140c18161409b565b92915050565b600080600080600080600080610100898b0312156140e8576140e7613a14565b5b60006140f68b828c01614086565b98505060206141078b828c016140b2565b97505060406141188b828c016140b2565b96505060606141298b828c01613f20565b955050608061413a8b828c01613f20565b94505060a061414b8b828c01613f20565b93505060c061415c8b828c01613f20565b92505060e061416d8b828c01613f20565b9150509295985092959890939650565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006141e682613a77565b91506141f183613a77565b9250826142015761420061417d565b5b828204905092915050565b7f53776170546f6b656e734174416d6f756e74206d75737420626520677265617460008201527f6572207468616e20302e30303125206f6620746f74616c20737570706c790000602082015250565b6000614268603e8361396d565b91506142738261420c565b604082019050919050565b600060208201905081810360008301526142978161425b565b9050919050565b7f4163636f756e7420697320616c72656164792073657420746f2074686174207360008201527f7461746500000000000000000000000000000000000000000000000000000000602082015250565b60006142fa60248361396d565b91506143058261429e565b604082019050919050565b60006020820190508181036000830152614329816142ed565b9050919050565b7f636c61696d57616974206d757374206265207570646174656420746f2062657460008201527f7765656e203120616e6420323420686f75727300000000000000000000000000602082015250565b600061438c60338361396d565b915061439782614330565b604082019050919050565b600060208201905081810360008301526143bb8161437f565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061441e60268361396d565b9150614429826143c2565b604082019050919050565b6000602082019050818103600083015261444d81614411565b9050919050565b7f4f776e65722063616e6e6f7420636c61696d206e617469766520746f6b656e73600082015250565b600061448a60208361396d565b915061449582614454565b602082019050919050565b600060208201905081810360008301526144b98161447d565b9050919050565b60006040820190506144d56000830185613ce7565b6144e26020830184613b9d565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061454560248361396d565b9150614550826144e9565b604082019050919050565b6000602082019050818103600083015261457481614538565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006145d760228361396d565b91506145e28261457b565b604082019050919050565b60006020820190508181036000830152614606816145ca565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061466960258361396d565b91506146748261460d565b604082019050919050565b600060208201905081810360008301526146988161465c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006146fb60238361396d565b91506147068261469f565b604082019050919050565b6000602082019050818103600083015261472a816146ee565b9050919050565b600061473c82613a77565b915061474783613a77565b925082820190508082111561475f5761475e6141ac565b5b92915050565b600061477082613a77565b915061477b83613a77565b925082820261478981613a77565b915082820484148315176147a05761479f6141ac565b5b5092915050565b60006147b282613a77565b91506147bd83613a77565b92508282039050818111156147d5576147d46141ac565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561484f5761484e613a14565b5b600061485d84828501614086565b91505092915050565b6000819050919050565b600061488b61488661488184614866565b613b23565b613a77565b9050919050565b61489b81614870565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6148d681613a39565b82525050565b60006148e883836148cd565b60208301905092915050565b6000602082019050919050565b600061490c826148a1565b61491681856148ac565b9350614921836148bd565b8060005b8381101561495257815161493988826148dc565b9750614944836148f4565b925050600181019050614925565b5085935050505092915050565b600060a0820190506149746000830188613b9d565b6149816020830187614892565b81810360408301526149938186614901565b90506149a26060830185613ce7565b6149af6080830184613b9d565b9695505050505050565b60006040820190506149ce6000830185613f74565b6149db6020830184613b9d565b9392505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614a18601b8361396d565b9150614a23826149e2565b602082019050919050565b60006020820190508181036000830152614a4781614a0b565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b6000614a84601d8361396d565b9150614a8f82614a4e565b602082019050919050565b60006020820190508181036000830152614ab381614a77565b9050919050565b600081905092915050565b50565b6000614ad5600083614aba565b9150614ae082614ac5565b600082019050919050565b6000614af682614ac8565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614b5c603a8361396d565b9150614b6782614b00565b604082019050919050565b60006020820190508181036000830152614b8b81614b4f565b9050919050565b6000608082019050614ba76000830187614892565b8181036020830152614bb98186614901565b9050614bc86040830185613ce7565b614bd56060830184613b9d565b9594505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200864eef07a91e927f1fabdc02e9790b06cae1b02eb1e69ddf4a26d0b33b3fe6c64736f6c63430008130033
Library Used
Deployed Bytecode Sourcemap
31302:12573:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15393:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16306:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31681:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15713:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16483:355;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43595:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;32054:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41518:141;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15613:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42129:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16846:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43318:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;31729:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43207:103;;;;;;;;;;;;;:::i;:::-;;36313:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31376:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43731:141;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41826:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42928:271;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15829:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;924:103;;;;;;;;;;;;;:::i;:::-;;31642:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;701:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15501:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31490:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;32142:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41402:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17072:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41667:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15964:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31342:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42266:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;40896:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;31987:58;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31565:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;36019:286;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;31525:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16147:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31885:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;31415:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41973:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;43458:129;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41142:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;42592:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;1035:201;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;32099:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;34717:441;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15393:100;15447:13;15480:5;15473:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15393:100;:::o;16306:169::-;16389:4;16406:39;16415:12;:10;:12::i;:::-;16429:7;16438:6;16406:8;:39::i;:::-;16463:4;16456:11;;16306:169;;;;:::o;31681:41::-;;;;;;;;;;;;;:::o;15713:108::-;15774:7;15801:12;;15794:19;;15713:108;:::o;16483:355::-;16623:4;16640:36;16650:6;16658:9;16669:6;16640:9;:36::i;:::-;16687:121;16696:6;16704:12;:10;:12::i;:::-;16718:89;16756:6;16718:89;;;;;;;;;;;;;;;;;:11;:19;16730:6;16718:19;;;;;;;;;;;;;;;:33;16738:12;:10;:12::i;:::-;16718:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;16687:8;:121::i;:::-;16826:4;16819:11;;16483:355;;;;;:::o;43595:128::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;43671:15:::1;;;;;;;;;;;:37;;;43709:5;43671:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;43595:128:::0;:::o;32054:38::-;;;;;;;;;;;;;:::o;41518:141::-;41581:7;41608:15;;;;;;;;;;;:41;;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;41601:50;;41518:141;:::o;15613:92::-;15671:5;15696:1;15689:8;;15613:92;:::o;42129:129::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;42205:15:::1;;;;;;;;;;;:36;;;42242:7;42205:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;42129:129:::0;:::o;16846:218::-;16934:4;16951:83;16960:12;:10;:12::i;:::-;16974:7;16983:50;17022:10;16983:11;:25;16995:12;:10;:12::i;:::-;16983:25;;;;;;;;;;;;;;;:34;17009:7;16983:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;16951:8;:83::i;:::-;17052:4;17045:11;;16846:218;;;;:::o;43318:132::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;43387:15:::1;;;;;;;;;;;:30;;;43426:7;43436:5;43387:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;43318:132:::0;:::o;31729:29::-;;;;;;;;;;;;;:::o;43207:103::-;43244:15;;;;;;;;;;;:30;;;43283:10;43296:5;43244:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;43207:103::o;36313:125::-;36378:4;36402:19;:28;36422:7;36402:28;;;;;;;;;;;;;;;;;;;;;;;;;36395:35;;36313:125;;;:::o;31376:32::-;;;;:::o;43731:141::-;43796:7;43823:15;;;;;;;;;;;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43816:48;;43731:141;:::o;41826:139::-;41896:7;41923:15;;;;;;;;;;;:25;;;41949:7;41923:34;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;41916:41;;41826:139;;;:::o;42928:271::-;42994:18;43014:14;43030:26;43060:15;;;;;;;;;;;:23;;;43084:3;43060:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42993:95;;;;;;43181:9;43104:87;;43169:5;43104:87;;;43129:10;43141:6;43149:18;43176:3;43104:87;;;;;;;;;:::i;:::-;;;;;;;;42982:217;;;42928:271;:::o;15829:127::-;15903:7;15930:9;:18;15940:7;15930:18;;;;;;;;;;;;;;;;15923:25;;15829:127;;;:::o;924:103::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;989:30:::1;1016:1;989:18;:30::i;:::-;924:103::o:0;31642:30::-;;;;;;;;;;;;;:::o;701:87::-;747:7;774:6;;;;;;;;;;;767:13;;701:87;:::o;15501:104::-;15557:13;15590:7;15583:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15501:104;:::o;31490:28::-;;;;:::o;32142:41::-;;;;:::o;41402:108::-;41448:7;41475:15;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;41468:34;;41402:108;:::o;17072:269::-;17165:4;17182:129;17191:12;:10;:12::i;:::-;17205:7;17214:96;17253:15;17214:96;;;;;;;;;;;;;;;;;:11;:25;17226:12;:10;:12::i;:::-;17214:25;;;;;;;;;;;;;;;:34;17240:7;17214:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;17182:8;:129::i;:::-;17329:4;17322:11;;17072:269;;;;:::o;41667:151::-;41736:7;41763:15;;;;;;;;;;;:38;;;41802:7;41763:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;41756:54;;41667:151;;;:::o;15964:175::-;16050:4;16067:42;16077:12;:10;:12::i;:::-;16091:9;16102:6;16067:9;:42::i;:::-;16127:4;16120:11;;15964:175;;;;:::o;31342:27::-;;;;:::o;42266:318::-;42362:7;42384:6;42405;42426:7;42448;42470;42492;42514;42541:15;;;;;;;;;;;:26;;;42568:7;42541:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42534:42;;;;;;;;;;;;;;;;42266:318;;;;;;;;;:::o;40896:238::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;41011:7:::1;40995:13;:11;:13::i;:::-;:23;;;;:::i;:::-;40983:9;:35;40975:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;41117:9;41096:18;:30;;;;40896:238:::0;:::o;31987:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;31565:31::-;;;;:::o;36019:286::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;36146:8:::1;36114:40;;:19;:28;36134:7;36114:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;::::0;36106:89:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;36237:8;36206:19;:28;36226:7;36206:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;36279:7;36263:34;;;36288:8;36263:34;;;;;;:::i;:::-;;;;;;;;36019:286:::0;;:::o;31525:33::-;;;;:::o;16147:151::-;16236:7;16263:11;:18;16275:5;16263:18;;;;;;;;;;;;;;;:27;16282:7;16263:27;;;;;;;;;;;;;;;;16256:34;;16147:151;;;;:::o;31885:33::-;;;;:::o;31415:30::-;;;;:::o;41973:148::-;42039:7;42066:15;;;;;;;;;;;:38;;;42105:7;42066:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42059:54;;41973:148;;;:::o;43458:129::-;43513:7;43540:15;;;;;;;;;;;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43533:46;;43458:129;:::o;41142:252::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;41243:5:::1;41227:12;:21;;:47;;;;;41268:6;41252:12;:22;;41227:47;41219:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;41341:15;;;;;;;;;;;:31;;;41373:12;41341:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;41142:252:::0;:::o;42592:328::-;42693:7;42715:6;42736;42757:7;42779;42801;42823;42845;42872:15;;;;;;;;;;;:33;;;42906:5;42872:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;42865:47;;;;;;;;;;;;;;;;42592:328;;;;;;;;;:::o;1035:201::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1144:1:::1;1124:22;;:8;:22;;::::0;1116:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1200:28;1219:8;1200:18;:28::i;:::-;1035:201:::0;:::o;32099:36::-;;;:::o;34717:441::-;847:12;:10;:12::i;:::-;836:23;;:7;:5;:7::i;:::-;:23;;;828:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;34813:4:::1;34796:22;;:5;:22;;::::0;34788:67:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;34887:3;34870:21;;:5;:21;;::::0;34866:126:::1;;34916:10;34908:28;;:51;34937:21;34908:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;34974:7;;34866:126;35002:17;35029:5;35002:33;;35046:15;35064:10;:20;;;35093:4;35064:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;35046:53;;35110:10;:19;;;35130:10;35142:7;35110:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;34777:381;;907:1;34717:441:::0;:::o;247:98::-;300:7;327:10;320:17;;247:98;:::o;18730:378::-;18883:1;18866:19;;:5;:19;;;18858:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;18964:1;18945:21;;:7;:21;;;18937:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;19046:6;19016:11;:18;19028:5;19016:18;;;;;;;;;;;;;;;:27;19035:7;19016:27;;;;;;;;;;;;;;;:36;;;;19084:7;19068:32;;19077:5;19068:32;;;19093:6;19068:32;;;;;;:::i;:::-;;;;;;;;18730:378;;;:::o;36446:3695::-;36594:1;36578:18;;:4;:18;;;36570:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;36671:1;36657:16;;:2;:16;;;36649:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;36739:1;36729:6;:11;36726:92;;36757:28;36773:4;36779:2;36783:1;36757:15;:28::i;:::-;36800:7;;36726:92;36830:28;36861:24;36879:4;36861:9;:24::i;:::-;36830:55;;36898:12;36937:18;;36913:20;:42;;36898:57;;36972:7;:33;;;;;36997:8;;;;;;;;;;;36996:9;36972:33;:79;;;;;37022:25;:29;37048:2;37022:29;;;;;;;;;;;;;;;;;;;;;;;;;36972:79;:126;;;;;37097:1;37082:12;;37068:11;;:26;;;;:::i;:::-;:30;36972:126;36968:1883;;;37136:4;37125:8;;:15;;;;;;;;;;;;;;;;;;37169:18;37238:1;37222:13;;37207:12;;:28;;;;:::i;:::-;:32;37204:211;;;37329:3;37312:13;;37297:12;;:28;;;;:::i;:::-;37273:20;:53;;;;:::i;:::-;:59;;;;:::i;:::-;37260:72;;37351:48;37375:4;31803:42;37388:10;37351:15;:48::i;:::-;37204:211;37455:10;37431:34;;;;;:::i;:::-;;;37482:16;37563;;37545:15;;:34;;;;:::i;:::-;37522:18;;37502:17;;:38;;;;:::i;:::-;37501:79;;;;:::i;:::-;37482:98;;37635:1;37612:20;:24;:40;;;;;37651:1;37640:8;:12;37612:40;37609:1198;;;37673:22;37698:21;37673:46;;37740:21;37778:1;37764:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37740:40;;37817:4;37799;37804:1;37799:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;37851:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;37841:4;37846:1;37841:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;37894:15;;;;;;;;;;;:66;;;37983:20;38026:1;38050:4;38085;38113:15;37894:235;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;38166:18;38211:14;38187:21;:38;;;;:::i;:::-;38166:59;;38292:1;38270:18;;38250:17;;:38;;;;:::i;:::-;38249:44;38246:304;;;38318:20;38397:8;38375:18;;38355:17;;:38;;;;:::i;:::-;38341:10;:53;;;;:::i;:::-;:64;;;;:::i;:::-;38318:87;;38428:47;38444:15;;;;;;;;;;;38462:12;38428:7;:47::i;:::-;38503:27;38517:12;38503:27;;;;;;:::i;:::-;;;;;;;;38295:255;38246:304;38612:1;38592:16;;38574:15;;:34;;;;:::i;:::-;38573:40;38570:222;;;38638:17;38710:8;38690:16;;38672:15;;:34;;;;:::i;:::-;38658:10;:49;;;;:::i;:::-;:60;;;;:::i;:::-;38638:80;;38741:31;38762:9;38741:20;:31::i;:::-;38615:177;38570:222;37654:1153;;;37609:1198;38834:5;38823:8;;:16;;;;;;;;;;;;;;;;;;37110:1741;;36968:1883;38863:12;38879:8;;;;;;;;;;;38878:9;38863:24;;38903:19;:25;38923:4;38903:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;38932:19;:23;38952:2;38932:23;;;;;;;;;;;;;;;;;;;;;;;;;38903:52;38900:99;;;38982:5;38972:15;;38900:99;39063:13;;;;;;;;;;;39055:21;;:4;:21;;;;:44;;;;;39086:13;;;;;;;;;;;39080:19;;:2;:19;;;;39055:44;:55;;;;;39103:7;39055:55;39052:102;;;39137:5;39127:15;;39052:102;39169:7;39166:387;;;39193:18;39237:13;;;;;;;;;;;39229:21;;:4;:21;;;39226:151;;39284:11;;39271:24;;39226:151;;;39349:12;;39336:25;;39226:151;39391:12;39428:3;39415:10;39406:6;:19;;;;:::i;:::-;:25;;;;:::i;:::-;39391:40;;39478:4;39469:6;:13;;;;:::i;:::-;39460:22;;39499:42;39515:4;39529;39536;39499:15;:42::i;:::-;39178:375;;39166:387;39565:33;39581:4;39587:2;39591:6;39565:15;:33::i;:::-;39615:15;;;;;;;;;;;:26;;;39650:4;39657:15;39667:4;39657:9;:15::i;:::-;39615:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39611:74;39699:15;;;;;;;;;;;:26;;;39734:2;39739:13;39749:2;39739:9;:13::i;:::-;39699:54;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39695:70;39781:8;;;;;;;;;;;39777:357;;39806:11;39820:16;;39806:30;;39857:15;;;;;;;;;;;:23;;;39881:3;39857:28;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;39853:270;;;40059:9;39983:86;;40048:4;39983:86;;;40008:10;40020:6;40028:18;40054:3;39983:86;;;;;;;;;:::i;:::-;;;;;;;;39886:199;;;39853:270;39791:343;39777:357;36559:3582;;;36446:3695;;;;:::o;1799:192::-;1885:7;1918:1;1913;:6;;1921:12;1905:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1945:9;1961:1;1957;:5;;;;:::i;:::-;1945:17;;1982:1;1975:8;;;1799:192;;;;;:::o;1466:181::-;1524:7;1544:9;1560:1;1556;:5;;;;:::i;:::-;1544:17;;1585:1;1580;:6;;1572:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1638:1;1631:8;;;1466:181;;;;:::o;1244:191::-;1318:16;1337:6;;;;;;;;;;;1318:25;;1363:8;1354:6;;:17;;;;;;;;;;;;;;;;;;1418:8;1387:40;;1408:8;1387:40;;;;;;;;;;;;1307:128;1244:191;:::o;17349:569::-;17507:1;17489:20;;:6;:20;;;17481:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;17591:1;17570:23;;:9;:23;;;17562:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;17644:47;17665:6;17673:9;17684:6;17644:20;:47::i;:::-;17722:71;17744:6;17722:71;;;;;;;;;;;;;;;;;:9;:17;17732:6;17722:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;17702:9;:17;17712:6;17702:17;;;;;;;;;;;;;;;:91;;;;17827:32;17852:6;17827:9;:20;17837:9;17827:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;17804:9;:20;17814:9;17804:20;;;;;;;;;;;;;;;:55;;;;17892:9;17875:35;;17884:6;17875:35;;;17903:6;17875:35;;;;;;:::i;:::-;;;;;;;;17349:569;;;:::o;35289:315::-;35402:6;35377:21;:31;;35369:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;35456:12;35474:9;:14;;35496:6;35474:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35455:52;;;35526:7;35518:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;35358:246;35289:315;;:::o;40149:739::-;40213:21;40251:1;40237:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40213:40;;40274:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;40264:4;40269:1;40264:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;40317:11;40307:4;40312:1;40307:7;;;;;;;;:::i;:::-;;;;;;;:21;;;;;;;;;;;40341:15;;;;;;;;;;;:66;;;40415:6;40437:1;40453:4;40480;40500:15;40341:185;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40547:26;40583:11;40576:29;;;40614:4;40576:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;40547:73;;40631:12;40653:11;40646:28;;;40683:15;;;;;;;;;;;40701:18;40646:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;40631:89;;40737:7;40733:148;;;40761:15;;;;;;;;;;;:35;;;40797:18;40761:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40836:33;40850:18;40836:33;;;;;;:::i;:::-;;;;;;;;40733:148;40202:686;;;40149:739;:::o;19116:125::-;;;;:::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;1430:117::-;1539:1;1536;1529: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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:153::-;3869:9;3902:37;3933:5;3902:37;:::i;:::-;3889:50;;3792:153;;;:::o;3951:185::-;4065:64;4123:5;4065:64;:::i;:::-;4060:3;4053:77;3951:185;;:::o;4142:276::-;4262:4;4300:2;4289:9;4285:18;4277:26;;4313:98;4408:1;4397:9;4393:17;4384:6;4313:98;:::i;:::-;4142:276;;;;:::o;4424:118::-;4511:24;4529:5;4511:24;:::i;:::-;4506:3;4499:37;4424:118;;:::o;4548:222::-;4641:4;4679:2;4668:9;4664:18;4656:26;;4692:71;4760:1;4749:9;4745:17;4736:6;4692:71;:::i;:::-;4548:222;;;;:::o;4776:619::-;4853:6;4861;4869;4918:2;4906:9;4897:7;4893:23;4889:32;4886:119;;;4924:79;;:::i;:::-;4886:119;5044:1;5069:53;5114:7;5105:6;5094:9;5090:22;5069:53;:::i;:::-;5059:63;;5015:117;5171:2;5197:53;5242:7;5233:6;5222:9;5218:22;5197:53;:::i;:::-;5187:63;;5142:118;5299:2;5325:53;5370:7;5361:6;5350:9;5346:22;5325:53;:::i;:::-;5315:63;;5270:118;4776:619;;;;;:::o;5401:329::-;5460:6;5509:2;5497:9;5488:7;5484:23;5480:32;5477:119;;;5515:79;;:::i;:::-;5477:119;5635:1;5660:53;5705:7;5696:6;5685:9;5681:22;5660:53;:::i;:::-;5650:63;;5606:117;5401:329;;;;:::o;5736:150::-;5810:9;5843:37;5874:5;5843:37;:::i;:::-;5830:50;;5736:150;;;:::o;5892:179::-;6003:61;6058:5;6003:61;:::i;:::-;5998:3;5991:74;5892:179;;:::o;6077:270::-;6194:4;6232:2;6221:9;6217:18;6209:26;;6245:95;6337:1;6326:9;6322:17;6313:6;6245:95;:::i;:::-;6077:270;;;;:::o;6353:86::-;6388:7;6428:4;6421:5;6417:16;6406:27;;6353:86;;;:::o;6445:112::-;6528:22;6544:5;6528:22;:::i;:::-;6523:3;6516:35;6445:112;;:::o;6563:214::-;6652:4;6690:2;6679:9;6675:18;6667:26;;6703:67;6767:1;6756:9;6752:17;6743:6;6703:67;:::i;:::-;6563:214;;;;:::o;6783:329::-;6842:6;6891:2;6879:9;6870:7;6866:23;6862:32;6859:119;;;6897:79;;:::i;:::-;6859:119;7017:1;7042:53;7087:7;7078:6;7067:9;7063:22;7042:53;:::i;:::-;7032:63;;6988:117;6783:329;;;;:::o;7118:118::-;7205:24;7223:5;7205:24;:::i;:::-;7200:3;7193:37;7118:118;;:::o;7242:222::-;7335:4;7373:2;7362:9;7358:18;7350:26;;7386:71;7454:1;7443:9;7439:17;7430:6;7386:71;:::i;:::-;7242:222;;;;:::o;7470:76::-;7506:7;7535:5;7524:16;;7470:76;;;:::o;7552:115::-;7637:23;7654:5;7637:23;:::i;:::-;7632:3;7625:36;7552:115;;:::o;7673:989::-;7958:4;7996:3;7985:9;7981:19;7973:27;;8010:71;8078:1;8067:9;8063:17;8054:6;8010:71;:::i;:::-;8091:70;8157:2;8146:9;8142:18;8133:6;8091:70;:::i;:::-;8171;8237:2;8226:9;8222:18;8213:6;8171:70;:::i;:::-;8251:72;8319:2;8308:9;8304:18;8295:6;8251:72;:::i;:::-;8333:73;8401:3;8390:9;8386:19;8377:6;8333:73;:::i;:::-;8416;8484:3;8473:9;8469:19;8460:6;8416:73;:::i;:::-;8499;8567:3;8556:9;8552:19;8543:6;8499:73;:::i;:::-;8582;8650:3;8639:9;8635:19;8626:6;8582:73;:::i;:::-;7673:989;;;;;;;;;;;:::o;8668:116::-;8738:21;8753:5;8738:21;:::i;:::-;8731:5;8728:32;8718:60;;8774:1;8771;8764:12;8718:60;8668:116;:::o;8790:133::-;8833:5;8871:6;8858:20;8849:29;;8887:30;8911:5;8887:30;:::i;:::-;8790:133;;;;:::o;8929:468::-;8994:6;9002;9051:2;9039:9;9030:7;9026:23;9022:32;9019:119;;;9057:79;;:::i;:::-;9019:119;9177:1;9202:53;9247:7;9238:6;9227:9;9223:22;9202:53;:::i;:::-;9192:63;;9148:117;9304:2;9330:50;9372:7;9363:6;9352:9;9348:22;9330:50;:::i;:::-;9320:60;;9275:115;8929:468;;;;;:::o;9403:474::-;9471:6;9479;9528:2;9516:9;9507:7;9503:23;9499:32;9496:119;;;9534:79;;:::i;:::-;9496:119;9654:1;9679:53;9724:7;9715:6;9704:9;9700:22;9679:53;:::i;:::-;9669:63;;9625:117;9781:2;9807:53;9852:7;9843:6;9832:9;9828:22;9807:53;:::i;:::-;9797:63;;9752:118;9403:474;;;;;:::o;9883:180::-;9931:77;9928:1;9921:88;10028:4;10025:1;10018:15;10052:4;10049:1;10042:15;10069:320;10113:6;10150:1;10144:4;10140:12;10130:22;;10197:1;10191:4;10187:12;10218:18;10208:81;;10274:4;10266:6;10262:17;10252:27;;10208:81;10336:2;10328:6;10325:14;10305:18;10302:38;10299:84;;10355:18;;:::i;:::-;10299:84;10120:269;10069:320;;;:::o;10395:182::-;10535:34;10531:1;10523:6;10519:14;10512:58;10395:182;:::o;10583:366::-;10725:3;10746:67;10810:2;10805:3;10746:67;:::i;:::-;10739:74;;10822:93;10911:3;10822:93;:::i;:::-;10940:2;10935:3;10931:12;10924:19;;10583:366;;;:::o;10955:419::-;11121:4;11159:2;11148:9;11144:18;11136:26;;11208:9;11202:4;11198:20;11194:1;11183:9;11179:17;11172:47;11236:131;11362:4;11236:131;:::i;:::-;11228:139;;10955:419;;;:::o;11380:143::-;11437:5;11468:6;11462:13;11453:22;;11484:33;11511:5;11484:33;:::i;:::-;11380:143;;;;:::o;11529:351::-;11599:6;11648:2;11636:9;11627:7;11623:23;11619:32;11616:119;;;11654:79;;:::i;:::-;11616:119;11774:1;11799:64;11855:7;11846:6;11835:9;11831:22;11799:64;:::i;:::-;11789:74;;11745:128;11529:351;;;;:::o;11886:104::-;11931:7;11960:24;11978:5;11960:24;:::i;:::-;11949:35;;11886:104;;;:::o;11996:142::-;12099:32;12125:5;12099:32;:::i;:::-;12094:3;12087:45;11996:142;;:::o;12144:352::-;12275:4;12313:2;12302:9;12298:18;12290:26;;12326:87;12410:1;12399:9;12395:17;12386:6;12326:87;:::i;:::-;12423:66;12485:2;12474:9;12470:18;12461:6;12423:66;:::i;:::-;12144:352;;;;;:::o;12502:137::-;12556:5;12587:6;12581:13;12572:22;;12603:30;12627:5;12603:30;:::i;:::-;12502:137;;;;:::o;12645:345::-;12712:6;12761:2;12749:9;12740:7;12736:23;12732:32;12729:119;;;12767:79;;:::i;:::-;12729:119;12887:1;12912:61;12965:7;12956:6;12945:9;12941:22;12912:61;:::i;:::-;12902:71;;12858:125;12645:345;;;;:::o;12996:663::-;13084:6;13092;13100;13149:2;13137:9;13128:7;13124:23;13120:32;13117:119;;;13155:79;;:::i;:::-;13117:119;13275:1;13300:64;13356:7;13347:6;13336:9;13332:22;13300:64;:::i;:::-;13290:74;;13246:128;13413:2;13439:64;13495:7;13486:6;13475:9;13471:22;13439:64;:::i;:::-;13429:74;;13384:129;13552:2;13578:64;13634:7;13625:6;13614:9;13610:22;13578:64;:::i;:::-;13568:74;;13523:129;12996:663;;;;;:::o;13665:553::-;13842:4;13880:3;13869:9;13865:19;13857:27;;13894:71;13962:1;13951:9;13947:17;13938:6;13894:71;:::i;:::-;13975:72;14043:2;14032:9;14028:18;14019:6;13975:72;:::i;:::-;14057;14125:2;14114:9;14110:18;14101:6;14057:72;:::i;:::-;14139;14207:2;14196:9;14192:18;14183:6;14139:72;:::i;:::-;13665:553;;;;;;;:::o;14224:143::-;14281:5;14312:6;14306:13;14297:22;;14328:33;14355:5;14328:33;:::i;:::-;14224:143;;;;:::o;14373:120::-;14445:23;14462:5;14445:23;:::i;:::-;14438:5;14435:34;14425:62;;14483:1;14480;14473:12;14425:62;14373:120;:::o;14499:141::-;14555:5;14586:6;14580:13;14571:22;;14602:32;14628:5;14602:32;:::i;:::-;14499:141;;;;:::o;14646:1444::-;14777:6;14785;14793;14801;14809;14817;14825;14833;14882:3;14870:9;14861:7;14857:23;14853:33;14850:120;;;14889:79;;:::i;:::-;14850:120;15009:1;15034:64;15090:7;15081:6;15070:9;15066:22;15034:64;:::i;:::-;15024:74;;14980:128;15147:2;15173:63;15228:7;15219:6;15208:9;15204:22;15173:63;:::i;:::-;15163:73;;15118:128;15285:2;15311:63;15366:7;15357:6;15346:9;15342:22;15311:63;:::i;:::-;15301:73;;15256:128;15423:2;15449:64;15505:7;15496:6;15485:9;15481:22;15449:64;:::i;:::-;15439:74;;15394:129;15562:3;15589:64;15645:7;15636:6;15625:9;15621:22;15589:64;:::i;:::-;15579:74;;15533:130;15702:3;15729:64;15785:7;15776:6;15765:9;15761:22;15729:64;:::i;:::-;15719:74;;15673:130;15842:3;15869:64;15925:7;15916:6;15905:9;15901:22;15869:64;:::i;:::-;15859:74;;15813:130;15982:3;16009:64;16065:7;16056:6;16045:9;16041:22;16009:64;:::i;:::-;15999:74;;15953:130;14646:1444;;;;;;;;;;;:::o;16096:180::-;16144:77;16141:1;16134:88;16241:4;16238:1;16231:15;16265:4;16262:1;16255:15;16282:180;16330:77;16327:1;16320:88;16427:4;16424:1;16417:15;16451:4;16448:1;16441:15;16468:185;16508:1;16525:20;16543:1;16525:20;:::i;:::-;16520:25;;16559:20;16577:1;16559:20;:::i;:::-;16554:25;;16598:1;16588:35;;16603:18;;:::i;:::-;16588:35;16645:1;16642;16638:9;16633:14;;16468:185;;;;:::o;16659:249::-;16799:34;16795:1;16787:6;16783:14;16776:58;16868:32;16863:2;16855:6;16851:15;16844:57;16659:249;:::o;16914:366::-;17056:3;17077:67;17141:2;17136:3;17077:67;:::i;:::-;17070:74;;17153:93;17242:3;17153:93;:::i;:::-;17271:2;17266:3;17262:12;17255:19;;16914:366;;;:::o;17286:419::-;17452:4;17490:2;17479:9;17475:18;17467:26;;17539:9;17533:4;17529:20;17525:1;17514:9;17510:17;17503:47;17567:131;17693:4;17567:131;:::i;:::-;17559:139;;17286:419;;;:::o;17711:223::-;17851:34;17847:1;17839:6;17835:14;17828:58;17920:6;17915:2;17907:6;17903:15;17896:31;17711:223;:::o;17940:366::-;18082:3;18103:67;18167:2;18162:3;18103:67;:::i;:::-;18096:74;;18179:93;18268:3;18179:93;:::i;:::-;18297:2;18292:3;18288:12;18281:19;;17940:366;;;:::o;18312:419::-;18478:4;18516:2;18505:9;18501:18;18493:26;;18565:9;18559:4;18555:20;18551:1;18540:9;18536:17;18529:47;18593:131;18719:4;18593:131;:::i;:::-;18585:139;;18312:419;;;:::o;18737:238::-;18877:34;18873:1;18865:6;18861:14;18854:58;18946:21;18941:2;18933:6;18929:15;18922:46;18737:238;:::o;18981:366::-;19123:3;19144:67;19208:2;19203:3;19144:67;:::i;:::-;19137:74;;19220:93;19309:3;19220:93;:::i;:::-;19338:2;19333:3;19329:12;19322:19;;18981:366;;;:::o;19353:419::-;19519:4;19557:2;19546:9;19542:18;19534:26;;19606:9;19600:4;19596:20;19592:1;19581:9;19577:17;19570:47;19634:131;19760:4;19634:131;:::i;:::-;19626:139;;19353:419;;;:::o;19778:225::-;19918:34;19914:1;19906:6;19902:14;19895:58;19987:8;19982:2;19974:6;19970:15;19963:33;19778:225;:::o;20009:366::-;20151:3;20172:67;20236:2;20231:3;20172:67;:::i;:::-;20165:74;;20248:93;20337:3;20248:93;:::i;:::-;20366:2;20361:3;20357:12;20350:19;;20009:366;;;:::o;20381:419::-;20547:4;20585:2;20574:9;20570:18;20562:26;;20634:9;20628:4;20624:20;20620:1;20609:9;20605:17;20598:47;20662:131;20788:4;20662:131;:::i;:::-;20654:139;;20381:419;;;:::o;20806:182::-;20946:34;20942:1;20934:6;20930:14;20923:58;20806:182;:::o;20994:366::-;21136:3;21157:67;21221:2;21216:3;21157:67;:::i;:::-;21150:74;;21233:93;21322:3;21233:93;:::i;:::-;21351:2;21346:3;21342:12;21335:19;;20994:366;;;:::o;21366:419::-;21532:4;21570:2;21559:9;21555:18;21547:26;;21619:9;21613:4;21609:20;21605:1;21594:9;21590:17;21583:47;21647:131;21773:4;21647:131;:::i;:::-;21639:139;;21366:419;;;:::o;21791:332::-;21912:4;21950:2;21939:9;21935:18;21927:26;;21963:71;22031:1;22020:9;22016:17;22007:6;21963:71;:::i;:::-;22044:72;22112:2;22101:9;22097:18;22088:6;22044:72;:::i;:::-;21791:332;;;;;:::o;22129:223::-;22269:34;22265:1;22257:6;22253:14;22246:58;22338:6;22333:2;22325:6;22321:15;22314:31;22129:223;:::o;22358:366::-;22500:3;22521:67;22585:2;22580:3;22521:67;:::i;:::-;22514:74;;22597:93;22686:3;22597:93;:::i;:::-;22715:2;22710:3;22706:12;22699:19;;22358:366;;;:::o;22730:419::-;22896:4;22934:2;22923:9;22919:18;22911:26;;22983:9;22977:4;22973:20;22969:1;22958:9;22954:17;22947:47;23011:131;23137:4;23011:131;:::i;:::-;23003:139;;22730:419;;;:::o;23155:221::-;23295:34;23291:1;23283:6;23279:14;23272:58;23364:4;23359:2;23351:6;23347:15;23340:29;23155:221;:::o;23382:366::-;23524:3;23545:67;23609:2;23604:3;23545:67;:::i;:::-;23538:74;;23621:93;23710:3;23621:93;:::i;:::-;23739:2;23734:3;23730:12;23723:19;;23382:366;;;:::o;23754:419::-;23920:4;23958:2;23947:9;23943:18;23935:26;;24007:9;24001:4;23997:20;23993:1;23982:9;23978:17;23971:47;24035:131;24161:4;24035:131;:::i;:::-;24027:139;;23754:419;;;:::o;24179:224::-;24319:34;24315:1;24307:6;24303:14;24296:58;24388:7;24383:2;24375:6;24371:15;24364:32;24179:224;:::o;24409:366::-;24551:3;24572:67;24636:2;24631:3;24572:67;:::i;:::-;24565:74;;24648:93;24737:3;24648:93;:::i;:::-;24766:2;24761:3;24757:12;24750:19;;24409:366;;;:::o;24781:419::-;24947:4;24985:2;24974:9;24970:18;24962:26;;25034:9;25028:4;25024:20;25020:1;25009:9;25005:17;24998:47;25062:131;25188:4;25062:131;:::i;:::-;25054:139;;24781:419;;;:::o;25206:222::-;25346:34;25342:1;25334:6;25330:14;25323:58;25415:5;25410:2;25402:6;25398:15;25391:30;25206:222;:::o;25434:366::-;25576:3;25597:67;25661:2;25656:3;25597:67;:::i;:::-;25590:74;;25673:93;25762:3;25673:93;:::i;:::-;25791:2;25786:3;25782:12;25775:19;;25434:366;;;:::o;25806:419::-;25972:4;26010:2;25999:9;25995:18;25987:26;;26059:9;26053:4;26049:20;26045:1;26034:9;26030:17;26023:47;26087:131;26213:4;26087:131;:::i;:::-;26079:139;;25806:419;;;:::o;26231:191::-;26271:3;26290:20;26308:1;26290:20;:::i;:::-;26285:25;;26324:20;26342:1;26324:20;:::i;:::-;26319:25;;26367:1;26364;26360:9;26353:16;;26388:3;26385:1;26382:10;26379:36;;;26395:18;;:::i;:::-;26379:36;26231:191;;;;:::o;26428:410::-;26468:7;26491:20;26509:1;26491:20;:::i;:::-;26486:25;;26525:20;26543:1;26525:20;:::i;:::-;26520:25;;26580:1;26577;26573:9;26602:30;26620:11;26602:30;:::i;:::-;26591:41;;26781:1;26772:7;26768:15;26765:1;26762:22;26742:1;26735:9;26715:83;26692:139;;26811:18;;:::i;:::-;26692:139;26476:362;26428:410;;;;:::o;26844:194::-;26884:4;26904:20;26922:1;26904:20;:::i;:::-;26899:25;;26938:20;26956:1;26938:20;:::i;:::-;26933:25;;26982:1;26979;26975:9;26967:17;;27006:1;27000:4;26997:11;26994:37;;;27011:18;;:::i;:::-;26994:37;26844:194;;;;:::o;27044:180::-;27092:77;27089:1;27082:88;27189:4;27186:1;27179:15;27213:4;27210:1;27203:15;27230:180;27278:77;27275:1;27268:88;27375:4;27372:1;27365:15;27399:4;27396:1;27389:15;27416:351;27486:6;27535:2;27523:9;27514:7;27510:23;27506:32;27503:119;;;27541:79;;:::i;:::-;27503:119;27661:1;27686:64;27742:7;27733:6;27722:9;27718:22;27686:64;:::i;:::-;27676:74;;27632:128;27416:351;;;;:::o;27773:85::-;27818:7;27847:5;27836:16;;27773:85;;;:::o;27864:158::-;27922:9;27955:61;27973:42;27982:32;28008:5;27982:32;:::i;:::-;27973:42;:::i;:::-;27955:61;:::i;:::-;27942:74;;27864:158;;;:::o;28028:147::-;28123:45;28162:5;28123:45;:::i;:::-;28118:3;28111:58;28028:147;;:::o;28181:114::-;28248:6;28282:5;28276:12;28266:22;;28181:114;;;:::o;28301:184::-;28400:11;28434:6;28429:3;28422:19;28474:4;28469:3;28465:14;28450:29;;28301:184;;;;:::o;28491:132::-;28558:4;28581:3;28573:11;;28611:4;28606:3;28602:14;28594:22;;28491:132;;;:::o;28629:108::-;28706:24;28724:5;28706:24;:::i;:::-;28701:3;28694:37;28629:108;;:::o;28743:179::-;28812:10;28833:46;28875:3;28867:6;28833:46;:::i;:::-;28911:4;28906:3;28902:14;28888:28;;28743:179;;;;:::o;28928:113::-;28998:4;29030;29025:3;29021:14;29013:22;;28928:113;;;:::o;29077:732::-;29196:3;29225:54;29273:5;29225:54;:::i;:::-;29295:86;29374:6;29369:3;29295:86;:::i;:::-;29288:93;;29405:56;29455:5;29405:56;:::i;:::-;29484:7;29515:1;29500:284;29525:6;29522:1;29519:13;29500:284;;;29601:6;29595:13;29628:63;29687:3;29672:13;29628:63;:::i;:::-;29621:70;;29714:60;29767:6;29714:60;:::i;:::-;29704:70;;29560:224;29547:1;29544;29540:9;29535:14;;29500:284;;;29504:14;29800:3;29793:10;;29201:608;;;29077:732;;;;:::o;29815:831::-;30078:4;30116:3;30105:9;30101:19;30093:27;;30130:71;30198:1;30187:9;30183:17;30174:6;30130:71;:::i;:::-;30211:80;30287:2;30276:9;30272:18;30263:6;30211:80;:::i;:::-;30338:9;30332:4;30328:20;30323:2;30312:9;30308:18;30301:48;30366:108;30469:4;30460:6;30366:108;:::i;:::-;30358:116;;30484:72;30552:2;30541:9;30537:18;30528:6;30484:72;:::i;:::-;30566:73;30634:3;30623:9;30619:19;30610:6;30566:73;:::i;:::-;29815:831;;;;;;;;:::o;30652:364::-;30789:4;30827:2;30816:9;30812:18;30804:26;;30840:87;30924:1;30913:9;30909:17;30900:6;30840:87;:::i;:::-;30937:72;31005:2;30994:9;30990:18;30981:6;30937:72;:::i;:::-;30652:364;;;;;:::o;31022:177::-;31162:29;31158:1;31150:6;31146:14;31139:53;31022:177;:::o;31205:366::-;31347:3;31368:67;31432:2;31427:3;31368:67;:::i;:::-;31361:74;;31444:93;31533:3;31444:93;:::i;:::-;31562:2;31557:3;31553:12;31546:19;;31205:366;;;:::o;31577:419::-;31743:4;31781:2;31770:9;31766:18;31758:26;;31830:9;31824:4;31820:20;31816:1;31805:9;31801:17;31794:47;31858:131;31984:4;31858:131;:::i;:::-;31850:139;;31577:419;;;:::o;32002:179::-;32142:31;32138:1;32130:6;32126:14;32119:55;32002:179;:::o;32187:366::-;32329:3;32350:67;32414:2;32409:3;32350:67;:::i;:::-;32343:74;;32426:93;32515:3;32426:93;:::i;:::-;32544:2;32539:3;32535:12;32528:19;;32187:366;;;:::o;32559:419::-;32725:4;32763:2;32752:9;32748:18;32740:26;;32812:9;32806:4;32802:20;32798:1;32787:9;32783:17;32776:47;32840:131;32966:4;32840:131;:::i;:::-;32832:139;;32559:419;;;:::o;32984:147::-;33085:11;33122:3;33107:18;;32984:147;;;;:::o;33137:114::-;;:::o;33257:398::-;33416:3;33437:83;33518:1;33513:3;33437:83;:::i;:::-;33430:90;;33529:93;33618:3;33529:93;:::i;:::-;33647:1;33642:3;33638:11;33631:18;;33257:398;;;:::o;33661:379::-;33845:3;33867:147;34010:3;33867:147;:::i;:::-;33860:154;;34031:3;34024:10;;33661:379;;;:::o;34046:245::-;34186:34;34182:1;34174:6;34170:14;34163:58;34255:28;34250:2;34242:6;34238:15;34231:53;34046:245;:::o;34297:366::-;34439:3;34460:67;34524:2;34519:3;34460:67;:::i;:::-;34453:74;;34536:93;34625:3;34536:93;:::i;:::-;34654:2;34649:3;34645:12;34638:19;;34297:366;;;:::o;34669:419::-;34835:4;34873:2;34862:9;34858:18;34850:26;;34922:9;34916:4;34912:20;34908:1;34897:9;34893:17;34886:47;34950:131;35076:4;34950:131;:::i;:::-;34942:139;;34669:419;;;:::o;35094:720::-;35329:4;35367:3;35356:9;35352:19;35344:27;;35381:79;35457:1;35446:9;35442:17;35433:6;35381:79;:::i;:::-;35507:9;35501:4;35497:20;35492:2;35481:9;35477:18;35470:48;35535:108;35638:4;35629:6;35535:108;:::i;:::-;35527:116;;35653:72;35721:2;35710:9;35706:18;35697:6;35653:72;:::i;:::-;35735;35803:2;35792:9;35788:18;35779:6;35735:72;:::i;:::-;35094:720;;;;;;;:::o
Swarm Source
ipfs://6b14ee65d247b7bf43da755093e07776f5f1389acefeaf5c235054d73125a4d2
🤖 Code Reader

Generate instant answers for your smart contract questions using Al Models. Read more.

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.