ETH Price: $2,177.57 (+5.39%)

Token

Baby Psyop (BPSYOP)
 

Overview

Max Total Supply

100,000,000,000 BPSYOP

Holders

150

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
513,460,051.038727097613444399 BPSYOP

Value
$0.00
0x6b225121b98e12538da4a34a841d518136ac6bf7
Loading...
Loading
Loading...
Loading
Loading...
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
BABYPSYOP

Compiler Version
v0.6.2+commit.bacdbe57

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
*Submitted for verification at Etherscan.io on 2023-07-17
*/
// File: contracts/IUniswapV2Router.sol
pragma solidity ^0.6.2;
interface IUniswapV2Router01 {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidity(
address tokenA,
address tokenB,
uint amountADesired,
uint amountBDesired,
uint amountAMin,
uint amountBMin,
address to,
uint deadline
) external returns (uint amountA, uint amountB, uint liquidity);
function addLiquidityETH(
address token,
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address[]","name":"accounts","type":"address[]"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeMultipleAccountsFromFees","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":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SendDividends","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","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":[],"name":"PSYOP","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PSYOPRewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWalletAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"blacklistAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"dividendTokenBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dividendTracker","outputs":[{"internalType":"contract BPSYOPDividendTracker","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":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","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":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"processDividendTracker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setMarketingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"wallet","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setPSYOPRewardsFee","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":[],"name":"totalFees","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":"claimWait","type":"uint256"}],"name":"updateClaimWait","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateDividendTracker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newValue","type":"uint256"}],"name":"updateGasForProcessing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateUniswapV2Router","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"}]

608060405261dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733007083eaa95497cd6b2b809fb97b6a30bdf53d3600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506a01a784379d99db42000000600b556001600d556001600e55620000d3600e54600d5462000a4060201b62004a961790919060201c565b600f557349b8bebfb16427ee7189e889685f8f7e530f33a3601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620493e06011553480156200013f57600080fd5b506040518060400160405280600a81526020017f42616279205073796f70000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f425053594f5000000000000000000000000000000000000000000000000000008152508160039080519060200190620001c492919062001118565b508060049080519060200190620001dd92919062001118565b5050506000620001f262000ac960201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506040516200029f906200119f565b604051809103906000f080158015620002bc573d6000803e3d6000fd5b50600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200035f57600080fd5b505afa15801562000374573d6000803e3d6000fd5b505050506040513d60208110156200038b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ff57600080fd5b505afa15801562000414573d6000803e3d6000fd5b505050506040513d60208110156200042b57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620004d257600080fd5b505af1158015620004e7573d6000803e3d6000fd5b505050506040513d6020811015620004fe57600080fd5b8101908080519060200190929190505050905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005a681600162000ad160201b60201c565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200066a57600080fd5b505af11580156200067f573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200072557600080fd5b505af11580156200073a573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db06200078c62000ce060201b60201c565b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620007ef57600080fd5b505af115801562000804573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015620008cc57600080fd5b505af1158015620008e1573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1580156200098757600080fd5b505af11580156200099c573d6000803e3d6000fd5b50505050620009c2620009b462000ce060201b60201c565b600162000d0a60201b60201c565b620009f7601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600162000d0a60201b60201c565b62000a0a30600162000d0a60201b60201c565b62000a3862000a1e62000ce060201b60201c565b6c01431e0fae6d7217caa000000062000f3560201b60201c565b5050620011d5565b60008082840190508381101562000abf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b801515601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141562000b7c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260408152602001806200a9b76040913960400191505060405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550801562000c9657600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801562000c7c57600080fd5b505af115801562000c91573d6000803e3d6000fd5b505050505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000d1a62000ac960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000ddd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141562000e88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806200a9856032913960400191505060405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051808215151515815260200191505060405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000fd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b62000fed600083836200111360201b60201c565b620010098160025462000a4060201b62004a961790919060201c565b60028190555062001067816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000a4060201b62004a961790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200115b57805160ff19168380011785556200118c565b828001600101855582156200118c579182015b828111156200118b5782518255916020019190600101906200116e565b5b5090506200119b9190620011ad565b5090565b6139b58062006fd083390190565b620011d291905b80821115620011ce576000816000905550600101620011b4565b5090565b90565b615deb80620011e56000396000f3fe6080604052600436106102cc5760003560e01c8063700bb19111610175578063a457c2d7116100dc578063c492f04611610095578063e7841ec01161006f578063e7841ec014611263578063e98030c71461128e578063f27fd254146112c9578063f2fde38b14611375576102d3565b8063c492f046146110e2578063dd62ed3e146111b3578063e2f4560514611238576102d3565b8063a457c2d714610e0f578063a8b9d24014610e82578063a9059cbb14610ee7578063ad56c13c14610f5a578063b62496f51461101c578063c024666814611085576102d3565b806388bdd9be1161012e57806388bdd9be14610c245780638da5cb5b14610c7557806395d89b4114610ccc5780639a7a23d614610d5c5780639c1b8af514610db9578063a26579ad14610de4576102d3565b8063700bb19114610ab057806370a0823114610aeb578063715018a614610b505780638390480214610b6757806385141a7714610b92578063871c128d14610be9576102d3565b806339509351116102345780635bb7d2a9116101ed57806364b0f653116101c757806364b0f653146109a457806365b8dbc0146109cf5780636843cd8414610a205780636b67c4df14610a85576102d3565b80635bb7d2a9146108dd5780635d098b3814610918578063625e764c14610969576102d3565b806339509351146106df5780634144d9e414610752578063455a4396146107a957806349bd5a5e146108065780634e71d92d1461085d5780634fbee19314610874576102d3565b80631cdd3be3116102865780631cdd3be3146104df57806323b872dd146105485780632c1f5216146105db57806330bb4cff14610632578063313ce5671461065d57806331e79db01461068e576102d3565b806228e22d146102d857806306fdde031461032f578063095ea7b3146103bf57806313114a9d146104325780631694505e1461045d57806318160ddd146104b4576102d3565b366102d357005b600080fd5b3480156102e457600080fd5b506102ed6113c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033b57600080fd5b506103446113ec565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610384578082015181840152602081019050610369565b50505050905090810190601f1680156103b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103cb57600080fd5b50610418600480360360408110156103e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061148e565b604051808215151515815260200191505060405180910390f35b34801561043e57600080fd5b506104476114ac565b6040518082815260200191505060405180910390f35b34801561046957600080fd5b506104726114b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c057600080fd5b506104c96114d8565b6040518082815260200191505060405180910390f35b3480156104eb57600080fd5b5061052e6004803603602081101561050257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e2565b604051808215151515815260200191505060405180910390f35b34801561055457600080fd5b506105c16004803603606081101561056b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611502565b604051808215151515815260200191505060405180910390f35b3480156105e757600080fd5b506105f06115db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561063e57600080fd5b50610647611601565b6040518082815260200191505060405180910390f35b34801561066957600080fd5b506106726116ab565b604051808260ff1660ff16815260200191505060405180910390f35b34801561069a57600080fd5b506106dd600480360360208110156106b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b4565b005b3480156106eb57600080fd5b506107386004803603604081101561070257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061183a565b604051808215151515815260200191505060405180910390f35b34801561075e57600080fd5b506107676118ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107b557600080fd5b50610804600480360360408110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611913565b005b34801561081257600080fd5b5061081b611a38565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086957600080fd5b50610872611a5e565b005b34801561088057600080fd5b506108c36004803603602081101561089757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b4a565b604051808215151515815260200191505060405180910390f35b3480156108e957600080fd5b506109166004803603602081101561090057600080fd5b8101908080359060200190929190505050611ba0565b005b34801561092457600080fd5b506109676004803603602081101561093b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c91565b005b34801561097557600080fd5b506109a26004803603602081101561098c57600080fd5b8101908080359060200190929190505050611d9f565b005b3480156109b057600080fd5b506109b9611e90565b6040518082815260200191505060405180910390f35b3480156109db57600080fd5b50610a1e600480360360208110156109f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f3a565b005b348015610a2c57600080fd5b50610a6f60048036036020811015610a4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123e3565b6040518082815260200191505060405180910390f35b348015610a9157600080fd5b50610a9a6124c6565b6040518082815260200191505060405180910390f35b348015610abc57600080fd5b50610ae960048036036020811015610ad357600080fd5b81019080803590602001909291905050506124cc565b005b348015610af757600080fd5b50610b3a60048036036020811015610b0e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061260b565b6040518082815260200191505060405180910390f35b348015610b5c57600080fd5b50610b65612653565b005b348015610b7357600080fd5b50610b7c6127de565b6040518082815260200191505060405180910390f35b348015610b9e57600080fd5b50610ba76127e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bf557600080fd5b50610c2260048036036020811015610c0c57600080fd5b810190808035906020019092919050505061280a565b005b348015610c3057600080fd5b50610c7360048036036020811015610c4757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d4565b005b348015610c8157600080fd5b50610c8a612f94565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cd857600080fd5b50610ce1612fbe565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d21578082015181840152602081019050610d06565b50505050905090810190601f168015610d4e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d6857600080fd5b50610db760048036036040811015610d7f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613060565b005b348015610dc557600080fd5b50610dce6131df565b6040518082815260200191505060405180910390f35b348015610df057600080fd5b50610df96131e5565b6040518082815260200191505060405180910390f35b348015610e1b57600080fd5b50610e6860048036036040811015610e3257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061328f565b604051808215151515815260200191505060405180910390f35b348015610e8e57600080fd5b50610ed160048036036020811015610ea557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061335c565b6040518082815260200191505060405180910390f35b348015610ef357600080fd5b50610f4060048036036040811015610f0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061343f565b604051808215151515815260200191505060405180910390f35b348015610f6657600080fd5b50610fa960048036036020811015610f7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061345d565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561102857600080fd5b5061106b6004803603602081101561103f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506135a6565b604051808215151515815260200191505060405180910390f35b34801561109157600080fd5b506110e0600480360360408110156110a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506135c6565b005b3480156110ee57600080fd5b506111b16004803603604081101561110557600080fd5b810190808035906020019064010000000081111561112257600080fd5b82018360208201111561113457600080fd5b8035906020019184602083028401116401000000008311171561115657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035151590602001909291905050506137e6565b005b3480156111bf57600080fd5b50611222600480360360408110156111d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506139bf565b6040518082815260200191505060405180910390f35b34801561124457600080fd5b5061124d613a46565b6040518082815260200191505060405180910390f35b34801561126f57600080fd5b50611278613a4c565b6040518082815260200191505060405180910390f35b34801561129a57600080fd5b506112c7600480360360208110156112b157600080fd5b8101908080359060200190929190505050613af6565b005b3480156112d557600080fd5b50611302600480360360208110156112ec57600080fd5b8101908080359060200190929190505050613c50565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561138157600080fd5b506113c46004803603602081101561139857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d6d565b005b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114845780601f1061145957610100808354040283529160200191611484565b820191906000526020600020905b81548152906001019060200180831161146757829003601f168201915b5050505050905090565b60006114a261149b613f7d565b8484613f85565b6001905092915050565b600f5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b600061150f84848461417c565b6115d08461151b613f7d565b6115cb85604051806060016040528060288152602001615c5060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611581613f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149d69092919063ffffffff16565b613f85565b600190509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385a6b3ae6040518163ffffffff1660e01b815260040160206040518083038186803b15801561166b57600080fd5b505afa15801561167f573d6000803e3d6000fd5b505050506040513d602081101561169557600080fd5b8101908080519060200190929190505050905090565b60006012905090565b6116bc613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b5050505050565b60006118e3611847613f7d565b846118de8560016000611858613f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a9690919063ffffffff16565b613f85565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61191b613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc4c4b373360006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050602060405180830381600087803b158015611b0c57600080fd5b505af1158015611b20573d6000803e3d6000fd5b505050506040513d6020811015611b3657600080fd5b810190808051906020019092919050505050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611ba8613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d81905550611c88600e54600d54614a9690919063ffffffff16565b600f8190555050565b611c99613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611da7613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e81905550611e87600e54600d54614a9690919063ffffffff16565b600f8190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bbedde6040518163ffffffff1660e01b815260040160206040518083038186803b158015611efa57600080fd5b505afa158015611f0e573d6000803e3d6000fd5b505050506040513d6020811015611f2457600080fd5b8101908080519060200190929190505050905090565b611f42613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615d8b602b913960400191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e60405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121d257600080fd5b505afa1580156121e6573d6000803e3d6000fd5b505050506040513d60208110156121fc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561229157600080fd5b505afa1580156122a5573d6000803e3d6000fd5b505050506040513d60208110156122bb57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561236157600080fd5b505af1158015612375573d6000803e3d6000fd5b505050506040513d602081101561238b57600080fd5b8101908080519060200190929190505050905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561248457600080fd5b505afa158015612498573d6000803e3d6000fd5b505050506040513d60208110156124ae57600080fd5b81019080805190602001909291905050509050919050565b600e5481565b6000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479856040518263ffffffff1660e01b815260040180828152602001915050606060405180830381600087803b15801561254657600080fd5b505af115801561255a573d6000803e3d6000fd5b505050506040513d606081101561257057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092503273ffffffffffffffffffffffffffffffffffffffff16600015157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98858585896040518085815260200184815260200183815260200182815260200194505050505060405180910390a350505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61265b613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461271d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612812613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b62030d4081101580156128ea57506207a1208111155b61293f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c815260200180615cf6603c913960400191505060405180910390fd5b60115481141561299a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180615d326034913960400191505060405180910390fd5b601154817f40d7e40e79af4e8e5a9b3c57030d8ea93f13d669c06d448c4d631d4ae7d23db760405160405180910390a38060118190555050565b6129dc613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180615c786035913960400191505060405180910390fd5b60008190503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612ba757600080fd5b505afa158015612bbb573d6000803e3d6000fd5b505050506040513d6020811015612bd157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614612c4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604b815260200180615b03604b913960600191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166331e79db0826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612ccd57600080fd5b505af1158015612ce1573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166331e79db0306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612d6457600080fd5b505af1158015612d78573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166331e79db0612da0612f94565b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612e0257600080fd5b505af1158015612e16573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166331e79db0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612ebb57600080fd5b505af1158015612ecf573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f90c7d74461c613da5efa97d90740869367d74ab3aa5837aa4ae9a975f954b7a860405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130565780601f1061302b57610100808354040283529160200191613056565b820191906000526020600020905b81548152906001019060200180831161303957829003601f168201915b5050505050905090565b613068613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461312a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180615b4e6049913960600191505060405180910390fd5b6131db8282614b1e565b5050565b60115481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2789ec6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324f57600080fd5b505afa158015613263573d6000803e3d6000fd5b505050506040513d602081101561327957600080fd5b8101908080519060200190929190505050905090565b600061335261329c613f7d565b8461334d85604051806060016040528060258152602001615d6660259139600160006132c6613f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149d69092919063ffffffff16565b613f85565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b9d240836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156133fd57600080fd5b505afa158015613411573d6000803e3d6000fd5b505050506040513d602081101561342757600080fd5b81019080805190602001909291905050509050919050565b600061345361344c613f7d565b848461417c565b6001905092915050565b600080600080600080600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbcbc0f18a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561350957600080fd5b505afa15801561351d573d6000803e3d6000fd5b505050506040513d61010081101561353457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505097509750975097509750975097509750919395975091939597565b60136020528060005260406000206000915054906101000a900460ff1681565b6135ce613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415613739576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615b976032913960400191505060405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051808215151515815260200191505060405180910390a25050565b6137ee613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146138b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b82518110156139365781601260008584815181106138d057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506138b6565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b358282604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156139a757808201518184015260208101905061398c565b50505050905001935050505060405180910390a15050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7841ec06040518163ffffffff1660e01b815260040160206040518083038186803b158015613ab657600080fd5b505afa158015613aca573d6000803e3d6000fd5b505050506040513d6020811015613ae057600080fd5b8101908080519060200190929190505050905090565b613afe613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613bc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98030c7826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613c3557600080fd5b505af1158015613c49573d6000803e3d6000fd5b5050505050565b600080600080600080600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635183d6fd8a6040518263ffffffff1660e01b8152600401808281526020019150506101006040518083038186803b158015613cd057600080fd5b505afa158015613ce4573d6000803e3d6000fd5b505050506040513d610100811015613cfb57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505097509750975097509750975097509750919395975091939597565b613d75613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613ebd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180615abb6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561400b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615cd26024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614091576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615ae16022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614202576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615cad6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614288576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615a986023913960400191505060405180910390fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561432c5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61439e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f426c61636b6c697374656420616464726573730000000000000000000000000081525060200191505060405180910390fd5b60008114156143b8576143b383836000614d28565b6149d1565b60006143c33061260b565b90506000600b5482101590508080156143e95750600760149054906101000a900460ff16155b801561443f5750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561447e575061444e612f94565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156144bd575061448d612f94565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15614547576001600760146101000a81548160ff0219169083151502179055506000614508600f546144fa600e5486614fe990919063ffffffff16565b61506f90919063ffffffff16565b9050614513816150b9565b600061451e3061260b565b90506145298161539c565b6000600760146101000a81548160ff02191690831515021790555050505b6000600760149054906101000a900460ff16159050601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806145fd5750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561460757600090505b80156146d95760006146376064614629600f5488614fe990919063ffffffff16565b61506f90919063ffffffff16565b9050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156146b7576146b260646146a4600188614fe990919063ffffffff16565b61506f90919063ffffffff16565b810190505b6146ca818661566590919063ffffffff16565b94506146d7873083614d28565b505b6146e4868686614d28565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc8761472c8961260b565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561479557600080fd5b505af19250505080156147a6575060015b6147af576147b0565b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc866147f88861260b565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561486157600080fd5b505af1925050508015614872575060015b61487b5761487c565b5b600760149054906101000a900460ff166149cd5760006011549050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479826040518263ffffffff1660e01b815260040180828152602001915050606060405180830381600087803b15801561490c57600080fd5b505af192505050801561495457506040513d606081101561492c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505060015b61495d576149cb565b3273ffffffffffffffffffffffffffffffffffffffff16600115157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98858585896040518085815260200184815260200183815260200182815260200194505050505060405180910390a35050505b505b5050505b505050565b6000838311158290614a83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614a48578082015181840152602081019050614a2d565b50505050905090810190601f168015614a755780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015614b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b801515601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415614bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180615bc96040913960400191505060405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015614cde57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015614cc557600080fd5b505af1158015614cd9573d6000803e3d6000fd5b505050505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615cad6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615a986023913960400191505060405180910390fd5b614e3f8383836156af565b614eaa81604051806060016040528060268152602001615c09602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149d69092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614f3d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a9690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600080831415614ffc5760009050615069565b600082840290508284828161500d57fe5b0414615064576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615c2f6021913960400191505060405180910390fd5b809150505b92915050565b60006150b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506156b4565b905092915050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561515a57600080fd5b505afa15801561516e573d6000803e3d6000fd5b505050506040513d602081101561518457600080fd5b810190808051906020019092919050505090506151a08261577a565b600061528e82600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561524557600080fd5b505afa158015615259573d6000803e3d6000fd5b505050506040513d602081101561526f57600080fd5b810190808051906020019092919050505061566590919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561535b57600080fd5b505af115801561536f573d6000803e3d6000fd5b505050506040513d602081101561538557600080fd5b810190808051906020019092919050505050505050565b6153a58161577a565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561544657600080fd5b505afa15801561545a573d6000803e3d6000fd5b505050506040513d602081101561547057600080fd5b810190808051906020019092919050505090506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561555057600080fd5b505af1158015615564573d6000803e3d6000fd5b505050506040513d602081101561557a57600080fd5b81019080805190602001909291905050509050801561566057600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344d596b8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561560857600080fd5b505af115801561561c573d6000803e3d6000fd5b505050507f80195cc573b02cc48460cbca6e6e4cc85ddb91959d946e1c3025ea3d87942dc38383604051808381526020018281526020019250505060405180910390a15b505050565b60006156a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506149d6565b905092915050565b505050565b60008083118290615760576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561572557808201518184015260208101905061570a565b50505050905090810190601f1680156157525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161576c57fe5b049050809150509392505050565b606060036040519080825280602002602001820160405280156157ac5781602001602082028038833980820191505090505b50905030816000815181106157bd57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561585f57600080fd5b505afa158015615873573d6000803e3d6000fd5b505050506040513d602081101561588957600080fd5b8101908080519060200190929190505050816001815181106158a757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160028151811061591157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061597830600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613f85565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d7958360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015615a52578082015181840152602081019050615a37565b505050509050019650505050505050600060405180830381600087803b158015615a7b57600080fd5b505af1158015615a8f573d6000803e3d6000fd5b50505050505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373425053594f503a20546865206e6577206469766964656e6420747261636b6572206d757374206265206f776e65642062792074686520425053594f5020746f6b656e20636f6e7472616374425053594f503a2054686520556e697377617020706169722063616e6e6f742062652072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b65725061697273425053594f503a204163636f756e7420697320616c7265616479207468652076616c7565206f6620276578636c7564656427425053594f503a204175746f6d61746564206d61726b6574206d616b6572207061697220697320616c72656164792073657420746f20746861742076616c756545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365425053594f503a20546865206469766964656e6420747261636b657220616c7265616479206861732074686174206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373425053594f503a20676173466f7250726f63657373696e67206d757374206265206265747765656e203230302c30303020616e64203530302c303030425053594f503a2043616e6e6f742075706461746520676173466f7250726f63657373696e6720746f2073616d652076616c756545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f425053594f503a2054686520726f7574657220616c72656164792068617320746861742061646472657373a26469706673582212200e416dd0a4a5855b4e3cac545e5b52e1e44e9fee993bd28b36f48529ae24326564736f6c634300060200336080604052733007083eaa95497cd6b2b809fb97b6a30bdf53d3600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b506040518060400160405280601681526020017f425053594f505f4469766964656e5f547261636b6572000000000000000000008152506040518060400160405280601781526020017f425053594f505f4469766964656e645f547261636b657200000000000000000081525081818160039080519060200190620000ed929190620001e4565b50806004908051906020019062000106929190620001e4565b50505060006200011b620001dc60201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050610e10601281905550692a5a058fc295ed00000060138190555062000293565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022757805160ff191683800117855562000258565b8280016001018555821562000258579182015b82811115620002575782518255916020019190600101906200023a565b5b5090506200026791906200026b565b5090565b6200029091905b808211156200028c57600081600090555060010162000272565b5090565b90565b61371280620002a36000396000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063715018a611610125578063bc4c4b37116100ad578063e7841ec01161007c578063e7841ec014610b6f578063e98030c714610b8d578063f2fde38b14610bbb578063fbcbc0f114610bff578063ffb2c47914610cb45761021b565b8063bc4c4b3714610a23578063be10b61414610a8b578063dd62ed3e14610aa9578063e30443bc14610b215761021b565b806395d89b41116100f457806395d89b4114610824578063a457c2d7146108a7578063a8b9d2401461090d578063a9059cbb14610965578063aafd847a146109cb5761021b565b8063715018a61461075a57806385a6b3ae146107645780638da5cb5b1461078257806391b89fba146107cc5761021b565b8063313ce567116101a85780634e7b827f116101775780634e7b827f146105df5780635183d6fd1461063b5780636a474002146106da5780636f2789ec146106e457806370a08231146107025761021b565b8063313ce567146104e357806331e79db014610507578063395093511461054b57806344d596b8146105b15761021b565b806318160ddd116101ef57806318160ddd14610371578063226cfa3d1461038f57806323b872dd146103e757806327ce01471461046d5780633009a609146104c55761021b565b806228e22d1461022057806306fdde031461026a578063095ea7b3146102ed57806309bbedde14610353575b600080fd5b610228610d04565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610272610d2a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b2578082015181840152602081019050610297565b50505050905090810190601f1680156102df5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103396004803603604081101561030357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dcc565b604051808215151515815260200191505060405180910390f35b61035b610dea565b6040518082815260200191505060405180910390f35b610379610dfa565b6040518082815260200191505060405180910390f35b6103d1600480360360208110156103a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e04565b6040518082815260200191505060405180910390f35b610453600480360360608110156103fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e1c565b604051808215151515815260200191505060405180910390f35b6104af6004803603602081101561048357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef5565b6040518082815260200191505060405180910390f35b6104cd610f96565b6040518082815260200191505060405180910390f35b6104eb610f9c565b604051808260ff1660ff16815260200191505060405180910390f35b6105496004803603602081101561051d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fa5565b005b6105976004803603604081101561056157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061120d565b604051808215151515815260200191505060405180910390f35b6105dd600480360360208110156105c757600080fd5b81019080803590602001909291905050506112c0565b005b610621600480360360208110156105f557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611462565b604051808215151515815260200191505060405180910390f35b6106676004803603602081101561065157600080fd5b8101908080359060200190929190505050611482565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b6106e2611639565b005b6106ec611692565b6040518082815260200191505060405180910390f35b6107446004803603602081101561071857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611698565b6040518082815260200191505060405180910390f35b6107626116e0565b005b61076c61186b565b6040518082815260200191505060405180910390f35b61078a611871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61080e600480360360208110156107e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061189b565b6040518082815260200191505060405180910390f35b61082c6118ad565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561086c578082015181840152602081019050610851565b50505050905090810190601f1680156108995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108f3600480360360408110156108bd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061194f565b604051808215151515815260200191505060405180910390f35b61094f6004803603602081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a1c565b6040518082815260200191505060405180910390f35b6109b16004803603604081101561097b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a7f565b604051808215151515815260200191505060405180910390f35b610a0d600480360360208110156109e157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a9d565b6040518082815260200191505060405180910390f35b610a7160048036036040811015610a3957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611ae6565b604051808215151515815260200191505060405180910390f35b610a93611c73565b6040518082815260200191505060405180910390f35b610b0b60048036036040811015610abf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c79565b6040518082815260200191505060405180910390f35b610b6d60048036036040811015610b3757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611d00565b005b610b77611f9a565b6040518082815260200191505060405180910390f35b610bb960048036036020811015610ba357600080fd5b8101908080359060200190929190505050611fa4565b005b610bfd60048036036020811015610bd157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061216d565b005b610c4160048036036020811015610c1557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061237d565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b610ce060048036036020811015610cca57600080fd5b81019080803590602001909291905050506125a0565b60405180848152602001838152602001828152602001935050505060405180910390f35b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dc25780601f10610d9757610100808354040283529160200191610dc2565b820191906000526020600020905b815481529060010190602001808311610da557829003601f168201915b5050505050905090565b6000610de0610dd961272a565b8484612732565b6001905092915050565b6000600b60000180549050905090565b6000600254905090565b60116020528060005260406000206000915090505481565b6000610e29848484612929565b610eea84610e3561272a565b610ee5856040518060600160405280602881526020016135e060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e9b61272a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129859092919063ffffffff16565b612732565b600190509392505050565b6000700100000000000000000000000000000000610f87610f82600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f74610f6f610f5e88611698565b600754612a4590919063ffffffff16565b612acb565b612ae890919063ffffffff16565b612b2a565b81610f8e57fe5b049050919050565b600f5481565b60006012905090565b610fad61272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461106f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110c657600080fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611129816000612b41565b600b73a9ce25933c49246f3499bcc14e6df9712eae68c0634c60db9c9091836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060006040518083038186803b1580156111af57600080fd5b505af41580156111c3573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff167fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2560405160405180910390a250565b60006112b661121a61272a565b846112b1856001600061122b61272a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bae90919063ffffffff16565b612732565b6001905092915050565b6112c861272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461138a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611394610dfa565b1161139e57600080fd5b600081111561145f576113ef6113b2610dfa565b6113d670010000000000000000000000000000000084612a4590919063ffffffff16565b816113dd57fe5b04600754612bae90919063ffffffff16565b6007819055503373ffffffffffffffffffffffffffffffffffffffff167fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d78454116511826040518082815260200191505060405180910390a261145881600a54612bae90919063ffffffff16565b600a819055505b50565b60106020528060005260406000206000915054906101000a900460ff1681565b600080600080600080600080600b73a9ce25933c49246f3499bcc14e6df9712eae68c063deb3d89690916040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156114e057600080fd5b505af41580156114f4573d6000803e3d6000fd5b505050506040513d602081101561150a57600080fd5b8101908080519060200190929190505050891061157a5760007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8060008060008060008797508696508595508494508393508292508191508090509750975097509750975097509750975061162e565b6000600b73a9ce25933c49246f3499bcc14e6df9712eae68c063d1aa9e7e90918c6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156115d657600080fd5b505af41580156115ea573d6000803e3d6000fd5b505050506040513d602081101561160057600080fd5b8101908080519060200190929190505050905061161c8161237d565b98509850985098509850985098509850505b919395975091939597565b6000611690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260698152602001806135566069913960800191505060405180910390fd5b565b60125481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6116e861272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a5481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006118a682611a1c565b9050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119455780601f1061191a57610100808354040283529160200191611945565b820191906000526020600020905b81548152906001019060200180831161192857829003601f168201915b5050505050905090565b6000611a1261195c61272a565b84611a0d856040518060600160405280602581526020016136b8602591396001600061198661272a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129859092919063ffffffff16565b612732565b6001905092915050565b6000611a78600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6a84610ef5565b612c3690919063ffffffff16565b9050919050565b6000611a93611a8c61272a565b8484612929565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000611af061272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bb2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000611bbd84612c80565b90506000811115611c675742601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508215158473ffffffffffffffffffffffffffffffffffffffff167fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092836040518082815260200191505060405180910390a36001915050611c6d565b60009150505b92915050565b60135481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d0861272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e2157611f96565b6013548110611edf57611e348282612b41565b600b73a9ce25933c49246f3499bcc14e6df9712eae68c063bc2b405c909184846040518463ffffffff1660e01b8152600401808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060006040518083038186803b158015611ec257600080fd5b505af4158015611ed6573d6000803e3d6000fd5b50505050611f89565b611eea826000612b41565b600b73a9ce25933c49246f3499bcc14e6df9712eae68c0634c60db9c9091846040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060006040518083038186803b158015611f7057600080fd5b505af4158015611f84573d6000803e3d6000fd5b505050505b611f94826001611ae6565b505b5050565b6000600f54905090565b611fac61272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b610e1081101580156120835750620151808111155b6120d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604c8152602001806134a0604c913960600191505060405180910390fd5b601254811415612133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e815260200180613656603e913960400191505060405180910390fd5b601254817f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f60405160405180910390a38060128190555050565b61217561272a565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612237576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061350e6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080600080600080889750600b73a9ce25933c49246f3499bcc14e6df9712eae68c06317e142d190918a6040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561241257600080fd5b505af4158015612426573d6000803e3d6000fd5b505050506040513d602081101561243c57600080fd5b810190808051906020019092919050505096507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9550600087126124f257600f548711156124a057612499600f5488612f1c90919063ffffffff16565b95506124f1565b6000600f54600b60000180549050116124ba5760006124d8565b6124d7600f54600b60000180549050612c3690919063ffffffff16565b5b90506124ed8189612ae890919063ffffffff16565b9650505b5b6124fb88611a1c565b945061250688610ef5565b9350601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506000831161255957600061256f565b61256e60125484612bae90919063ffffffff16565b5b915042821161257f576000612593565b6125924283612c3690919063ffffffff16565b5b9050919395975091939597565b600080600080600b60000180549050905060008114156125d257600080600f5482925081915093509350935050612723565b6000600f549050600080905060005a9050600080905060008090505b89841080156125fc57508582105b1561270a578480600101955050600b60000180549050851061261d57600094505b6000600b600001868154811061262f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506126a4601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f5e565b156126c3576126b4816001611ae6565b156126c25781806001019250505b5b828060010193505060005a905080851115612700576126fd6126ee8287612c3690919063ffffffff16565b87612bae90919063ffffffff16565b95505b80945050506125ee565b84600f819055508181600f549850985098505050505050505b9193909250565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156127b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806136946024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561283e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806135346022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000612980576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613608602d913960400191505060405180910390fd5b505050565b6000838311158290612a32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129f75780820151818401526020810190506129dc565b50505050905090810190601f168015612a245780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831415612a585760009050612ac5565b6000828402905082848281612a6957fe5b0414612ac0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806135bf6021913960400191505060405180910390fd5b809150505b92915050565b6000808290506000811215612adf57600080fd5b80915050919050565b600080828401905060008312158015612b015750838112155b80612b175750600083128015612b1657508381125b5b612b2057600080fd5b8091505092915050565b600080821215612b3957600080fd5b819050919050565b6000612b4c83611698565b905080821115612b7d576000612b6b8284612c3690919063ffffffff16565b9050612b778482612f91565b50612ba9565b80821015612ba8576000612b9a8383612c3690919063ffffffff16565b9050612ba68482613050565b505b5b505050565b600080828401905083811015612c2c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612c7883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612985565b905092915050565b600080612c8c83611a1c565b90506000811115612f1157612ce981600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bae90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d826040518082815260200191505060405180910390a26000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612e2557600080fd5b505af1158015612e39573d6000803e3d6000fd5b505050506040513d6020811015612e4f57600080fd5b8101908080519060200190929190505050905080612f0757612eb982600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c3690919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600092505050612f17565b8192505050612f17565b60009150505b919050565b600080828403905060008312158015612f355750838113155b80612f4b5750600083128015612f4a57508381135b5b612f5457600080fd5b8091505092915050565b600042821115612f715760009050612f8c565b601254612f878342612c3690919063ffffffff16565b101590505b919050565b612f9b828261310f565b613009612fbb612fb683600754612a4590919063ffffffff16565b612acb565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f1c90919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b61305a82826132d6565b6130c861307a61307583600754612a4590919063ffffffff16565b612acb565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae890919063ffffffff16565b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6131be6000838361349a565b6131d381600254612bae90919063ffffffff16565b60028190555061322a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bae90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561335c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806136356021913960400191505060405180910390fd5b6133688260008361349a565b6133d3816040518060600160405280602281526020016134ec602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129859092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061342a81600254612c3690919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b50505056fe425053594f505f4469766964656e645f547261636b65723a20636c61696d57616974206d757374206265207570646174656420746f206265747765656e203120616e6420323420686f75727345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373425053594f505f4469766964656e645f547261636b65723a2077697468647261774469766964656e642064697361626c65642e20557365207468652027636c61696d272066756e6374696f6e206f6e20746865206d61696e20425053594f5020636f6e74726163742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365425053594f505f4469766964656e645f547261636b65723a204e6f207472616e736665727320616c6c6f77656445524332303a206275726e2066726f6d20746865207a65726f2061646472657373425053594f505f4469766964656e645f547261636b65723a2043616e6e6f742075706461746520636c61696d5761697420746f2073616d652076616c756545524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208e819da62621dd8c83fe09b3dc7af6a0029a45f737087065bb6cd6f0a7d3b6fd64736f6c63430006020033425053594f503a204163636f756e7420697320616c7265616479207468652076616c7565206f6620276578636c7564656427425053594f503a204175746f6d61746564206d61726b6574206d616b6572207061697220697320616c72656164792073657420746f20746861742076616c7565

Deployed Bytecode

0x6080604052600436106102cc5760003560e01c8063700bb19111610175578063a457c2d7116100dc578063c492f04611610095578063e7841ec01161006f578063e7841ec014611263578063e98030c71461128e578063f27fd254146112c9578063f2fde38b14611375576102d3565b8063c492f046146110e2578063dd62ed3e146111b3578063e2f4560514611238576102d3565b8063a457c2d714610e0f578063a8b9d24014610e82578063a9059cbb14610ee7578063ad56c13c14610f5a578063b62496f51461101c578063c024666814611085576102d3565b806388bdd9be1161012e57806388bdd9be14610c245780638da5cb5b14610c7557806395d89b4114610ccc5780639a7a23d614610d5c5780639c1b8af514610db9578063a26579ad14610de4576102d3565b8063700bb19114610ab057806370a0823114610aeb578063715018a614610b505780638390480214610b6757806385141a7714610b92578063871c128d14610be9576102d3565b806339509351116102345780635bb7d2a9116101ed57806364b0f653116101c757806364b0f653146109a457806365b8dbc0146109cf5780636843cd8414610a205780636b67c4df14610a85576102d3565b80635bb7d2a9146108dd5780635d098b3814610918578063625e764c14610969576102d3565b806339509351146106df5780634144d9e414610752578063455a4396146107a957806349bd5a5e146108065780634e71d92d1461085d5780634fbee19314610874576102d3565b80631cdd3be3116102865780631cdd3be3146104df57806323b872dd146105485780632c1f5216146105db57806330bb4cff14610632578063313ce5671461065d57806331e79db01461068e576102d3565b806228e22d146102d857806306fdde031461032f578063095ea7b3146103bf57806313114a9d146104325780631694505e1461045d57806318160ddd146104b4576102d3565b366102d357005b600080fd5b3480156102e457600080fd5b506102ed6113c6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561033b57600080fd5b506103446113ec565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610384578082015181840152602081019050610369565b50505050905090810190601f1680156103b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103cb57600080fd5b50610418600480360360408110156103e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061148e565b604051808215151515815260200191505060405180910390f35b34801561043e57600080fd5b506104476114ac565b6040518082815260200191505060405180910390f35b34801561046957600080fd5b506104726114b2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104c057600080fd5b506104c96114d8565b6040518082815260200191505060405180910390f35b3480156104eb57600080fd5b5061052e6004803603602081101561050257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114e2565b604051808215151515815260200191505060405180910390f35b34801561055457600080fd5b506105c16004803603606081101561056b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611502565b604051808215151515815260200191505060405180910390f35b3480156105e757600080fd5b506105f06115db565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561063e57600080fd5b50610647611601565b6040518082815260200191505060405180910390f35b34801561066957600080fd5b506106726116ab565b604051808260ff1660ff16815260200191505060405180910390f35b34801561069a57600080fd5b506106dd600480360360208110156106b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b4565b005b3480156106eb57600080fd5b506107386004803603604081101561070257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061183a565b604051808215151515815260200191505060405180910390f35b34801561075e57600080fd5b506107676118ed565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156107b557600080fd5b50610804600480360360408110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611913565b005b34801561081257600080fd5b5061081b611a38565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561086957600080fd5b50610872611a5e565b005b34801561088057600080fd5b506108c36004803603602081101561089757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b4a565b604051808215151515815260200191505060405180910390f35b3480156108e957600080fd5b506109166004803603602081101561090057600080fd5b8101908080359060200190929190505050611ba0565b005b34801561092457600080fd5b506109676004803603602081101561093b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c91565b005b34801561097557600080fd5b506109a26004803603602081101561098c57600080fd5b8101908080359060200190929190505050611d9f565b005b3480156109b057600080fd5b506109b9611e90565b6040518082815260200191505060405180910390f35b3480156109db57600080fd5b50610a1e600480360360208110156109f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f3a565b005b348015610a2c57600080fd5b50610a6f60048036036020811015610a4357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123e3565b6040518082815260200191505060405180910390f35b348015610a9157600080fd5b50610a9a6124c6565b6040518082815260200191505060405180910390f35b348015610abc57600080fd5b50610ae960048036036020811015610ad357600080fd5b81019080803590602001909291905050506124cc565b005b348015610af757600080fd5b50610b3a60048036036020811015610b0e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061260b565b6040518082815260200191505060405180910390f35b348015610b5c57600080fd5b50610b65612653565b005b348015610b7357600080fd5b50610b7c6127de565b6040518082815260200191505060405180910390f35b348015610b9e57600080fd5b50610ba76127e4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610bf557600080fd5b50610c2260048036036020811015610c0c57600080fd5b810190808035906020019092919050505061280a565b005b348015610c3057600080fd5b50610c7360048036036020811015610c4757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129d4565b005b348015610c8157600080fd5b50610c8a612f94565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610cd857600080fd5b50610ce1612fbe565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d21578082015181840152602081019050610d06565b50505050905090810190601f168015610d4e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d6857600080fd5b50610db760048036036040811015610d7f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050613060565b005b348015610dc557600080fd5b50610dce6131df565b6040518082815260200191505060405180910390f35b348015610df057600080fd5b50610df96131e5565b6040518082815260200191505060405180910390f35b348015610e1b57600080fd5b50610e6860048036036040811015610e3257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061328f565b604051808215151515815260200191505060405180910390f35b348015610e8e57600080fd5b50610ed160048036036020811015610ea557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061335c565b6040518082815260200191505060405180910390f35b348015610ef357600080fd5b50610f4060048036036040811015610f0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061343f565b604051808215151515815260200191505060405180910390f35b348015610f6657600080fd5b50610fa960048036036020811015610f7d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061345d565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561102857600080fd5b5061106b6004803603602081101561103f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506135a6565b604051808215151515815260200191505060405180910390f35b34801561109157600080fd5b506110e0600480360360408110156110a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506135c6565b005b3480156110ee57600080fd5b506111b16004803603604081101561110557600080fd5b810190808035906020019064010000000081111561112257600080fd5b82018360208201111561113457600080fd5b8035906020019184602083028401116401000000008311171561115657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035151590602001909291905050506137e6565b005b3480156111bf57600080fd5b50611222600480360360408110156111d657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506139bf565b6040518082815260200191505060405180910390f35b34801561124457600080fd5b5061124d613a46565b6040518082815260200191505060405180910390f35b34801561126f57600080fd5b50611278613a4c565b6040518082815260200191505060405180910390f35b34801561129a57600080fd5b506112c7600480360360208110156112b157600080fd5b8101908080359060200190929190505050613af6565b005b3480156112d557600080fd5b50611302600480360360208110156112ec57600080fd5b8101908080359060200190929190505050613c50565b604051808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b34801561138157600080fd5b506113c46004803603602081101561139857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613d6d565b005b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114845780601f1061145957610100808354040283529160200191611484565b820191906000526020600020905b81548152906001019060200180831161146757829003601f168201915b5050505050905090565b60006114a261149b613f7d565b8484613f85565b6001905092915050565b600f5481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b600061150f84848461417c565b6115d08461151b613f7d565b6115cb85604051806060016040528060288152602001615c5060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611581613f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149d69092919063ffffffff16565b613f85565b600190509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166385a6b3ae6040518163ffffffff1660e01b815260040160206040518083038186803b15801561166b57600080fd5b505afa15801561167f573d6000803e3d6000fd5b505050506040513d602081101561169557600080fd5b8101908080519060200190929190505050905090565b60006012905090565b6116bc613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461177e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561181f57600080fd5b505af1158015611833573d6000803e3d6000fd5b5050505050565b60006118e3611847613f7d565b846118de8560016000611858613f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a9690919063ffffffff16565b613f85565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61191b613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bc4c4b373360006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050602060405180830381600087803b158015611b0c57600080fd5b505af1158015611b20573d6000803e3d6000fd5b505050506040513d6020811015611b3657600080fd5b810190808051906020019092919050505050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611ba8613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c6a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d81905550611c88600e54600d54614a9690919063ffffffff16565b600f8190555050565b611c99613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611da7613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600e81905550611e87600e54600d54614a9690919063ffffffff16565b600f8190555050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166309bbedde6040518163ffffffff1660e01b815260040160206040518083038186803b158015611efa57600080fd5b505afa158015611f0e573d6000803e3d6000fd5b505050506040513d6020811015611f2457600080fd5b8101908080519060200190929190505050905090565b611f42613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615d8b602b913960400191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e60405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156121d257600080fd5b505afa1580156121e6573d6000803e3d6000fd5b505050506040513d60208110156121fc57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561229157600080fd5b505afa1580156122a5573d6000803e3d6000fd5b505050506040513d60208110156122bb57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561236157600080fd5b505af1158015612375573d6000803e3d6000fd5b505050506040513d602081101561238b57600080fd5b8101908080519060200190929190505050905080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561248457600080fd5b505afa158015612498573d6000803e3d6000fd5b505050506040513d60208110156124ae57600080fd5b81019080805190602001909291905050509050919050565b600e5481565b6000806000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479856040518263ffffffff1660e01b815260040180828152602001915050606060405180830381600087803b15801561254657600080fd5b505af115801561255a573d6000803e3d6000fd5b505050506040513d606081101561257057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050509250925092503273ffffffffffffffffffffffffffffffffffffffff16600015157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98858585896040518085815260200184815260200183815260200182815260200194505050505060405180910390a350505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61265b613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461271d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600d5481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612812613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146128d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b62030d4081101580156128ea57506207a1208111155b61293f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603c815260200180615cf6603c913960400191505060405180910390fd5b60115481141561299a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180615d326034913960400191505060405180910390fd5b601154817f40d7e40e79af4e8e5a9b3c57030d8ea93f13d669c06d448c4d631d4ae7d23db760405160405180910390a38060118190555050565b6129dc613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a9e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180615c786035913960400191505060405180910390fd5b60008190503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612ba757600080fd5b505afa158015612bbb573d6000803e3d6000fd5b505050506040513d6020811015612bd157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614612c4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604b815260200180615b03604b913960600191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166331e79db0826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612ccd57600080fd5b505af1158015612ce1573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166331e79db0306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612d6457600080fd5b505af1158015612d78573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166331e79db0612da0612f94565b6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612e0257600080fd5b505af1158015612e16573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff166331e79db0600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015612ebb57600080fd5b505af1158015612ecf573d6000803e3d6000fd5b50505050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f90c7d74461c613da5efa97d90740869367d74ab3aa5837aa4ae9a975f954b7a860405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130565780601f1061302b57610100808354040283529160200191613056565b820191906000526020600020905b81548152906001019060200180831161303957829003601f168201915b5050505050905090565b613068613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461312a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131d1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180615b4e6049913960600191505060405180910390fd5b6131db8282614b1e565b5050565b60115481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f2789ec6040518163ffffffff1660e01b815260040160206040518083038186803b15801561324f57600080fd5b505afa158015613263573d6000803e3d6000fd5b505050506040513d602081101561327957600080fd5b8101908080519060200190929190505050905090565b600061335261329c613f7d565b8461334d85604051806060016040528060258152602001615d6660259139600160006132c6613f7d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149d69092919063ffffffff16565b613f85565b6001905092915050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a8b9d240836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156133fd57600080fd5b505afa158015613411573d6000803e3d6000fd5b505050506040513d602081101561342757600080fd5b81019080805190602001909291905050509050919050565b600061345361344c613f7d565b848461417c565b6001905092915050565b600080600080600080600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fbcbc0f18a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019150506101006040518083038186803b15801561350957600080fd5b505afa15801561351d573d6000803e3d6000fd5b505050506040513d61010081101561353457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505097509750975097509750975097509750919395975091939597565b60136020528060005260406000206000915054906101000a900460ff1681565b6135ce613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613690576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b801515601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415613739576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615b976032913960400191505060405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051808215151515815260200191505060405180910390a25050565b6137ee613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146138b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b82518110156139365781601260008584815181106138d057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506138b6565b507f7fdaf542373fa84f4ee8d662c642f44e4c2276a217d7d29e548b6eb29a233b358282604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156139a757808201518184015260208101905061398c565b50505050905001935050505060405180910390a15050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e7841ec06040518163ffffffff1660e01b815260040160206040518083038186803b158015613ab657600080fd5b505afa158015613aca573d6000803e3d6000fd5b505050506040513d6020811015613ae057600080fd5b8101908080519060200190929190505050905090565b613afe613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613bc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98030c7826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613c3557600080fd5b505af1158015613c49573d6000803e3d6000fd5b5050505050565b600080600080600080600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635183d6fd8a6040518263ffffffff1660e01b8152600401808281526020019150506101006040518083038186803b158015613cd057600080fd5b505afa158015613ce4573d6000803e3d6000fd5b505050506040513d610100811015613cfb57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505097509750975097509750975097509750919395975091939597565b613d75613f7d565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613ebd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180615abb6026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561400b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615cd26024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614091576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615ae16022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614202576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615cad6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614288576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615a986023913960400191505060405180910390fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561432c5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61439e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f426c61636b6c697374656420616464726573730000000000000000000000000081525060200191505060405180910390fd5b60008114156143b8576143b383836000614d28565b6149d1565b60006143c33061260b565b90506000600b5482101590508080156143e95750600760149054906101000a900460ff16155b801561443f5750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561447e575061444e612f94565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156144bd575061448d612f94565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15614547576001600760146101000a81548160ff0219169083151502179055506000614508600f546144fa600e5486614fe990919063ffffffff16565b61506f90919063ffffffff16565b9050614513816150b9565b600061451e3061260b565b90506145298161539c565b6000600760146101000a81548160ff02191690831515021790555050505b6000600760149054906101000a900460ff16159050601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806145fd5750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561460757600090505b80156146d95760006146376064614629600f5488614fe990919063ffffffff16565b61506f90919063ffffffff16565b9050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156146b7576146b260646146a4600188614fe990919063ffffffff16565b61506f90919063ffffffff16565b810190505b6146ca818661566590919063ffffffff16565b94506146d7873083614d28565b505b6146e4868686614d28565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc8761472c8961260b565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561479557600080fd5b505af19250505080156147a6575060015b6147af576147b0565b5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e30443bc866147f88861260b565b6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561486157600080fd5b505af1925050508015614872575060015b61487b5761487c565b5b600760149054906101000a900460ff166149cd5760006011549050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffb2c479826040518263ffffffff1660e01b815260040180828152602001915050606060405180830381600087803b15801561490c57600080fd5b505af192505050801561495457506040513d606081101561492c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505060015b61495d576149cb565b3273ffffffffffffffffffffffffffffffffffffffff16600115157fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a98858585896040518085815260200184815260200183815260200182815260200194505050505060405180910390a35050505b505b5050505b505050565b6000838311158290614a83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614a48578082015181840152602081019050614a2d565b50505050905090810190601f168015614a755780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015614b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b801515601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415614bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180615bc96040913960400191505060405180910390fd5b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015614cde57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166331e79db0836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b158015614cc557600080fd5b505af1158015614cd9573d6000803e3d6000fd5b505050505b8015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615cad6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615a986023913960400191505060405180910390fd5b614e3f8383836156af565b614eaa81604051806060016040528060268152602001615c09602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546149d69092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614f3d816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614a9690919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600080831415614ffc5760009050615069565b600082840290508284828161500d57fe5b0414615064576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615c2f6021913960400191505060405180910390fd5b809150505b92915050565b60006150b183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506156b4565b905092915050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561515a57600080fd5b505afa15801561516e573d6000803e3d6000fd5b505050506040513d602081101561518457600080fd5b810190808051906020019092919050505090506151a08261577a565b600061528e82600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561524557600080fd5b505afa158015615259573d6000803e3d6000fd5b505050506040513d602081101561526f57600080fd5b810190808051906020019092919050505061566590919063ffffffff16565b9050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561535b57600080fd5b505af115801561536f573d6000803e3d6000fd5b505050506040513d602081101561538557600080fd5b810190808051906020019092919050505050505050565b6153a58161577a565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561544657600080fd5b505afa15801561545a573d6000803e3d6000fd5b505050506040513d602081101561547057600080fd5b810190808051906020019092919050505090506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561555057600080fd5b505af1158015615564573d6000803e3d6000fd5b505050506040513d602081101561557a57600080fd5b81019080805190602001909291905050509050801561566057600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166344d596b8836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561560857600080fd5b505af115801561561c573d6000803e3d6000fd5b505050507f80195cc573b02cc48460cbca6e6e4cc85ddb91959d946e1c3025ea3d87942dc38383604051808381526020018281526020019250505060405180910390a15b505050565b60006156a783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506149d6565b905092915050565b505050565b60008083118290615760576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561572557808201518184015260208101905061570a565b50505050905090810190601f1680156157525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161576c57fe5b049050809150509392505050565b606060036040519080825280602002602001820160405280156157ac5781602001602082028038833980820191505090505b50905030816000815181106157bd57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561585f57600080fd5b505afa158015615873573d6000803e3d6000fd5b505050506040513d602081101561588957600080fd5b8101908080519060200190929190505050816001815181106158a757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160028151811061591157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061597830600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684613f85565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c11d7958360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015615a52578082015181840152602081019050615a37565b505050509050019650505050505050600060405180830381600087803b158015615a7b57600080fd5b505af1158015615a8f573d6000803e3d6000fd5b50505050505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373425053594f503a20546865206e6577206469766964656e6420747261636b6572206d757374206265206f776e65642062792074686520425053594f5020746f6b656e20636f6e7472616374425053594f503a2054686520556e697377617020706169722063616e6e6f742062652072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b65725061697273425053594f503a204163636f756e7420697320616c7265616479207468652076616c7565206f6620276578636c7564656427425053594f503a204175746f6d61746564206d61726b6574206d616b6572207061697220697320616c72656164792073657420746f20746861742076616c756545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365425053594f503a20546865206469766964656e6420747261636b657220616c7265616479206861732074686174206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373425053594f503a20676173466f7250726f63657373696e67206d757374206265206265747765656e203230302c30303020616e64203530302c303030425053594f503a2043616e6e6f742075706461746520676173466f7250726f63657373696e6720746f2073616d652076616c756545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f425053594f503a2054686520726f7574657220616c72656164792068617320746861742061646472657373a26469706673582212200e416dd0a4a5855b4e3cac545e5b52e1e44e9fee993bd28b36f48529ae24326564736f6c63430006020033

Libraries Used


Deployed Bytecode Sourcemap

45544:15056:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45871:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45871:74:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;29182:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29182:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;29182:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;31349:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31349:169:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;31349:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;46163:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46163:60:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;45623:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45623:41:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;30302:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30302:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;46029:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46029:46:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;46029:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;32000:355;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32000:355:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;32000:355:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;45739:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45739:44:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;53057:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53057:141:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;30144:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30144:93:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;53626:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53626:123:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53626:123:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;32764:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32764:218:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;32764:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;46232:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46232:83:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;51843:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;51843:123:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;51843:123:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;45671:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45671:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;54677:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54677:88:0;;;:::i;:::-;;53206:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53206:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53206:125:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;51243:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;51243:159:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;51243:159:0;;;;;;;;;;;;;;;;;:::i;:::-;;51114:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;51114:121:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;51114:121:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;51410:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;51410:153:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;51410:153:0;;;;;;;;;;;;;;;;;:::i;:::-;;54907:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54907:141:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;49990:500;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49990:500:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;49990:500:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;53491:130;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53491:130:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53491:130:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;46125:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46125:31:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;54410:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54410:259:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;54410:259:0;;;;;;;;;;;;;;;;;:::i;:::-;;30473:127;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30473:127:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;30473:127:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23117:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23117:148:0;;;:::i;:::-;;46084:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46084:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;45792:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45792:70:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;52393:408;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52393:408:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;52393:408:0;;;;;;;;;;;;;;;;;:::i;:::-;;49142:840;;8:9:-1;5:2;;;30:1;27;20:12;5:2;49142:840:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;49142:840:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;22475:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22475:79:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;29401:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29401:104:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;29401:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51571:260;;8:9:-1;5:2;;;30:1;27;20:12;5:2;51571:260:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;51571:260:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;46396:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46396:40:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;52941:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52941:108:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;33485:269;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33485:269:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;33485:269:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;53339:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53339:147:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53339:147:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;30813:175;;8:9:-1;5:2;;;30:1;27;20:12;5:2;30813:175:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;30813:175:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;53757:318;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53757:318:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53757:318:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46712:58;;8:9:-1;5:2;;;30:1;27;20:12;5:2;46712:58:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;46712:58:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;50498:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50498:298:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;50498:298:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;50804:302;;8:9:-1;5:2;;;30:1;27;20:12;5:2;50804:302:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;50804:302:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;50804:302:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;50804:302:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;50804:302:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;50804:302:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;31051:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31051:151:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;31051:151:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;45962:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45962:54:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;54773:126;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54773:126:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;52809:124;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52809:124:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;52809:124:0;;;;;;;;;;;;;;;;;:::i;:::-;;54080:325;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54080:325:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;54080:325:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23420:244;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23420:244:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23420:244:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;45871:74;;;;;;;;;;;;;:::o;29182:100::-;29236:13;29269:5;29262:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29182:100;:::o;31349:169::-;31432:4;31449:39;31458:12;:10;:12::i;:::-;31472:7;31481:6;31449:8;:39::i;:::-;31506:4;31499:11;;31349:169;;;;:::o;46163:60::-;;;;:::o;45623:41::-;;;;;;;;;;;;;:::o;30302:108::-;30363:7;30390:12;;30383:19;;30302:108;:::o;46029:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;32000:355::-;32140:4;32157:36;32167:6;32175:9;32186:6;32157:9;:36::i;:::-;32204:121;32213:6;32221:12;:10;:12::i;:::-;32235:89;32273:6;32235:89;;;;;;;;;;;;;;;;;:11;:19;32247:6;32235:19;;;;;;;;;;;;;;;:33;32255:12;:10;:12::i;:::-;32235:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;32204:8;:121::i;:::-;32343:4;32336:11;;32000:355;;;;;:::o;45739:44::-;;;;;;;;;;;;;:::o;53057:141::-;53120:7;53147:15;;;;;;;;;;;:41;;;:43;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53147:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;53147:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53147:43:0;;;;;;;;;;;;;;;;53140:50;;53057:141;:::o;30144:93::-;30202:5;30227:2;30220:9;;30144:93;:::o;53626:123::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;53699:15:::1;;;;;;;;;;;:36;;;53736:7;53699:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;53699:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;53699:45:0;;;;53626:123:::0;:::o;32764:218::-;32852:4;32869:83;32878:12;:10;:12::i;:::-;32892:7;32901:50;32940:10;32901:11;:25;32913:12;:10;:12::i;:::-;32901:25;;;;;;;;;;;;;;;:34;32927:7;32901:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;32869:8;:83::i;:::-;32970:4;32963:11;;32764:218;;;;:::o;46232:83::-;;;;;;;;;;;;;:::o;51843:123::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51953:5:::1;51927:14;:23;51942:7;51927:23;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;51843:123:::0;;:::o;45671:29::-;;;;;;;;;;;;;:::o;54677:88::-;54708:15;;;;;;;;;;;:30;;;54739:10;54751:5;54708:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54708:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;54708:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;54708:49:0;;;;;;;;;;;;;;;;;54677:88::o;53206:125::-;53271:4;53295:19;:28;53315:7;53295:28;;;;;;;;;;;;;;;;;;;;;;;;;53288:35;;53206:125;;;:::o;51243:159::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51333:5:::1;51315:15;:23;;;;51361:33;51381:12;;51361:15;;:19;;:33;;;;:::i;:::-;51349:9;:45;;;;51243:159:::0;:::o;51114:121::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51221:6:::1;51195:23;;:32;;;;;;;;;;;;;;;;;;51114:121:::0;:::o;51410:153::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51494:5:::1;51479:12;:20;;;;51522:33;51542:12;;51522:15;;:19;;:33;;;;:::i;:::-;51510:9;:45;;;;51410:153:::0;:::o;54907:141::-;54972:7;54999:15;;;;;;;;;;;:39;;;:41;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54999:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;54999:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;54999:41:0;;;;;;;;;;;;;;;;54992:48;;54907:141;:::o;49990:500::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50099:15:::1;;;;;;;;;;;50077:38;;:10;:38;;;;50069:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50221:15;;;;;;;;;;;50179:59;;50201:10;50179:59;;;;;;;;;;;;50286:10;50249:15;;:48;;;;;;;;;;;;;;;;;;50308:22;50351:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;50351:25:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;50351:25:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;50351:25:0;;;;;;;;;;;;;;;;50333:69;;;50411:4;50418:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;50418:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;50418:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;50418:22:0;;;;;;;;;;;;;;;;50333:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;50333:108:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;50333:108:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;50333:108:0;;;;;;;;;;;;;;;;50308:133;;50468:14;50452:13;;:30;;;;;;;;;;;;;;;;;;22757:1;49990:500:::0;:::o;53491:130::-;53561:7;53582:15;;;;;;;;;;;:25;;;53608:7;53582:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53582:34:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;53582:34:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53582:34:0;;;;;;;;;;;;;;;;53575:41;;53491:130;;;:::o;46125:31::-;;;;:::o;54410:259::-;54470:18;54490:14;54506:26;54536:15;;;;;;;;;;;:23;;;54560:3;54536:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54536:28:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;54536:28:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;54536:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54469:95;;;;;;54651:9;54574:87;;54639:5;54574:87;;;54599:10;54611:6;54619:18;54646:3;54574:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54410:259;;;;:::o;30473:127::-;30547:7;30574:9;:18;30584:7;30574:18;;;;;;;;;;;;;;;;30567:25;;30473:127;;;:::o;23117:148::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23224:1:::1;23187:40;;23208:6;;;;;;;;;;;23187:40;;;;;;;;;;;;23255:1;23238:6;;:19;;;;;;;;;;;;;;;;;;23117:148::o:0;46084:34::-;;;;:::o;45792:70::-;;;;;;;;;;;;;:::o;52393:408::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52491:6:::1;52479:8;:18;;:40;;;;;52513:6;52501:8;:18;;52479:40;52471:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52615:16;;52603:8;:28;;52595:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52738:16;;52728:8;52704:51;;;;;;;;;;52785:8;52766:16;:27;;;;52393:408:::0;:::o;49142:840::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49251:15:::1;;;;;;;;;;;49229:38;;:10;:38;;;;49221:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49338:40;49411:10;49338:85;;49482:4;49444:43;;:18;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;49444:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;49444:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;49444:26:0;;;;;;;;;;;;;;;;:43;;;49436:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49580:18;:39;;;49628:18;49580:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;49580:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;49580:68:0;;;;49659:18;:39;;;49707:4;49659:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;49659:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;49659:54:0;;;;49724:18;:39;;;49764:7;:5;:7::i;:::-;49724:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;49724:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;49724:48:0;;;;49783:18;:39;;;49831:15;;;;;;;;;;;49783:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;49783:65:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;49783:65:0;;;;49908:15;;;;;;;;;;;49866:59;;49888:10;49866:59;;;;;;;;;;;;49956:18;49938:15;;:36;;;;;;;;;;;;;;;;;;22757:1;49142:840:::0;:::o;22475:79::-;22513:7;22540:6;;;;;;;;;;;22533:13;;22475:79;:::o;29401:104::-;29457:13;29490:7;29483:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29401:104;:::o;51571:260::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51678:13:::1;;;;;;;;;;;51670:21;;:4;:21;;;;51662:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;51782:41;51811:4;51817:5;51782:28;:41::i;:::-;51571:260:::0;;:::o;46396:40::-;;;;:::o;52941:108::-;52987:7;53014:15;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53014:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;53014:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53014:27:0;;;;;;;;;;;;;;;;53007:34;;52941:108;:::o;33485:269::-;33578:4;33595:129;33604:12;:10;:12::i;:::-;33618:7;33627:96;33666:15;33627:96;;;;;;;;;;;;;;;;;:11;:25;33639:12;:10;:12::i;:::-;33627:25;;;;;;;;;;;;;;;:34;33653:7;33627:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;33595:8;:129::i;:::-;33742:4;33735:11;;33485:269;;;;:::o;53339:147::-;53408:7;53432:15;;;;;;;;;;;:38;;;53471:7;53432:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;53432:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;53432:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;53432:47:0;;;;;;;;;;;;;;;;53425:54;;53339:147;;;:::o;30813:175::-;30899:4;30916:42;30926:12;:10;:12::i;:::-;30940:9;30951:6;30916:9;:42::i;:::-;30976:4;30969:11;;30813:175;;;;:::o;53757:318::-;53853:7;53875:6;53896;53917:7;53939;53961;53983;54005;54032:15;;;;;;;;;;;:26;;;54059:7;54032:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54032:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;54032:35:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;54032:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54025:42;;;;;;;;;;;;;;;;53757:318;;;;;;;;;:::o;46712:58::-;;;;;;;;;;;;;;;;;;;;;;:::o;50498:298::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50623:8:::1;50591:40;;:19;:28;50611:7;50591:28;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;50583:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50728:8;50697:19;:28;50717:7;50697:28;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;50770:7;50754:34;;;50779:8;50754:34;;;;;;;;;;;;;;;;;;;;;;50498:298:::0;;:::o;50804:302::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50919:9:::1;50931:1:::0;50919:13:::1;;50915:115;50938:8;:15;50934:1;:19;50915:115;;;51010:8;50975:19;:32;50995:8;51004:1;50995:11;;;;;;;;;;;;;;50975:32;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;50955:3;;;;;;;50915:115;;;;51047:51;51079:8;51089;51047:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;51047:51:0;;;;;;;;;;;;;;;;;;50804:302:::0;;:::o;31051:151::-;31140:7;31167:11;:18;31179:5;31167:18;;;;;;;;;;;;;;;:27;31186:7;31167:27;;;;;;;;;;;;;;;;31160:34;;31051:151;;;;:::o;45962:54::-;;;;:::o;54773:126::-;54828:7;54852:15;;;;;;;;;;;:37;;;:39;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54852:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;54852:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;54852:39:0;;;;;;;;;;;;;;;;54845:46;;54773:126;:::o;52809:124::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52883:15:::1;;;;;;;;;;;:31;;;52915:9;52883:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;52883:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;52883:42:0;;;;52809:124:::0;:::o;54080:325::-;54181:7;54203:6;54224;54245:7;54267;54289;54311;54333;54357:15;;;;;;;;;;;:33;;;54391:5;54357:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;54357:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;54357:40:0;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;54357:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;54350:47;;;;;;;;;;;;;;;;54080:325;;;;;;;;;:::o;23420:244::-;22697:12;:10;:12::i;:::-;22687:22;;:6;;;;;;;;;;;:22;;;22679:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23529:1:::1;23509:22;;:8;:22;;;;23501:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23619:8;23590:38;;23611:6;;;;;;;;;;;23590:38;;;;;;;;;;;;23648:8;23639:6;;:17;;;;;;;;;;;;;;;;;;23420:244:::0;:::o;21555:98::-;21608:7;21635:10;21628:17;;21555:98;:::o;36671:380::-;36824:1;36807:19;;:5;:19;;;;36799:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36905:1;36886:21;;:7;:21;;;;36878:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36989:6;36959:11;:18;36971:5;36959:18;;;;;;;;;;;;;;;:27;36978:7;36959:27;;;;;;;;;;;;;;;:36;;;;37027:7;37011:32;;37020:5;37011:32;;;37036:6;37011:32;;;;;;;;;;;;;;;;;;36671:380;;;:::o;55058:2165::-;55206:1;55190:18;;:4;:18;;;;55182:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55283:1;55269:16;;:2;:16;;;;55261:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55345:14;:20;55360:4;55345:20;;;;;;;;;;;;;;;;;;;;;;;;;55344:21;:44;;;;;55370:14;:18;55385:2;55370:18;;;;;;;;;;;;;;;;;;;;;;;;;55369:19;55344:44;55336:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55438:1;55428:6;:11;55425:92;;;55456:28;55472:4;55478:2;55482:1;55456:15;:28::i;:::-;55499:7;;55425:92;55523:28;55554:24;55572:4;55554:9;:24::i;:::-;55523:55;;55591:12;55630:18;;55606:20;:42;;55591:57;;55665:7;:33;;;;;55690:8;;;;;;;;;;;55689:9;55665:33;:82;;;;;55716:25;:31;55742:4;55716:31;;;;;;;;;;;;;;;;;;;;;;;;;55715:32;55665:82;:114;;;;;55772:7;:5;:7::i;:::-;55764:15;;:4;:15;;;;55665:114;:144;;;;;55802:7;:5;:7::i;:::-;55796:13;;:2;:13;;;;55665:144;55661:488;;;55847:4;55836:8;;:15;;;;;;;;;;;;;;;;;;55868:23;55894:53;55937:9;;55894:38;55919:12;;55894:20;:24;;:38;;;;:::i;:::-;:42;;:53;;;;:::i;:::-;55868:79;;55962:33;55979:15;55962:16;:33::i;:::-;56012:18;56033:24;56051:4;56033:9;:24::i;:::-;56012:45;;56072:32;56093:10;56072:20;:32::i;:::-;56132:5;56121:8;;:16;;;;;;;;;;;;;;;;;;55661:488;;;56161:12;56177:8;;;;;;;;;;;56176:9;56161:24;;56286:19;:25;56306:4;56286:25;;;;;;;;;;;;;;;;;;;;;;;;;:52;;;;56315:19;:23;56335:2;56315:23;;;;;;;;;;;;;;;;;;;;;;;;;56286:52;56283:99;;;56365:5;56355:15;;56283:99;56397:7;56394:280;;;56418:12;56433:30;56459:3;56433:21;56444:9;;56433:6;:10;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;56418:45;;56478:25;:29;56504:2;56478:29;;;;;;;;;;;;;;;;;;;;;;;;;56475:92;;;56532:22;56550:3;56532:13;56543:1;56532:6;:10;;:13;;;;:::i;:::-;:17;;:22;;;;:::i;:::-;56524:30;;;;56475:92;56587:16;56598:4;56587:6;:10;;:16;;;;:::i;:::-;56578:25;;56620:42;56636:4;56650;56657;56620:15;:42::i;:::-;56394:280;;56686:33;56702:4;56708:2;56712:6;56686:15;:33::i;:::-;56736:15;;;;;;;;;;;:26;;;56771:4;56778:15;56788:4;56778:9;:15::i;:::-;56736:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;56736:58:0;;;;;;;;;;;;;;56732:74;;;;;;56820:15;;;;;;;;;;;:26;;;56855:2;56860:13;56870:2;56860:9;:13::i;:::-;56820:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;56820:54:0;;;;;;;;;;;;;;56816:70;;;;;;56902:8;;;;;;;;;;;56898:318;;56921:11;56935:16;;56921:30;;56966:15;;;;;;;;;;;:23;;;56990:3;56966:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;56966:28:0;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;56966:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56962:243;;;;;57159:9;57083:86;;57148:4;57083:86;;;57108:10;57120:6;57128:18;57154:3;57083:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;56995:184;;;56962:243;56898:318;;55058:2165;;;;;;;:::o;17394:192::-;17480:7;17513:1;17508;:6;;17516:12;17500:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17500:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17540:9;17556:1;17552;:5;17540:17;;17577:1;17570:8;;;17394:192;;;;;:::o;16491:181::-;16549:7;16569:9;16585:1;16581;:5;16569:17;;16610:1;16605;:6;;16597:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16663:1;16656:8;;;16491:181;;;;:::o;51976:407::-;52102:5;52067:40;;:25;:31;52093:4;52067:31;;;;;;;;;;;;;;;;;;;;;;;;;:40;;;;52059:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52221:5;52187:25;:31;52213:4;52187:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;52242:5;52239:79;;;52264:15;;;;;;;;;;;:36;;;52301:4;52264:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52264:42:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;52264:42:0;;;;52239:79;52369:5;52335:40;;52363:4;52335:40;;;;;;;;;;;;51976:407;;:::o;34244:573::-;34402:1;34384:20;;:6;:20;;;;34376:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34486:1;34465:23;;:9;:23;;;;34457:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34541:47;34562:6;34570:9;34581:6;34541:20;:47::i;:::-;34621:71;34643:6;34621:71;;;;;;;;;;;;;;;;;:9;:17;34631:6;34621:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;34601:9;:17;34611:6;34601:17;;;;;;;;;;;;;;;:91;;;;34726:32;34751:6;34726:9;:20;34736:9;34726:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;34703:9;:20;34713:9;34703:20;;;;;;;;;;;;;;;:55;;;;34791:9;34774:35;;34783:6;34774:35;;;34802:6;34774:35;;;;;;;;;;;;;;;;;;34244:573;;;:::o;17845:471::-;17903:7;18153:1;18148;:6;18144:47;;;18178:1;18171:8;;;;18144:47;18203:9;18219:1;18215;:5;18203:17;;18248:1;18243;18239;:5;;;;;;:10;18231:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18307:1;18300:8;;;17845:471;;;;;:::o;18792:132::-;18850:7;18877:39;18881:1;18884;18877:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;18870:46;;18792:132;;;;:::o;57231:346::-;57295:27;57332:5;;;;;;;;;;;57325:23;;;57357:4;57325:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57325:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;57325:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;57325:38:0;;;;;;;;;;;;;;;;57295:68;;57376:26;57395:6;57376:18;:26::i;:::-;57413:18;57434:65;57479:19;57442:5;;;;;;;;;;;57435:23;;;57467:4;57435:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57435:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;57435:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;57435:38:0;;;;;;;;;;;;;;;;57434:44;;:65;;;;:::i;:::-;57413:86;;57517:5;;;;;;;;;;;57510:22;;;57533:23;;;;;;;;;;;57558:10;57510:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57510:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;57510:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;57510:59:0;;;;;;;;;;;;;;;;;57231:346;;;:::o;60190:407::-;60254:26;60273:6;60254:18;:26::i;:::-;60291:17;60318:5;;;;;;;;;;;60311:23;;;60343:4;60311:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;60311:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;60311:38:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;60311:38:0;;;;;;;;;;;;;;;;60291:58;;60360:12;60382:5;;;;;;;;;;;60375:22;;;60406:15;;;;;;;;;;;60424:9;60375:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;60375:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;60375:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;60375:59:0;;;;;;;;;;;;;;;;60360:74;;60451:7;60447:143;;;60475:15;;;;;;;;;;;:40;;;60516:9;60475:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;60475:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;60475:51:0;;;;60546:32;60560:6;60568:9;60546:32;;;;;;;;;;;;;;;;;;;;;;;;60447:143;60190:407;;;:::o;16955:136::-;17013:7;17040:43;17044:1;17047;17040:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;17033:50;;16955:136;;;;:::o;37654:125::-;;;;:::o;19420:278::-;19506:7;19538:1;19534;:5;19541:12;19526:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19526:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19565:9;19581:1;19577;:5;;;;;;19565:17;;19689:1;19682:8;;;19420:278;;;;;:::o;59120:534::-;59190:21;59228:1;59214:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;59214:16:0;;;;59190:40;;59259:4;59241;59246:1;59241:7;;;;;;;;;;;;;:23;;;;;;;;;;;59285:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59285:22:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;59285:22:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;59285:22:0;;;;;;;;;;;;;;;;59275:4;59280:1;59275:7;;;;;;;;;;;;;:32;;;;;;;;;;;59328:5;;;;;;;;;;;59318:4;59323:1;59318:7;;;;;;;;;;;;;:15;;;;;;;;;;;59346:62;59363:4;59378:15;;;;;;;;;;;59396:11;59346:8;:62::i;:::-;59447:15;;;;;;;;;;;:69;;;59531:11;59557:1;59573:4;59600;59620:15;59447:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;59447:199:0;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;59447:199:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;59447:199:0;;;;59120:534;;:::o

Swarm Source

ipfs://8e819da62621dd8c83fe09b3dc7af6a0029a45f737087065bb6cd6f0a7d3b6fd
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.