0 txs
1.6k calls
constructor
No constructor.
functions
currentRound
viewfunction currentRound() view returns (uint256)
getRoundLastRecords
viewfunction getRoundLastRecords(uint256 roundId) view returns (address[])
getRoundLastRecordsWithTime
viewfunction getRoundLastRecordsWithTime(uint256 roundId) view returns (tuple[] result)
getRoundRecordIndex
viewfunction getRoundRecordIndex(uint256 roundId, uint256 rankIndex) view returns (uint256)
getRoundReward
viewfunction getRoundReward(uint256 roundId, address user) view returns (uint256)
getUserReward
viewfunction getUserReward(address account) view returns (uint256)
jackpotRound
viewfunction jackpotRound(uint256) view returns (uint256 startTime, uint256 expirationTime, uint256 nextAmount, uint256 jackpotAmount, uint256 lpReward, uint256 ticketCount, uint256 recordIndex)
MIN_LOCKUP_TIME
viewfunction MIN_LOCKUP_TIME() view returns (uint256)
nextRoundJackRate
viewfunction nextRoundJackRate() view returns (uint256)
onERC721Received
viewfunction onERC721Received(address, address, uint256 tokenId, bytes) view returns (bytes4)
owner
viewfunction owner() view returns (address)
PANCAKE_POSITION_MANAGER
viewfunction PANCAKE_POSITION_MANAGER() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
quoteBNB
viewfunction quoteBNB(uint256 usdtAmount) view returns (uint256)
quoteJager
viewfunction quoteJager(uint256 usdtAmount) view returns (uint256)
roundInitialAmount
viewfunction roundInitialAmount() view returns (uint256)
roundInitialTime
viewfunction roundInitialTime() view returns (uint256)
roundMaxDuration
viewfunction roundMaxDuration() view returns (uint256)
roundMaxRecord
viewfunction roundMaxRecord() view returns (uint256)
roundRewardRates
viewfunction roundRewardRates(uint256) view returns (uint256)
roundUserLogs
viewfunction roundUserLogs(uint256, address) view returns (uint256 tickets, uint256 totalIn, uint256 receiveReward, uint256 lastTime)
stakePool
viewfunction stakePool() view returns (uint128 totalLiquidity, uint256 accLPPerShare, uint256 totalReward, uint256 receiveReward)
stakeUsers
viewfunction stakeUsers(address) view returns (uint128 liquidity, uint256 rewardDebt, uint256 receiveReward, uint256 pending, uint256 tokenId, uint256 lockExpried)
timeIncrementPerCoin
viewfunction timeIncrementPerCoin() view returns (uint256)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
addRoundReward
nonpayablefunction addRoundReward(uint256 amount)
buyTicket
nonpayablefunction buyTicket()
claimLPReward
nonpayablefunction claimLPReward()
claimRoundReward
nonpayablefunction claimRoundReward(uint256 roundId)
claimRoundRewards
nonpayablefunction claimRoundRewards(uint256[] roundIds)
initialize
nonpayablefunction initialize()
renounceOwnership
nonpayablefunction renounceOwnership()
stake
nonpayablefunction stake(uint256 jagerAmount, uint256 usd1Amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(uint128 liquidity)
events
AddRoundJackpot
event AddRoundJackpot(address indexed user, uint256 indexed roundId, uint256 amount)
BuyTicket
event BuyTicket(address indexed user, uint256 indexed roundId, uint256 usdtAmount, uint256 expirationTime, uint256 burnAmount, uint256 roundJackpotAmount, uint256 lpRewardAmount)
Claimed
event Claimed(address indexed user, uint256 indexed roundId, uint256 amount)
ClaimStakeReward
event ClaimStakeReward(address indexed user, uint256 reward)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Stake
event Stake(address indexed user, uint256 tokenId, uint128 totalLiquidity, uint128 liquidity, uint256 jager, uint256 usd1)
StartNewRound
event StartNewRound(uint256 indexed roundId, uint256 expirationTime, uint256 roundInitialJackpot)
Upgraded
event Upgraded(address indexed implementation)
Withdraw
event Withdraw(address indexed user, uint256 tokenId, uint128 totalLiquidity, uint128 liquidity, uint256 jager, uint256 usd1)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152503480156041575f80fd5b50608051615b1f6100685f395f81816133f00152818161344501526135ff0152615b1f5ff3fe60806040526004361061020e575f3560e01c80637db7cf7511610117578063b03f1e5f1161009f578063edca914c1161006e578063edca914c146107a8578063f2fde38b146107be578063f8ea4756146107e6578063fbc8b21d14610813578063feeabb141461084f5761020e565b8063b03f1e5f146106ea578063c75ebb8214610714578063d2c4901114610750578063e547bb91146107925761020e565b80638da5cb5b116100e65780638da5cb5b146105f15780638ef8975a1461061b57806392ac643a14610645578063947c197d14610684578063ad3cb1cc146106c05761020e565b80637db7cf751461054b5780638129fc1c146105755780638a19c8bc1461058b5780638a38aac6146105b55761020e565b806336b3087e1161019a5780634f1ef286116101695780634f1ef2861461049f57806352d1902d146104bb5780635a4ffdb2146104e5578063715018a61461050d5780637b0472f0146105235761020e565b806336b3087e146103e25780633ae1afda14610423578063412f7b601461044d57806342f618ea146104775761020e565b80630b59714d116101e15780630b59714d146102dc5780630e1edbaf14610318578063150b7a02146103545780632b8b5f7f1461039057806333bfe76f146103ba5761020e565b8063020e85d71461021257806302387a7b1461024e578063052f0ff7146102765780630a804b70146102b2575b5f80fd5b34801561021d575f80fd5b5061023860048036038101906102339190613fb2565b610879565b6040516102459190613fff565b60405180910390f35b348015610259575f80fd5b50610274600480360381019061026f919061405d565b61095f565b005b348015610281575f80fd5b5061029c60048036038101906102979190614088565b610e7d565b6040516102a99190613fff565b60405180910390f35b3480156102bd575f80fd5b506102c6610e9d565b6040516102d39190613fff565b60405180910390f35b3480156102e7575f80fd5b5061030260048036038101906102fd9190614088565b610ea9565b60405161030f9190613fff565b60405180910390f35b348015610323575f80fd5b5061033e60048036038101906103399190614088565b610fb7565b60405161034b91906141d6565b60405180910390f35b34801561035f575f80fd5b5061037a60048036038101906103759190614281565b611183565b604051610387919061433f565b60405180910390f35b34801561039b575f80fd5b506103a4611399565b6040516103b19190613fff565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db9190614088565b61139f565b005b3480156103ed575f80fd5b5061040860048036038101906104039190614358565b611493565b60405161041a96959493929190614392565b60405180910390f35b34801561042e575f80fd5b506104376114e6565b6040516104449190613fff565b60405180910390f35b348015610458575f80fd5b506104616114eb565b60405161046e919061444c565b60405180910390f35b348015610482575f80fd5b5061049d60048036038101906104989190614088565b611510565b005b6104b960048036038101906104b4919061459d565b6116e4565b005b3480156104c6575f80fd5b506104cf611703565b6040516104dc919061460f565b60405180910390f35b3480156104f0575f80fd5b5061050b6004803603810190610506919061467d565b611734565b005b348015610518575f80fd5b50610521611775565b005b34801561052e575f80fd5b5061054960048036038101906105449190613fb2565b611788565b005b348015610556575f80fd5b5061055f611daa565b60405161056c9190613fff565b60405180910390f35b348015610580575f80fd5b50610589611daf565b005b348015610596575f80fd5b5061059f612212565b6040516105ac9190613fff565b60405180910390f35b3480156105c0575f80fd5b506105db60048036038101906105d691906146c8565b612218565b6040516105e89190613fff565b60405180910390f35b3480156105fc575f80fd5b5061060561235d565b6040516106129190614715565b60405180910390f35b348015610626575f80fd5b5061062f612392565b60405161063c9190613fff565b60405180910390f35b348015610650575f80fd5b5061066b600480360381019061066691906146c8565b612398565b60405161067b949392919061472e565b60405180910390f35b34801561068f575f80fd5b506106aa60048036038101906106a59190614088565b6123cf565b6040516106b79190614819565b60405180910390f35b3480156106cb575f80fd5b506106d46125c1565b6040516106e19190614899565b60405180910390f35b3480156106f5575f80fd5b506106fe6125fa565b60405161070b9190613fff565b60405180910390f35b34801561071f575f80fd5b5061073a60048036038101906107359190614358565b612601565b6040516107479190613fff565b60405180910390f35b34801561075b575f80fd5b5061077660048036038101906107719190614088565b612701565b60405161078997969594939291906148b9565b60405180910390f35b34801561079d575f80fd5b506107a661273f565b005b3480156107b3575f80fd5b506107bc6127e5565b005b3480156107c9575f80fd5b506107e460048036038101906107df9190614358565b612d3c565b005b3480156107f1575f80fd5b506107fa612dc0565b60405161080a9493929190614926565b60405180910390f35b34801561081e575f80fd5b5061083960048036038101906108349190614088565b612df8565b6040516108469190613fff565b60405180910390f35b34801561085a575f80fd5b50610863612f12565b6040516108709190613fff565b60405180910390f35b5f8060045f8581526020019081526020015f2060050154036108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c7906149b3565b60405180910390fd5b600c8210610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90614a1b565b60405180910390fd5b600c826001600c6109249190614a66565b60045f8781526020019081526020015f20600601546109439190614a99565b61094d9190614a66565b6109579190614af9565b905092915050565b610967612f19565b5f816fffffffffffffffffffffffffffffffff16116109bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b290614b73565b60405180910390fd5b5f600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090504281600501541115610a42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3990614bdb565b60405180910390fd5b816fffffffffffffffffffffffffffffffff16815f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90614c43565b60405180910390fd5b610ad033612f6d565b81815f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff16610afd9190614c61565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610b5a815f015f9054906101000a90046fffffffffffffffffffffffffffffffff16612fc2565b81600101819055508160085f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff16610b909190614c61565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f604051806080016040528083600401548152602001846fffffffffffffffffffffffffffffffff1681526020015f81526020015f815250905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c49ccbe6040518060a00160405280845f0151815260200184602001516fffffffffffffffffffffffffffffffff1681526020016001815260200160018152602001428152506040518263ffffffff1660e01b8152600401610c9b9190614d19565b60408051808303815f875af1158015610cb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cda9190614d46565b505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc6f78656040518060800160405280845f015181526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016fffffffffffffffffffffffffffffffff801681526020016fffffffffffffffffffffffffffffffff80168152506040518263ffffffff1660e01b8152600401610d939190614dd7565b60408051808303815f875af1158015610dae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd29190614d46565b826040018360600182815250828152505050610ded33613000565b3373ffffffffffffffffffffffffffffffffffffffff167f9236d36df997ea76f837423b571c76c75282371542694485308b95288eb73f3b825f0151845f015f9054906101000a90046fffffffffffffffffffffffffffffffff16846020015185604001518660600151604051610e68959493929190614df0565b60405180910390a25050610e7a613136565b50565b60038181548110610e8c575f80fd5b905f5260205f20015f915090505481565b670de0b6b3a764000081565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a49928660405180606001604052807355d398326f99059ff775485246999027b319795573ffffffffffffffffffffffffffffffffffffffff16815260200173bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c73ffffffffffffffffffffffffffffffffffffffff168152602001858152506040518263ffffffff1660e01b8152600401610f719190614e81565b602060405180830381865afa158015610f8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb09190614e9a565b9050919050565b60605f60045f8481526020019081526020015f20600501540361100f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611006906149b3565b60405180910390fd5b5f600c60045f8581526020019081526020015f20600501541061103357600c611049565b60045f8481526020019081526020015f20600501545b90505f8167ffffffffffffffff81111561106657611065614479565b5b60405190808252806020026020018201604052801561109f57816020015b61108c613eda565b8152602001906001900390816110845790505b5090505f5b8151811015611178575f6110b88683610879565b9050604051806040016040528060065f8981526020019081526020015f2083600c81106110e8576110e7614ec5565b5b015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160075f8981526020019081526020015f2083600c811061114757611146614ec5565b5b015481525083838151811061115f5761115e614ec5565b5b60200260200101819052505080806001019150506110a4565b508092505050919050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611213576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120a90614f3c565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399fbab88866040518263ffffffff1660e01b815260040161126e9190613fff565b61018060405180830381865afa15801561128a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ae9190615154565b90507374836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff161480156113465750738d0d000ee44948fc98c9b98a4fa4921476f08b0d73ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16145b611385576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137c906151ca565b60405180910390fd5b63150b7a0260e01b91505095945050505050565b61151881565b6113a7612f19565b5f600d54116113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290615232565b60405180910390fd5b61140b7374836cc0e821a6be18e407e6388e430b689c66e933308461314d565b8060045f600d5481526020019081526020015f206003015f8282546114309190614a99565b92505081905550600d543373ffffffffffffffffffffffffffffffffffffffff167fe9219f0afa1ee0c093fd57e5d140f7b071cb8fa78498bbb9e4e5d0ae78505695836040516114809190613fff565b60405180910390a3611490613136565b50565b600c602052805f5260405f205f91509050805f015f9054906101000a90046fffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154908060050154905086565b607881565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611518612f19565b5f811180156115285750600d5481105b611567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155e9061529a565b60405180910390fd5b5f60055f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060020154146115f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ef90615302565b60405180910390fd5b5f6116038233612218565b90508060055f8481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206002015f8282546116639190614a99565b925050819055506116897374836cc0e821a6be18e407e6388e430b689c66e9338361329f565b813373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a836040516116d09190613fff565b60405180910390a3506116e1613136565b50565b6116ec6133ee565b6116f5826134d4565b6116ff82826134df565b5050565b5f61170c6135fd565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b5f5b828290508110156117705761176383838381811061175757611756614ec5565b5b90506020020135611510565b8080600101915050611736565b505050565b61177d613684565b6117865f61370b565b565b611790612f19565b5f8211801561179e57505f81115b6117dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d49061536a565b60405180910390fd5b6117fd7374836cc0e821a6be18e407e6388e430b689c66e933308561314d565b61181d738d0d000ee44948fc98c9b98a4fa4921476f08b0d33308461314d565b5f600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f6040518060800160405280836004015481526020015f6fffffffffffffffffffffffffffffffff1681526020015f81526020015f81525090505f815f015111156119b15760015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663219f5d176040518060c00160405280845f015181526020018781526020018681526020016001815260200160018152602001428152506040518263ffffffff1660e01b815260040161192d9190615401565b6060604051808303815f875af1158015611949573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196d919061541a565b8360200184604001856060018381525083815250836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250505050611b85565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663883164566040518061016001604052807374836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff168152602001738d0d000ee44948fc98c9b98a4fa4921476f08b0d73ffffffffffffffffffffffffffffffffffffffff168152602001606462ffffff1681526020017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2766060020b8152602001620d89a060020b815260200187815260200186815260200160018152602001600181526020013073ffffffffffffffffffffffffffffffffffffffff168152602001428152506040518263ffffffff1660e01b8152600401611af19190615567565b6080604051808303815f875af1158015611b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b319190615581565b845f018560200186604001876060018481525084815250846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152508481525050505050805f015182600401819055505b8381604001511015611bc057611bbf7374836cc0e821a6be18e407e6388e430b689c66e933836040015187611bba9190614a66565b61329f565b5b8281606001511015611bfb57611bfa738d0d000ee44948fc98c9b98a4fa4921476f08b0d33836060015186611bf59190614a66565b61329f565b5b611c0433612f6d565b62278d0042611c139190614a99565b82600501819055508060200151825f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff16611c4c91906155e5565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550611ca9825f015f9054906101000a90046fffffffffffffffffffffffffffffffff16612fc2565b8260010181905550806020015160085f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff16611ce391906155e5565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f1cc8aa2946466578e10101ba72fa4ece587627bfb305bd8853f48d86f922da23825f0151845f015f9054906101000a90046fffffffffffffffffffffffffffffffff16846020015185604001518660600151604051611d94959493929190614df0565b60405180910390a25050611da6613136565b5050565b600c81565b5f611db86137dc565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f808267ffffffffffffffff16148015611e005750825b90505f60018367ffffffffffffffff16148015611e3357505f3073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015611e41575080155b15611e78576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315611ec5576001855f0160086101000a81548160ff0219169083151502179055505b611ecd6137ef565b611ed5613801565b611ede3361380b565b73678aa4bf4e210cf2166753e054d5b7c31cc7fa865f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507346a15b0b27311cedf172ab29e4f4766fbe7f436460015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c67ffffffffffffffff811115611fa057611f9f614479565b5b604051908082528060200260200182016040528015611fce5781602001602082028036833780820191505090505b5060039080519060200190611fe4929190613f08565b5061afc860035f81548110611ffc57611ffb614ec5565b5b905f5260205f20018190555061138860036001815481106120205761201f614ec5565b5b905f5260205f200181905550610bb8600360028154811061204457612043614ec5565b5b905f5260205f2001819055505f805b600c8110156120da575f6003828154811061207157612070614ec5565b5b905f5260205f200154036120a3576103e86003828154811061209657612095614ec5565b5b905f5260205f2001819055505b600381815481106120b7576120b6614ec5565b5b905f5260205f200154826120cb9190614a99565b91508080600101915050612053565b5080620186a06120ea9190614a66565b6002819055506121507374836cc0e821a6be18e407e6388e430b689c66e960015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61381f565b6121b0738d0d000ee44948fc98c9b98a4fa4921476f08b0d60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61381f565b50831561220b575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d260016040516122029190615674565b60405180910390a15b5050505050565b600d5481565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227e906156d7565b60405180910390fd5b5f80612292856123cf565b90505f5b8151811015612351578181815181106122b2576122b1614ec5565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361234457620186a06003828154811061230457612303614ec5565b5b905f5260205f20015460045f8981526020019081526020015f206003015461232c91906156f5565b6123369190615736565b836123419190614a99565b92505b8080600101915050612296565b50819250505092915050565b5f8061236761396e565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b60025481565b6005602052815f5260405f20602052805f5260405f205f9150915050805f0154908060010154908060020154908060030154905084565b60605f60045f8481526020019081526020015f206005015403612427576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241e906149b3565b60405180910390fd5b5f60065f8481526020019081526020015f20600c806020026040519081016040528092919082600c80156124a5576020028201915b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161245c575b505050505090505f600c60045f8681526020019081526020015f2060050154106124d057600c6124e6565b60045f8581526020019081526020015f20600501545b67ffffffffffffffff8111156124ff576124fe614479565b5b60405190808252806020026020018201604052801561252d5781602001602082028036833780820191505090505b5090505f5b81518110156125b657826125468683610879565b600c811061255757612556614ec5565b5b602002015182828151811061256f5761256e614ec5565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612532565b508092505050919050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6202a30081565b5f80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060c00160405290815f82015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505090505f81602001516126d9835f0151612fc2565b6126e39190614a66565b90508160600151816126f59190614a99565b90508092505050919050565b6004602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154905087565b612747612f19565b61275033612f6d565b5f600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060030154116127d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c9906157b0565b60405180910390fd5b6127db33613000565b6127e3613136565b565b6127ed612f19565b5f60045f600d5481526020019081526020015f2090505f815f015414806128175750806001015442115b15612951576001600d5461282b9190614a99565b600d819055505f620186a0600254836003015461284891906156f5565b6128529190615736565b90506040518060e00160405280428152602001611518426128739190614a99565b8152602001670de0b6b3a764000081526020018281526020015f81526020015f81526020015f81525060045f600d5481526020019081526020015f205f820151815f01556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015590505060045f600d5481526020019081526020015f209150600d547f6335d9a954a31d127d43737ee99cf9c5b5f5b0c4c813c136886bef6217092e518360010154836040516129439291906157ce565b60405180910390a2506129a7565b42816001015411156129a6575f6202a3004261296d9190614a99565b90505f607883600101546129819190614a99565b905081811015612999578083600101819055506129a3565b8183600101819055505b50505b5b5f6129b58260020154612df8565b90505f620186a06188b8836129ca91906156f5565b6129d49190615736565b90505f620186a061c350846129e991906156f5565b6129f39190615736565b90505f620186a0613a9885612a0891906156f5565b612a129190615736565b9050612a367374836cc0e821a6be18e407e6388e430b689c66e93361dead8661314d565b612a617374836cc0e821a6be18e407e6388e430b689c66e933308688612a5c9190614a66565b61314d565b600d543373ffffffffffffffffffffffffffffffffffffffff167fa3e4c1e0ae8ee07facda4387f56b6ed0e8f049c05f1865f593dc24c3352478fa87600201548860010154878787604051612aba9594939291906157f5565b60405180910390a381856003015f828254612ad59190614a99565b9250508190555080856004015f828254612aef9190614a99565b92505081905550670de0b6b3a7640000670de444324c2a80008660020154612b1791906156f5565b612b219190615736565b85600201819055506001856005015f828254612b3d9190614a99565b925050819055503360065f600d5481526020019081526020015f208660060154600c8110612b6e57612b6d614ec5565b5b015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260075f600d5481526020019081526020015f208660060154600c8110612bd657612bd5614ec5565b5b0181905550600c60018660060154612bee9190614a99565b612bf89190614af9565b85600601819055504260055f600d5481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060030181905550600160055f600d5481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f828254612cb69190614a99565b925050819055508360055f600d5481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f828254612d1d9190614a99565b92505081905550612d2d81613995565b5050505050612d3a613136565b565b612d44613684565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612db4575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612dab9190614715565b60405180910390fd5b612dbd8161370b565b50565b6008805f015f9054906101000a90046fffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905084565b5f80612e0383610ea9565b90505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a499286604051806060016040528073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c73ffffffffffffffffffffffffffffffffffffffff1681526020017374836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff168152602001848152506040518263ffffffff1660e01b8152600401612ecb9190614e81565b602060405180830381865afa158015612ee6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f0a9190614e9a565b915050919050565b62278d0081565b5f612f22613a5f565b90506002815f015403612f61576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815f018190555050565b5f612f7782612601565b905080600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600301819055505050565b5f670de0b6b3a7640000600860010154836fffffffffffffffffffffffffffffffff16612fef91906156f5565b612ff99190615736565b9050919050565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816003015490505f8103613056575050613133565b5f826003018190555080826002015f8282546130729190614a99565b925050819055508060086003015f82825461308d9190614a99565b925050819055506130bb825f015f9054906101000a90046fffffffffffffffffffffffffffffffff16612fc2565b82600101819055506130e27374836cc0e821a6be18e407e6388e430b689c66e9848361329f565b8273ffffffffffffffffffffffffffffffffffffffff167f7b659b56d43a68f77e7227908e26d2c4a1d869e43b3e4b1787fee7b15ce72c8f826040516131289190613fff565b60405180910390a250505b50565b5f61313f613a5f565b90506001815f018190555050565b5f808573ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b86868660405160240161318393929190615846565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516131ed91906158bf565b5f604051808303815f865af19150503d805f8114613226576040519150601f19603f3d011682016040523d82523d5f602084013e61322b565b606091505b509150915081801561325857505f81511480613257575080806020019051810190613256919061590a565b5b5b613297576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328e9061597f565b60405180910390fd5b505050505050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b85856040516024016132d392919061599d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161333d91906158bf565b5f604051808303815f865af19150503d805f8114613376576040519150601f19603f3d011682016040523d82523d5f602084013e61337b565b606091505b50915091508180156133a857505f815114806133a75750808060200190518101906133a6919061590a565b5b5b6133e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133de90615a0e565b60405180910390fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061349b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16613482613a86565b73ffffffffffffffffffffffffffffffffffffffff1614155b156134d2576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6134dc613684565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561354757506040513d601f19601f820116820180604052508101906135449190615a56565b60015b61358857816040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815260040161357f9190614715565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b81146135ee57806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016135e5919061460f565b60405180910390fd5b6135f88383613ad9565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614613682576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61368c613b4b565b73ffffffffffffffffffffffffffffffffffffffff166136aa61235d565b73ffffffffffffffffffffffffffffffffffffffff1614613709576136cd613b4b565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016137009190614715565b60405180910390fd5b565b5f61371461396e565b90505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082825f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b5f806137e6613b52565b90508091505090565b6137f7613b7b565b6137ff613bbb565b565b613809613b7b565b565b613813613b7b565b61381c81613bda565b50565b5f808473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360e01b858560405160240161385392919061599d565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516138bd91906158bf565b5f604051808303815f865af19150503d805f81146138f6576040519150601f19603f3d011682016040523d82523d5f602084013e6138fb565b606091505b509150915081801561392857505f81511480613927575080806020019051810190613926919061590a565b5b5b613967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161395e90615acb565b60405180910390fd5b5050505050565b5f7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b5f8114806139d357505f60085f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16145b613a5c5760085f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16670de0b6b3a764000082613a1d91906156f5565b613a279190615736565b600860010154613a379190614a99565b6008600101819055508060086002015f828254613a549190614a99565b925050819055505b50565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00905090565b5f613ab27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b613c5e565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b613ae282613c67565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f81511115613b3e57613b388282613d30565b50613b47565b613b46613db0565b5b5050565b5f33905090565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005f1b905090565b613b83613dec565b613bb9576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b613bc3613b7b565b5f613bcc613a5f565b90506001815f018190555050565b613be2613b7b565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613c52575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401613c499190614715565b60405180910390fd5b613c5b8161370b565b50565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03613cc257806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401613cb99190614715565b60405180910390fd5b80613cee7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b613c5e565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051613d5991906158bf565b5f60405180830381855af49150503d805f8114613d91576040519150601f19603f3d011682016040523d82523d5f602084013e613d96565b606091505b5091509150613da6858383613e0a565b9250505092915050565b5f341115613dea576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f613df56137dc565b5f0160089054906101000a900460ff16905090565b606082613e1f57613e1a82613e97565b613e8f565b5f8251148015613e4557505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15613e8757836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613e7e9190614715565b60405180910390fd5b819050613e90565b5b9392505050565b5f81511115613ea857805160208201fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b828054828255905f5260205f20908101928215613f42579160200282015b82811115613f41578251825591602001919060010190613f26565b5b509050613f4f9190613f53565b5090565b5b80821115613f6a575f815f905550600101613f54565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b613f9181613f7f565b8114613f9b575f80fd5b50565b5f81359050613fac81613f88565b92915050565b5f8060408385031215613fc857613fc7613f77565b5b5f613fd585828601613f9e565b9250506020613fe685828601613f9e565b9150509250929050565b613ff981613f7f565b82525050565b5f6020820190506140125f830184613ff0565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b61403c81614018565b8114614046575f80fd5b50565b5f8135905061405781614033565b92915050565b5f6020828403121561407257614071613f77565b5b5f61407f84828501614049565b91505092915050565b5f6020828403121561409d5761409c613f77565b5b5f6140aa84828501613f9e565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f614105826140dc565b9050919050565b614115816140fb565b82525050565b61412481613f7f565b82525050565b604082015f82015161413e5f85018261410c565b506020820151614151602085018261411b565b50505050565b5f614162838361412a565b60408301905092915050565b5f602082019050919050565b5f614184826140b3565b61418e81856140bd565b9350614199836140cd565b805f5b838110156141c95781516141b08882614157565b97506141bb8361416e565b92505060018101905061419c565b5085935050505092915050565b5f6020820190508181035f8301526141ee818461417a565b905092915050565b6141ff816140fb565b8114614209575f80fd5b50565b5f8135905061421a816141f6565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261424157614240614220565b5b8235905067ffffffffffffffff81111561425e5761425d614224565b5b60208301915083600182028301111561427a57614279614228565b5b9250929050565b5f805f805f6080868803121561429a57614299613f77565b5b5f6142a78882890161420c565b95505060206142b88882890161420c565b94505060406142c988828901613f9e565b935050606086013567ffffffffffffffff8111156142ea576142e9613f7b565b5b6142f68882890161422c565b92509250509295509295909350565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61433981614305565b82525050565b5f6020820190506143525f830184614330565b92915050565b5f6020828403121561436d5761436c613f77565b5b5f61437a8482850161420c565b91505092915050565b61438c81614018565b82525050565b5f60c0820190506143a55f830189614383565b6143b26020830188613ff0565b6143bf6040830187613ff0565b6143cc6060830186613ff0565b6143d96080830185613ff0565b6143e660a0830184613ff0565b979650505050505050565b5f819050919050565b5f61441461440f61440a846140dc565b6143f1565b6140dc565b9050919050565b5f614425826143fa565b9050919050565b5f6144368261441b565b9050919050565b6144468161442c565b82525050565b5f60208201905061445f5f83018461443d565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6144af82614469565b810181811067ffffffffffffffff821117156144ce576144cd614479565b5b80604052505050565b5f6144e0613f6e565b90506144ec82826144a6565b919050565b5f67ffffffffffffffff82111561450b5761450a614479565b5b61451482614469565b9050602081019050919050565b828183375f83830152505050565b5f61454161453c846144f1565b6144d7565b90508281526020810184848401111561455d5761455c614465565b5b614568848285614521565b509392505050565b5f82601f83011261458457614583614220565b5b813561459484826020860161452f565b91505092915050565b5f80604083850312156145b3576145b2613f77565b5b5f6145c08582860161420c565b925050602083013567ffffffffffffffff8111156145e1576145e0613f7b565b5b6145ed85828601614570565b9150509250929050565b5f819050919050565b614609816145f7565b82525050565b5f6020820190506146225f830184614600565b92915050565b5f8083601f84011261463d5761463c614220565b5b8235905067ffffffffffffffff81111561465a57614659614224565b5b60208301915083602082028301111561467657614675614228565b5b9250929050565b5f806020838503121561469357614692613f77565b5b5f83013567ffffffffffffffff8111156146b0576146af613f7b565b5b6146bc85828601614628565b92509250509250929050565b5f80604083850312156146de576146dd613f77565b5b5f6146eb85828601613f9e565b92505060206146fc8582860161420c565b9150509250929050565b61470f816140fb565b82525050565b5f6020820190506147285f830184614706565b92915050565b5f6080820190506147415f830187613ff0565b61474e6020830186613ff0565b61475b6040830185613ff0565b6147686060830184613ff0565b95945050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6147a5838361410c565b60208301905092915050565b5f602082019050919050565b5f6147c782614771565b6147d1818561477b565b93506147dc8361478b565b805f5b8381101561480c5781516147f3888261479a565b97506147fe836147b1565b9250506001810190506147df565b5085935050505092915050565b5f6020820190508181035f83015261483181846147bd565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61486b82614839565b6148758185614843565b9350614885818560208601614853565b61488e81614469565b840191505092915050565b5f6020820190508181035f8301526148b18184614861565b905092915050565b5f60e0820190506148cc5f83018a613ff0565b6148d96020830189613ff0565b6148e66040830188613ff0565b6148f36060830187613ff0565b6149006080830186613ff0565b61490d60a0830185613ff0565b61491a60c0830184613ff0565b98975050505050505050565b5f6080820190506149395f830187614383565b6149466020830186613ff0565b6149536040830185613ff0565b6149606060830184613ff0565b95945050505050565b7f524f554e44204e4f5420535441525400000000000000000000000000000000005f82015250565b5f61499d600f83614843565b91506149a882614969565b602082019050919050565b5f6020820190508181035f8301526149ca81614991565b9050919050565b7f52414e4b20494e444558204f5554204f462052414e47450000000000000000005f82015250565b5f614a05601783614843565b9150614a10826149d1565b602082019050919050565b5f6020820190508181035f830152614a32816149f9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614a7082613f7f565b9150614a7b83613f7f565b9250828203905081811115614a9357614a92614a39565b5b92915050565b5f614aa382613f7f565b9150614aae83613f7f565b9250828201905080821115614ac657614ac5614a39565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614b0382613f7f565b9150614b0e83613f7f565b925082614b1e57614b1d614acc565b5b828206905092915050565b7f5a45524f000000000000000000000000000000000000000000000000000000005f82015250565b5f614b5d600483614843565b9150614b6882614b29565b602082019050919050565b5f6020820190508181035f830152614b8a81614b51565b9050919050565b7f5354494c4c204c4f434b454400000000000000000000000000000000000000005f82015250565b5f614bc5600c83614843565b9150614bd082614b91565b602082019050919050565b5f6020820190508181035f830152614bf281614bb9565b9050919050565b7f494e56414c4944204c49515549444954590000000000000000000000000000005f82015250565b5f614c2d601183614843565b9150614c3882614bf9565b602082019050919050565b5f6020820190508181035f830152614c5a81614c21565b9050919050565b5f614c6b82614018565b9150614c7683614018565b925082820390506fffffffffffffffffffffffffffffffff811115614c9e57614c9d614a39565b5b92915050565b614cad81614018565b82525050565b60a082015f820151614cc75f85018261411b565b506020820151614cda6020850182614ca4565b506040820151614ced604085018261411b565b506060820151614d00606085018261411b565b506080820151614d13608085018261411b565b50505050565b5f60a082019050614d2c5f830184614cb3565b92915050565b5f81519050614d4081613f88565b92915050565b5f8060408385031215614d5c57614d5b613f77565b5b5f614d6985828601614d32565b9250506020614d7a85828601614d32565b9150509250929050565b608082015f820151614d985f85018261411b565b506020820151614dab602085018261410c565b506040820151614dbe6040850182614ca4565b506060820151614dd16060850182614ca4565b50505050565b5f608082019050614dea5f830184614d84565b92915050565b5f60a082019050614e035f830188613ff0565b614e106020830187614383565b614e1d6040830186614383565b614e2a6060830185613ff0565b614e376080830184613ff0565b9695505050505050565b606082015f820151614e555f85018261410c565b506020820151614e68602085018261410c565b506040820151614e7b604085018261411b565b50505050565b5f606082019050614e945f830184614e41565b92915050565b5f60208284031215614eaf57614eae613f77565b5b5f614ebc84828501614d32565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e4f5420414c4c4f574544204e465400000000000000000000000000000000005f82015250565b5f614f26600f83614843565b9150614f3182614ef2565b602082019050919050565b5f6020820190508181035f830152614f5381614f1a565b9050919050565b5f80fd5b5f6bffffffffffffffffffffffff82169050919050565b614f7e81614f5e565b8114614f88575f80fd5b50565b5f81519050614f9981614f75565b92915050565b5f81519050614fad816141f6565b92915050565b5f62ffffff82169050919050565b614fca81614fb3565b8114614fd4575f80fd5b50565b5f81519050614fe581614fc1565b92915050565b5f8160020b9050919050565b61500081614feb565b811461500a575f80fd5b50565b5f8151905061501b81614ff7565b92915050565b5f8151905061502f81614033565b92915050565b5f610180828403121561504b5761504a614f5a565b5b6150566101806144d7565b90505f61506584828501614f8b565b5f83015250602061507884828501614f9f565b602083015250604061508c84828501614f9f565b60408301525060606150a084828501614f9f565b60608301525060806150b484828501614fd7565b60808301525060a06150c88482850161500d565b60a08301525060c06150dc8482850161500d565b60c08301525060e06150f084828501615021565b60e08301525061010061510584828501614d32565b6101008301525061012061511b84828501614d32565b6101208301525061014061513184828501615021565b6101408301525061016061514784828501615021565b6101608301525092915050565b5f610180828403121561516a57615169613f77565b5b5f61517784828501615035565b91505092915050565b7f4e465420544f4b454e204552524f5200000000000000000000000000000000005f82015250565b5f6151b4600f83614843565b91506151bf82615180565b602082019050919050565b5f6020820190508181035f8301526151e1816151a8565b9050919050565b7f4e4f5420535441525400000000000000000000000000000000000000000000005f82015250565b5f61521c600983614843565b9150615227826151e8565b602082019050919050565b5f6020820190508181035f83015261524981615210565b9050919050565b7f524f554e44204944204552524f520000000000000000000000000000000000005f82015250565b5f615284600e83614843565b915061528f82615250565b602082019050919050565b5f6020820190508181035f8301526152b181615278565b9050919050565b7f434c41494d4544000000000000000000000000000000000000000000000000005f82015250565b5f6152ec600783614843565b91506152f7826152b8565b602082019050919050565b5f6020820190508181035f830152615319816152e0565b9050919050565b7f5354414b45204552524f520000000000000000000000000000000000000000005f82015250565b5f615354600b83614843565b915061535f82615320565b602082019050919050565b5f6020820190508181035f83015261538181615348565b9050919050565b60c082015f82015161539c5f85018261411b565b5060208201516153af602085018261411b565b5060408201516153c2604085018261411b565b5060608201516153d5606085018261411b565b5060808201516153e8608085018261411b565b5060a08201516153fb60a085018261411b565b50505050565b5f60c0820190506154145f830184615388565b92915050565b5f805f6060848603121561543157615430613f77565b5b5f61543e86828701615021565b935050602061544f86828701614d32565b925050604061546086828701614d32565b9150509250925092565b61547381614fb3565b82525050565b61548281614feb565b82525050565b61016082015f82015161549d5f85018261410c565b5060208201516154b0602085018261410c565b5060408201516154c3604085018261546a565b5060608201516154d66060850182615479565b5060808201516154e96080850182615479565b5060a08201516154fc60a085018261411b565b5060c082015161550f60c085018261411b565b5060e082015161552260e085018261411b565b5061010082015161553761010085018261411b565b5061012082015161554c61012085018261410c565b5061014082015161556161014085018261411b565b50505050565b5f6101608201905061557b5f830184615488565b92915050565b5f805f806080858703121561559957615598613f77565b5b5f6155a687828801614d32565b94505060206155b787828801615021565b93505060406155c887828801614d32565b92505060606155d987828801614d32565b91505092959194509250565b5f6155ef82614018565b91506155fa83614018565b925082820190506fffffffffffffffffffffffffffffffff81111561562257615621614a39565b5b92915050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f61565e61565961565484615628565b6143f1565b615631565b9050919050565b61566e81615644565b82525050565b5f6020820190506156875f830184615665565b92915050565b7f5a45524f204144445245535300000000000000000000000000000000000000005f82015250565b5f6156c1600c83614843565b91506156cc8261568d565b602082019050919050565b5f6020820190508181035f8301526156ee816156b5565b9050919050565b5f6156ff82613f7f565b915061570a83613f7f565b925082820261571881613f7f565b9150828204841483151761572f5761572e614a39565b5b5092915050565b5f61574082613f7f565b915061574b83613f7f565b92508261575b5761575a614acc565b5b828204905092915050565b7f4e4f2052455741524400000000000000000000000000000000000000000000005f82015250565b5f61579a600983614843565b91506157a582615766565b602082019050919050565b5f6020820190508181035f8301526157c78161578e565b9050919050565b5f6040820190506157e15f830185613ff0565b6157ee6020830184613ff0565b9392505050565b5f60a0820190506158085f830188613ff0565b6158156020830187613ff0565b6158226040830186613ff0565b61582f6060830185613ff0565b61583c6080830184613ff0565b9695505050505050565b5f6060820190506158595f830186614706565b6158666020830185614706565b6158736040830184613ff0565b949350505050565b5f81519050919050565b5f81905092915050565b5f6158998261587b565b6158a38185615885565b93506158b3818560208601614853565b80840191505092915050565b5f6158ca828461588f565b915081905092915050565b5f8115159050919050565b6158e9816158d5565b81146158f3575f80fd5b50565b5f81519050615904816158e0565b92915050565b5f6020828403121561591f5761591e613f77565b5b5f61592c848285016158f6565b91505092915050565b7f53544600000000000000000000000000000000000000000000000000000000005f82015250565b5f615969600383614843565b915061597482615935565b602082019050919050565b5f6020820190508181035f8301526159968161595d565b9050919050565b5f6040820190506159b05f830185614706565b6159bd6020830184613ff0565b9392505050565b7f53540000000000000000000000000000000000000000000000000000000000005f82015250565b5f6159f8600283614843565b9150615a03826159c4565b602082019050919050565b5f6020820190508181035f830152615a25816159ec565b9050919050565b615a35816145f7565b8114615a3f575f80fd5b50565b5f81519050615a5081615a2c565b92915050565b5f60208284031215615a6b57615a6a613f77565b5b5f615a7884828501615a42565b91505092915050565b7f53410000000000000000000000000000000000000000000000000000000000005f82015250565b5f615ab5600283614843565b9150615ac082615a81565b602082019050919050565b5f6020820190508181035f830152615ae281615aa9565b905091905056fea2646970667358221220916eaa6d2c98134715309d8d2a61bb9d833d74253b96d42b2ee3514fe4f971c764736f6c634300081a0033