0 txs
1.7k 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, uint256 jagerMin, uint256 usd1Min)
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
0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152503480156041575f80fd5b50608051615c206100685f395f81816132d80152818161332d01526134e70152615c205ff3fe608060405260043610610219575f3560e01c80637b0472f011610122578063ad3cb1cc116100aa578063edca914c1161006e578063edca914c146107db578063f2fde38b146107f1578063f8ea475614610819578063fbc8b21d14610846578063feeabb141461088257610219565b8063ad3cb1cc146106f3578063b03f1e5f1461071d578063c75ebb8214610747578063d2c4901114610783578063e547bb91146107c557610219565b80638a38aac6116100f15780638a38aac6146105e85780638da5cb5b146106245780638ef8975a1461064e57806392ac643a14610678578063947c197d146106b757610219565b80637b0472f0146105565780637db7cf751461057e5780638129fc1c146105a85780638a19c8bc146105be57610219565b806336b3087e116101a5578063466f6c6b11610174578063466f6c6b146104aa5780634f1ef286146104d257806352d1902d146104ee5780635a4ffdb214610518578063715018a61461054057610219565b806336b3087e146103ed5780633ae1afda1461042e578063412f7b601461045857806342f618ea1461048257610219565b80630b59714d116101ec5780630b59714d146102e75780630e1edbaf14610323578063150b7a021461035f5780632b8b5f7f1461039b57806333bfe76f146103c557610219565b8063020e85d71461021d57806302387a7b14610259578063052f0ff7146102815780630a804b70146102bd575b5f80fd5b348015610228575f80fd5b50610243600480360381019061023e9190614063565b6108ac565b60405161025091906140b0565b60405180910390f35b348015610264575f80fd5b5061027f600480360381019061027a919061410e565b610992565b005b34801561028c575f80fd5b506102a760048036038101906102a29190614139565b6109a2565b6040516102b491906140b0565b60405180910390f35b3480156102c8575f80fd5b506102d16109c2565b6040516102de91906140b0565b60405180910390f35b3480156102f2575f80fd5b5061030d60048036038101906103089190614139565b6109ce565b60405161031a91906140b0565b60405180910390f35b34801561032e575f80fd5b5061034960048036038101906103449190614139565b610adc565b6040516103569190614287565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190614332565b610ca8565b60405161039291906143f0565b60405180910390f35b3480156103a6575f80fd5b506103af610ebe565b6040516103bc91906140b0565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e69190614139565b610ec4565b005b3480156103f8575f80fd5b50610413600480360381019061040e9190614409565b610fb8565b60405161042596959493929190614443565b60405180910390f35b348015610439575f80fd5b5061044261100b565b60405161044f91906140b0565b60405180910390f35b348015610463575f80fd5b5061046c611010565b60405161047991906144fd565b60405180910390f35b34801561048d575f80fd5b506104a860048036038101906104a39190614139565b611035565b005b3480156104b5575f80fd5b506104d060048036038101906104cb9190614516565b611209565b005b6104ec60048036038101906104e7919061469e565b61121a565b005b3480156104f9575f80fd5b50610502611239565b60405161050f9190614710565b60405180910390f35b348015610523575f80fd5b5061053e6004803603810190610539919061477e565b61126a565b005b34801561054b575f80fd5b506105546112ab565b005b348015610561575f80fd5b5061057c60048036038101906105779190614063565b6112be565b005b348015610589575f80fd5b5061059261193c565b60405161059f91906140b0565b60405180910390f35b3480156105b3575f80fd5b506105bc611941565b005b3480156105c9575f80fd5b506105d2611da4565b6040516105df91906140b0565b60405180910390f35b3480156105f3575f80fd5b5061060e600480360381019061060991906147c9565b611daa565b60405161061b91906140b0565b60405180910390f35b34801561062f575f80fd5b50610638611eef565b6040516106459190614816565b60405180910390f35b348015610659575f80fd5b50610662611f24565b60405161066f91906140b0565b60405180910390f35b348015610683575f80fd5b5061069e600480360381019061069991906147c9565b611f2a565b6040516106ae949392919061482f565b60405180910390f35b3480156106c2575f80fd5b506106dd60048036038101906106d89190614139565b611f61565b6040516106ea919061491a565b60405180910390f35b3480156106fe575f80fd5b50610707612153565b604051610714919061499a565b60405180910390f35b348015610728575f80fd5b5061073161218c565b60405161073e91906140b0565b60405180910390f35b348015610752575f80fd5b5061076d60048036038101906107689190614409565b612193565b60405161077a91906140b0565b60405180910390f35b34801561078e575f80fd5b506107a960048036038101906107a49190614139565b612293565b6040516107bc97969594939291906149ba565b60405180910390f35b3480156107d0575f80fd5b506107d96122d1565b005b3480156107e6575f80fd5b506107ef612377565b005b3480156107fc575f80fd5b5061081760048036038101906108129190614409565b6128ce565b005b348015610824575f80fd5b5061082d612952565b60405161083d9493929190614a27565b60405180910390f35b348015610851575f80fd5b5061086c60048036038101906108679190614139565b61298a565b60405161087991906140b0565b60405180910390f35b34801561088d575f80fd5b50610896612aa4565b6040516108a391906140b0565b60405180910390f35b5f8060045f8581526020019081526020015f206005015403610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fa90614ab4565b60405180910390fd5b600c8210610946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093d90614b1c565b60405180910390fd5b600c826001600c6109579190614b67565b60045f8781526020019081526020015f20600601546109769190614b9a565b6109809190614b67565b61098a9190614bfa565b905092915050565b61099f3382600180612aab565b50565b600381815481106109b1575f80fd5b905f5260205f20015f915090505481565b670de0b6b3a764000081565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a49928660405180606001604052807355d398326f99059ff775485246999027b319795573ffffffffffffffffffffffffffffffffffffffff16815260200173bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c73ffffffffffffffffffffffffffffffffffffffff168152602001858152506040518263ffffffff1660e01b8152600401610a969190614c6a565b602060405180830381865afa158015610ab1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ad59190614c97565b9050919050565b60605f60045f8481526020019081526020015f206005015403610b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2b90614ab4565b60405180910390fd5b5f600c60045f8581526020019081526020015f206005015410610b5857600c610b6e565b60045f8481526020019081526020015f20600501545b90505f8167ffffffffffffffff811115610b8b57610b8a61457a565b5b604051908082528060200260200182016040528015610bc457816020015b610bb1613f8b565b815260200190600190039081610ba95790505b5090505f5b8151811015610c9d575f610bdd86836108ac565b9050604051806040016040528060065f8981526020019081526020015f2083600c8110610c0d57610c0c614cc2565b5b015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160075f8981526020019081526020015f2083600c8110610c6c57610c6b614cc2565b5b0154815250838381518110610c8457610c83614cc2565b5b6020026020010181905250508080600101915050610bc9565b508092505050919050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90614d39565b60405180910390fd5b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399fbab88866040518263ffffffff1660e01b8152600401610d9391906140b0565b61018060405180830381865afa158015610daf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd39190614f51565b90507374836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff16816040015173ffffffffffffffffffffffffffffffffffffffff16148015610e6b5750738d0d000ee44948fc98c9b98a4fa4921476f08b0d73ffffffffffffffffffffffffffffffffffffffff16816060015173ffffffffffffffffffffffffffffffffffffffff16145b610eaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea190614fc7565b60405180910390fd5b63150b7a0260e01b91505095945050505050565b61151881565b610ecc612fca565b5f600d5411610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f079061502f565b60405180910390fd5b610f307374836cc0e821a6be18e407e6388e430b689c66e933308461301e565b8060045f600d5481526020019081526020015f206003015f828254610f559190614b9a565b92505081905550600d543373ffffffffffffffffffffffffffffffffffffffff167fe9219f0afa1ee0c093fd57e5d140f7b071cb8fa78498bbb9e4e5d0ae7850569583604051610fa591906140b0565b60405180910390a3610fb5613170565b50565b600c602052805f5260405f205f91509050805f015f9054906101000a90046fffffffffffffffffffffffffffffffff16908060010154908060020154908060030154908060040154908060050154905086565b607881565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61103d612fca565b5f8111801561104d5750600d5481105b61108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108390615097565b60405180910390fd5b5f60055f8381526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600201541461111d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611114906150ff565b60405180910390fd5b5f6111288233611daa565b90508060055f8481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206002015f8282546111889190614b9a565b925050819055506111ae7374836cc0e821a6be18e407e6388e430b689c66e93383613187565b813373ffffffffffffffffffffffffffffffffffffffff167f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a836040516111f591906140b0565b60405180910390a350611206613170565b50565b61121533848484612aab565b505050565b6112226132d6565b61122b826133bc565b61123582826133c7565b5050565b5f6112426134e5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b5f5b828290508110156112a65761129983838381811061128d5761128c614cc2565b5b90506020020135611035565b808060010191505061126c565b505050565b6112b361356c565b6112bc5f6135f3565b565b6112c6612fca565b5f821180156112d457505f81115b611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a90615167565b60405180910390fd5b6113337374836cc0e821a6be18e407e6388e430b689c66e933308561301e565b611353738d0d000ee44948fc98c9b98a4fa4921476f08b0d33308461301e565b5f600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f6040518060800160405280836004015481526020015f6fffffffffffffffffffffffffffffffff1681526020015f81526020015f81525090505f815f015111156115155760015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663219f5d176040518060c00160405280845f015181526020018781526020018681526020016064605f896114449190615185565b61144e91906151c6565b81526020016064605f886114629190615185565b61146c91906151c6565b8152602001428152506040518263ffffffff1660e01b8152600401611491919061526f565b6060604051808303815f875af11580156114ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114d19190615288565b8360200184604001856060018381525083815250836fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250505050611717565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663883164566040518061016001604052807374836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff168152602001738d0d000ee44948fc98c9b98a4fa4921476f08b0d73ffffffffffffffffffffffffffffffffffffffff168152602001606462ffffff1681526020017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2766060020b8152602001620d89a060020b81526020018781526020018681526020016064605f8961161a9190615185565b61162491906151c6565b81526020016064605f886116389190615185565b61164291906151c6565b81526020013073ffffffffffffffffffffffffffffffffffffffff168152602001428152506040518263ffffffff1660e01b815260040161168391906153d5565b6080604051808303815f875af115801561169f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116c391906153ef565b845f018560200186604001876060018481525084815250846fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152508481525050505050805f015182600401819055505b8381604001511015611752576117517374836cc0e821a6be18e407e6388e430b689c66e93383604001518761174c9190614b67565b613187565b5b828160600151101561178d5761178c738d0d000ee44948fc98c9b98a4fa4921476f08b0d338360600151866117879190614b67565b613187565b5b611796336136c4565b62278d00426117a59190614b9a565b82600501819055508060200151825f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff166117de9190615453565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555061183b825f015f9054906101000a90046fffffffffffffffffffffffffffffffff16613719565b8260010181905550806020015160085f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff166118759190615453565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167f1cc8aa2946466578e10101ba72fa4ece587627bfb305bd8853f48d86f922da23825f0151845f015f9054906101000a90046fffffffffffffffffffffffffffffffff16846020015185604001518660600151604051611926959493929190615496565b60405180910390a25050611938613170565b5050565b600c81565b5f61194a613757565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f808267ffffffffffffffff161480156119925750825b90505f60018367ffffffffffffffff161480156119c557505f3073ffffffffffffffffffffffffffffffffffffffff163b145b9050811580156119d3575080155b15611a0a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315611a57576001855f0160086101000a81548160ff0219169083151502179055505b611a5f61376a565b611a6761377c565b611a7033613786565b73678aa4bf4e210cf2166753e054d5b7c31cc7fa865f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507346a15b0b27311cedf172ab29e4f4766fbe7f436460015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c67ffffffffffffffff811115611b3257611b3161457a565b5b604051908082528060200260200182016040528015611b605781602001602082028036833780820191505090505b5060039080519060200190611b76929190613fb9565b5061afc860035f81548110611b8e57611b8d614cc2565b5b905f5260205f2001819055506113886003600181548110611bb257611bb1614cc2565b5b905f5260205f200181905550610bb86003600281548110611bd657611bd5614cc2565b5b905f5260205f2001819055505f805b600c811015611c6c575f60038281548110611c0357611c02614cc2565b5b905f5260205f20015403611c35576103e860038281548110611c2857611c27614cc2565b5b905f5260205f2001819055505b60038181548110611c4957611c48614cc2565b5b905f5260205f20015482611c5d9190614b9a565b91508080600101915050611be5565b5080620186a0611c7c9190614b67565b600281905550611ce27374836cc0e821a6be18e407e6388e430b689c66e960015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61379a565b611d42738d0d000ee44948fc98c9b98a4fa4921476f08b0d60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61379a565b508315611d9d575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051611d949190615533565b60405180910390a15b5050505050565b600d5481565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1090615596565b60405180910390fd5b5f80611e2485611f61565b90505f5b8151811015611ee357818181518110611e4457611e43614cc2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611ed657620186a060038281548110611e9657611e95614cc2565b5b905f5260205f20015460045f8981526020019081526020015f2060030154611ebe9190615185565b611ec891906151c6565b83611ed39190614b9a565b92505b8080600101915050611e28565b50819250505092915050565b5f80611ef96138e9565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b60025481565b6005602052815f5260405f20602052805f5260405f205f9150915050805f0154908060010154908060020154908060030154905084565b60605f60045f8481526020019081526020015f206005015403611fb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb090614ab4565b60405180910390fd5b5f60065f8481526020019081526020015f20600c806020026040519081016040528092919082600c8015612037576020028201915b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611fee575b505050505090505f600c60045f8681526020019081526020015f20600501541061206257600c612078565b60045f8581526020019081526020015f20600501545b67ffffffffffffffff8111156120915761209061457a565b5b6040519080825280602002602001820160405280156120bf5781602001602082028036833780820191505090505b5090505f5b815181101561214857826120d886836108ac565b600c81106120e9576120e8614cc2565b5b602002015182828151811061210157612100614cc2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506120c4565b508092505050919050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b6202a30081565b5f80600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060c00160405290815f82015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152505090505f816020015161226b835f0151613719565b6122759190614b67565b90508160600151816122879190614b9a565b90508092505050919050565b6004602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154905087565b6122d9612fca565b6122e2336136c4565b5f600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206003015411612364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235b906155fe565b60405180910390fd5b61236d33613910565b612375613170565b565b61237f612fca565b5f60045f600d5481526020019081526020015f2090505f815f015414806123a95750806001015442115b156124e3576001600d546123bd9190614b9a565b600d819055505f620186a060025483600301546123da9190615185565b6123e491906151c6565b90506040518060e00160405280428152602001611518426124059190614b9a565b8152602001670de0b6b3a764000081526020018281526020015f81526020015f81526020015f81525060045f600d5481526020019081526020015f205f820151815f01556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015590505060045f600d5481526020019081526020015f209150600d547f6335d9a954a31d127d43737ee99cf9c5b5f5b0c4c813c136886bef6217092e518360010154836040516124d592919061561c565b60405180910390a250612539565b4281600101541115612538575f6202a300426124ff9190614b9a565b90505f607883600101546125139190614b9a565b90508181101561252b57808360010181905550612535565b8183600101819055505b50505b5b5f612547826002015461298a565b90505f620186a06188b88361255c9190615185565b61256691906151c6565b90505f620186a061c3508461257b9190615185565b61258591906151c6565b90505f620186a0613a988561259a9190615185565b6125a491906151c6565b90506125c87374836cc0e821a6be18e407e6388e430b689c66e93361dead8661301e565b6125f37374836cc0e821a6be18e407e6388e430b689c66e9333086886125ee9190614b67565b61301e565b600d543373ffffffffffffffffffffffffffffffffffffffff167fa3e4c1e0ae8ee07facda4387f56b6ed0e8f049c05f1865f593dc24c3352478fa8760020154886001015487878760405161264c959493929190615643565b60405180910390a381856003015f8282546126679190614b9a565b9250508190555080856004015f8282546126819190614b9a565b92505081905550670de0b6b3a7640000670de444324c2a800086600201546126a99190615185565b6126b391906151c6565b85600201819055506001856005015f8282546126cf9190614b9a565b925050819055503360065f600d5481526020019081526020015f208660060154600c8110612700576126ff614cc2565b5b015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260075f600d5481526020019081526020015f208660060154600c811061276857612767614cc2565b5b0181905550600c600186600601546127809190614b9a565b61278a9190614bfa565b85600601819055504260055f600d5481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2060030181905550600160055f600d5481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282546128489190614b9a565b925050819055508360055f600d5481526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8282546128af9190614b9a565b925050819055506128bf81613a46565b50505050506128cc613170565b565b6128d661356c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612946575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161293d9190614816565b60405180910390fd5b61294f816135f3565b50565b6008805f015f9054906101000a90046fffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905084565b5f80612995836109ce565b90505f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638a499286604051806060016040528073bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c73ffffffffffffffffffffffffffffffffffffffff1681526020017374836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff168152602001848152506040518263ffffffff1660e01b8152600401612a5d9190614c6a565b602060405180830381865afa158015612a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9c9190614c97565b915050919050565b62278d0081565b612ab3612fca565b5f836fffffffffffffffffffffffffffffffff1611612b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612afe906156de565b60405180910390fd5b5f600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090504281600501541115612b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8590615746565b60405180910390fd5b836fffffffffffffffffffffffffffffffff16815f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161015612c13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0a906157ae565b60405180910390fd5b612c1c856136c4565b83815f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff16612c4991906157cc565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550612ca6815f015f9054906101000a90046fffffffffffffffffffffffffffffffff16613719565b81600101819055508360085f015f8282829054906101000a90046fffffffffffffffffffffffffffffffff16612cdc91906157cc565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505f604051806080016040528083600401548152602001866fffffffffffffffffffffffffffffffff1681526020015f81526020015f815250905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c49ccbe6040518060a00160405280845f0151815260200184602001516fffffffffffffffffffffffffffffffff168152602001878152602001868152602001428152506040518263ffffffff1660e01b8152600401612de59190615884565b60408051808303815f875af1158015612e00573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e24919061589d565b505060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc6f78656040518060800160405280845f015181526020018973ffffffffffffffffffffffffffffffffffffffff1681526020016fffffffffffffffffffffffffffffffff801681526020016fffffffffffffffffffffffffffffffff80168152506040518263ffffffff1660e01b8152600401612edd919061592e565b60408051808303815f875af1158015612ef8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f1c919061589d565b826040018360600182815250828152505050612f3786613910565b8573ffffffffffffffffffffffffffffffffffffffff167f9236d36df997ea76f837423b571c76c75282371542694485308b95288eb73f3b825f0151845f015f9054906101000a90046fffffffffffffffffffffffffffffffff16846020015185604001518660600151604051612fb2959493929190615496565b60405180910390a25050612fc4613170565b50505050565b5f612fd3613b10565b90506002815f015403613012576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002815f018190555050565b5f808573ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b86868660405160240161305493929190615947565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516130be91906159c0565b5f604051808303815f865af19150503d805f81146130f7576040519150601f19603f3d011682016040523d82523d5f602084013e6130fc565b606091505b509150915081801561312957505f815114806131285750808060200190518101906131279190615a0b565b5b5b613168576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161315f90615a80565b60405180910390fd5b505050505050565b5f613179613b10565b90506001815f018190555050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b85856040516024016131bb929190615a9e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161322591906159c0565b5f604051808303815f865af19150503d805f811461325e576040519150601f19603f3d011682016040523d82523d5f602084013e613263565b606091505b509150915081801561329057505f8151148061328f57508080602001905181019061328e9190615a0b565b5b5b6132cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132c690615b0f565b60405180910390fd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061338357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661336a613b37565b73ffffffffffffffffffffffffffffffffffffffff1614155b156133ba576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6133c461356c565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561342f57506040513d601f19601f8201168201806040525081019061342c9190615b57565b60015b61347057816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016134679190614816565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b81146134d657806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016134cd9190614710565b60405180910390fd5b6134e08383613b8a565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461356a576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b613574613bfc565b73ffffffffffffffffffffffffffffffffffffffff16613592611eef565b73ffffffffffffffffffffffffffffffffffffffff16146135f1576135b5613bfc565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016135e89190614816565b60405180910390fd5b565b5f6135fc6138e9565b90505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082825f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b5f6136ce82612193565b905080600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600301819055505050565b5f670de0b6b3a7640000600860010154836fffffffffffffffffffffffffffffffff166137469190615185565b61375091906151c6565b9050919050565b5f80613761613c03565b90508091505090565b613772613c2c565b61377a613c6c565b565b613784613c2c565b565b61378e613c2c565b61379781613c8b565b50565b5f808473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360e01b85856040516024016137ce929190615a9e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161383891906159c0565b5f604051808303815f865af19150503d805f8114613871576040519150601f19603f3d011682016040523d82523d5f602084013e613876565b606091505b50915091508180156138a357505f815114806138a25750808060200190518101906138a19190615a0b565b5b5b6138e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138d990615bcc565b60405180910390fd5b5050505050565b5f7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b5f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816003015490505f8103613966575050613a43565b5f826003018190555080826002015f8282546139829190614b9a565b925050819055508060086003015f82825461399d9190614b9a565b925050819055506139cb825f015f9054906101000a90046fffffffffffffffffffffffffffffffff16613719565b82600101819055506139f27374836cc0e821a6be18e407e6388e430b689c66e98483613187565b8273ffffffffffffffffffffffffffffffffffffffff167f7b659b56d43a68f77e7227908e26d2c4a1d869e43b3e4b1787fee7b15ce72c8f82604051613a3891906140b0565b60405180910390a250505b50565b5f811480613a8457505f60085f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16145b613b0d5760085f015f9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16670de0b6b3a764000082613ace9190615185565b613ad891906151c6565b600860010154613ae89190614b9a565b6008600101819055508060086002015f828254613b059190614b9a565b925050819055505b50565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00905090565b5f613b637f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b613d0f565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b613b9382613d18565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f81511115613bef57613be98282613de1565b50613bf8565b613bf7613e61565b5b5050565b5f33905090565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005f1b905090565b613c34613e9d565b613c6a576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b613c74613c2c565b5f613c7d613b10565b90506001815f018190555050565b613c93613c2c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613d03575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401613cfa9190614816565b60405180910390fd5b613d0c816135f3565b50565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b03613d7357806040517f4c9c8ce3000000000000000000000000000000000000000000000000000000008152600401613d6a9190614816565b60405180910390fd5b80613d9f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b613d0f565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051613e0a91906159c0565b5f60405180830381855af49150503d805f8114613e42576040519150601f19603f3d011682016040523d82523d5f602084013e613e47565b606091505b5091509150613e57858383613ebb565b9250505092915050565b5f341115613e9b576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f613ea6613757565b5f0160089054906101000a900460ff16905090565b606082613ed057613ecb82613f48565b613f40565b5f8251148015613ef657505f8473ffffffffffffffffffffffffffffffffffffffff163b145b15613f3857836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401613f2f9190614816565b60405180910390fd5b819050613f41565b5b9392505050565b5f81511115613f5957805160208201fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180604001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b828054828255905f5260205f20908101928215613ff3579160200282015b82811115613ff2578251825591602001919060010190613fd7565b5b5090506140009190614004565b5090565b5b8082111561401b575f815f905550600101614005565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61404281614030565b811461404c575f80fd5b50565b5f8135905061405d81614039565b92915050565b5f806040838503121561407957614078614028565b5b5f6140868582860161404f565b92505060206140978582860161404f565b9150509250929050565b6140aa81614030565b82525050565b5f6020820190506140c35f8301846140a1565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b6140ed816140c9565b81146140f7575f80fd5b50565b5f81359050614108816140e4565b92915050565b5f6020828403121561412357614122614028565b5b5f614130848285016140fa565b91505092915050565b5f6020828403121561414e5761414d614028565b5b5f61415b8482850161404f565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6141b68261418d565b9050919050565b6141c6816141ac565b82525050565b6141d581614030565b82525050565b604082015f8201516141ef5f8501826141bd565b50602082015161420260208501826141cc565b50505050565b5f61421383836141db565b60408301905092915050565b5f602082019050919050565b5f61423582614164565b61423f818561416e565b935061424a8361417e565b805f5b8381101561427a5781516142618882614208565b975061426c8361421f565b92505060018101905061424d565b5085935050505092915050565b5f6020820190508181035f83015261429f818461422b565b905092915050565b6142b0816141ac565b81146142ba575f80fd5b50565b5f813590506142cb816142a7565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126142f2576142f16142d1565b5b8235905067ffffffffffffffff81111561430f5761430e6142d5565b5b60208301915083600182028301111561432b5761432a6142d9565b5b9250929050565b5f805f805f6080868803121561434b5761434a614028565b5b5f614358888289016142bd565b9550506020614369888289016142bd565b945050604061437a8882890161404f565b935050606086013567ffffffffffffffff81111561439b5761439a61402c565b5b6143a7888289016142dd565b92509250509295509295909350565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6143ea816143b6565b82525050565b5f6020820190506144035f8301846143e1565b92915050565b5f6020828403121561441e5761441d614028565b5b5f61442b848285016142bd565b91505092915050565b61443d816140c9565b82525050565b5f60c0820190506144565f830189614434565b61446360208301886140a1565b61447060408301876140a1565b61447d60608301866140a1565b61448a60808301856140a1565b61449760a08301846140a1565b979650505050505050565b5f819050919050565b5f6144c56144c06144bb8461418d565b6144a2565b61418d565b9050919050565b5f6144d6826144ab565b9050919050565b5f6144e7826144cc565b9050919050565b6144f7816144dd565b82525050565b5f6020820190506145105f8301846144ee565b92915050565b5f805f6060848603121561452d5761452c614028565b5b5f61453a868287016140fa565b935050602061454b8682870161404f565b925050604061455c8682870161404f565b9150509250925092565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6145b08261456a565b810181811067ffffffffffffffff821117156145cf576145ce61457a565b5b80604052505050565b5f6145e161401f565b90506145ed82826145a7565b919050565b5f67ffffffffffffffff82111561460c5761460b61457a565b5b6146158261456a565b9050602081019050919050565b828183375f83830152505050565b5f61464261463d846145f2565b6145d8565b90508281526020810184848401111561465e5761465d614566565b5b614669848285614622565b509392505050565b5f82601f830112614685576146846142d1565b5b8135614695848260208601614630565b91505092915050565b5f80604083850312156146b4576146b3614028565b5b5f6146c1858286016142bd565b925050602083013567ffffffffffffffff8111156146e2576146e161402c565b5b6146ee85828601614671565b9150509250929050565b5f819050919050565b61470a816146f8565b82525050565b5f6020820190506147235f830184614701565b92915050565b5f8083601f84011261473e5761473d6142d1565b5b8235905067ffffffffffffffff81111561475b5761475a6142d5565b5b602083019150836020820283011115614777576147766142d9565b5b9250929050565b5f806020838503121561479457614793614028565b5b5f83013567ffffffffffffffff8111156147b1576147b061402c565b5b6147bd85828601614729565b92509250509250929050565b5f80604083850312156147df576147de614028565b5b5f6147ec8582860161404f565b92505060206147fd858286016142bd565b9150509250929050565b614810816141ac565b82525050565b5f6020820190506148295f830184614807565b92915050565b5f6080820190506148425f8301876140a1565b61484f60208301866140a1565b61485c60408301856140a1565b61486960608301846140a1565b95945050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6148a683836141bd565b60208301905092915050565b5f602082019050919050565b5f6148c882614872565b6148d2818561487c565b93506148dd8361488c565b805f5b8381101561490d5781516148f4888261489b565b97506148ff836148b2565b9250506001810190506148e0565b5085935050505092915050565b5f6020820190508181035f83015261493281846148be565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61496c8261493a565b6149768185614944565b9350614986818560208601614954565b61498f8161456a565b840191505092915050565b5f6020820190508181035f8301526149b28184614962565b905092915050565b5f60e0820190506149cd5f83018a6140a1565b6149da60208301896140a1565b6149e760408301886140a1565b6149f460608301876140a1565b614a0160808301866140a1565b614a0e60a08301856140a1565b614a1b60c08301846140a1565b98975050505050505050565b5f608082019050614a3a5f830187614434565b614a4760208301866140a1565b614a5460408301856140a1565b614a6160608301846140a1565b95945050505050565b7f524f554e44204e4f5420535441525400000000000000000000000000000000005f82015250565b5f614a9e600f83614944565b9150614aa982614a6a565b602082019050919050565b5f6020820190508181035f830152614acb81614a92565b9050919050565b7f52414e4b20494e444558204f5554204f462052414e47450000000000000000005f82015250565b5f614b06601783614944565b9150614b1182614ad2565b602082019050919050565b5f6020820190508181035f830152614b3381614afa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614b7182614030565b9150614b7c83614030565b9250828203905081811115614b9457614b93614b3a565b5b92915050565b5f614ba482614030565b9150614baf83614030565b9250828201905080821115614bc757614bc6614b3a565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614c0482614030565b9150614c0f83614030565b925082614c1f57614c1e614bcd565b5b828206905092915050565b606082015f820151614c3e5f8501826141bd565b506020820151614c5160208501826141bd565b506040820151614c6460408501826141cc565b50505050565b5f606082019050614c7d5f830184614c2a565b92915050565b5f81519050614c9181614039565b92915050565b5f60208284031215614cac57614cab614028565b5b5f614cb984828501614c83565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e4f5420414c4c4f574544204e465400000000000000000000000000000000005f82015250565b5f614d23600f83614944565b9150614d2e82614cef565b602082019050919050565b5f6020820190508181035f830152614d5081614d17565b9050919050565b5f80fd5b5f6bffffffffffffffffffffffff82169050919050565b614d7b81614d5b565b8114614d85575f80fd5b50565b5f81519050614d9681614d72565b92915050565b5f81519050614daa816142a7565b92915050565b5f62ffffff82169050919050565b614dc781614db0565b8114614dd1575f80fd5b50565b5f81519050614de281614dbe565b92915050565b5f8160020b9050919050565b614dfd81614de8565b8114614e07575f80fd5b50565b5f81519050614e1881614df4565b92915050565b5f81519050614e2c816140e4565b92915050565b5f6101808284031215614e4857614e47614d57565b5b614e536101806145d8565b90505f614e6284828501614d88565b5f830152506020614e7584828501614d9c565b6020830152506040614e8984828501614d9c565b6040830152506060614e9d84828501614d9c565b6060830152506080614eb184828501614dd4565b60808301525060a0614ec584828501614e0a565b60a08301525060c0614ed984828501614e0a565b60c08301525060e0614eed84828501614e1e565b60e083015250610100614f0284828501614c83565b61010083015250610120614f1884828501614c83565b61012083015250610140614f2e84828501614e1e565b61014083015250610160614f4484828501614e1e565b6101608301525092915050565b5f6101808284031215614f6757614f66614028565b5b5f614f7484828501614e32565b91505092915050565b7f4e465420544f4b454e204552524f5200000000000000000000000000000000005f82015250565b5f614fb1600f83614944565b9150614fbc82614f7d565b602082019050919050565b5f6020820190508181035f830152614fde81614fa5565b9050919050565b7f4e4f5420535441525400000000000000000000000000000000000000000000005f82015250565b5f615019600983614944565b915061502482614fe5565b602082019050919050565b5f6020820190508181035f8301526150468161500d565b9050919050565b7f524f554e44204944204552524f520000000000000000000000000000000000005f82015250565b5f615081600e83614944565b915061508c8261504d565b602082019050919050565b5f6020820190508181035f8301526150ae81615075565b9050919050565b7f434c41494d4544000000000000000000000000000000000000000000000000005f82015250565b5f6150e9600783614944565b91506150f4826150b5565b602082019050919050565b5f6020820190508181035f830152615116816150dd565b9050919050565b7f5354414b45204552524f520000000000000000000000000000000000000000005f82015250565b5f615151600b83614944565b915061515c8261511d565b602082019050919050565b5f6020820190508181035f83015261517e81615145565b9050919050565b5f61518f82614030565b915061519a83614030565b92508282026151a881614030565b915082820484148315176151bf576151be614b3a565b5b5092915050565b5f6151d082614030565b91506151db83614030565b9250826151eb576151ea614bcd565b5b828204905092915050565b60c082015f82015161520a5f8501826141cc565b50602082015161521d60208501826141cc565b50604082015161523060408501826141cc565b50606082015161524360608501826141cc565b50608082015161525660808501826141cc565b5060a082015161526960a08501826141cc565b50505050565b5f60c0820190506152825f8301846151f6565b92915050565b5f805f6060848603121561529f5761529e614028565b5b5f6152ac86828701614e1e565b93505060206152bd86828701614c83565b92505060406152ce86828701614c83565b9150509250925092565b6152e181614db0565b82525050565b6152f081614de8565b82525050565b61016082015f82015161530b5f8501826141bd565b50602082015161531e60208501826141bd565b50604082015161533160408501826152d8565b50606082015161534460608501826152e7565b50608082015161535760808501826152e7565b5060a082015161536a60a08501826141cc565b5060c082015161537d60c08501826141cc565b5060e082015161539060e08501826141cc565b506101008201516153a56101008501826141cc565b506101208201516153ba6101208501826141bd565b506101408201516153cf6101408501826141cc565b50505050565b5f610160820190506153e95f8301846152f6565b92915050565b5f805f806080858703121561540757615406614028565b5b5f61541487828801614c83565b945050602061542587828801614e1e565b935050604061543687828801614c83565b925050606061544787828801614c83565b91505092959194509250565b5f61545d826140c9565b9150615468836140c9565b925082820190506fffffffffffffffffffffffffffffffff8111156154905761548f614b3a565b5b92915050565b5f60a0820190506154a95f8301886140a1565b6154b66020830187614434565b6154c36040830186614434565b6154d060608301856140a1565b6154dd60808301846140a1565b9695505050505050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f61551d615518615513846154e7565b6144a2565b6154f0565b9050919050565b61552d81615503565b82525050565b5f6020820190506155465f830184615524565b92915050565b7f5a45524f204144445245535300000000000000000000000000000000000000005f82015250565b5f615580600c83614944565b915061558b8261554c565b602082019050919050565b5f6020820190508181035f8301526155ad81615574565b9050919050565b7f4e4f2052455741524400000000000000000000000000000000000000000000005f82015250565b5f6155e8600983614944565b91506155f3826155b4565b602082019050919050565b5f6020820190508181035f830152615615816155dc565b9050919050565b5f60408201905061562f5f8301856140a1565b61563c60208301846140a1565b9392505050565b5f60a0820190506156565f8301886140a1565b61566360208301876140a1565b61567060408301866140a1565b61567d60608301856140a1565b61568a60808301846140a1565b9695505050505050565b7f5a45524f000000000000000000000000000000000000000000000000000000005f82015250565b5f6156c8600483614944565b91506156d382615694565b602082019050919050565b5f6020820190508181035f8301526156f5816156bc565b9050919050565b7f5354494c4c204c4f434b454400000000000000000000000000000000000000005f82015250565b5f615730600c83614944565b915061573b826156fc565b602082019050919050565b5f6020820190508181035f83015261575d81615724565b9050919050565b7f494e56414c4944204c49515549444954590000000000000000000000000000005f82015250565b5f615798601183614944565b91506157a382615764565b602082019050919050565b5f6020820190508181035f8301526157c58161578c565b9050919050565b5f6157d6826140c9565b91506157e1836140c9565b925082820390506fffffffffffffffffffffffffffffffff81111561580957615808614b3a565b5b92915050565b615818816140c9565b82525050565b60a082015f8201516158325f8501826141cc565b506020820151615845602085018261580f565b50604082015161585860408501826141cc565b50606082015161586b60608501826141cc565b50608082015161587e60808501826141cc565b50505050565b5f60a0820190506158975f83018461581e565b92915050565b5f80604083850312156158b3576158b2614028565b5b5f6158c085828601614c83565b92505060206158d185828601614c83565b9150509250929050565b608082015f8201516158ef5f8501826141cc565b50602082015161590260208501826141bd565b506040820151615915604085018261580f565b506060820151615928606085018261580f565b50505050565b5f6080820190506159415f8301846158db565b92915050565b5f60608201905061595a5f830186614807565b6159676020830185614807565b61597460408301846140a1565b949350505050565b5f81519050919050565b5f81905092915050565b5f61599a8261597c565b6159a48185615986565b93506159b4818560208601614954565b80840191505092915050565b5f6159cb8284615990565b915081905092915050565b5f8115159050919050565b6159ea816159d6565b81146159f4575f80fd5b50565b5f81519050615a05816159e1565b92915050565b5f60208284031215615a2057615a1f614028565b5b5f615a2d848285016159f7565b91505092915050565b7f53544600000000000000000000000000000000000000000000000000000000005f82015250565b5f615a6a600383614944565b9150615a7582615a36565b602082019050919050565b5f6020820190508181035f830152615a9781615a5e565b9050919050565b5f604082019050615ab15f830185614807565b615abe60208301846140a1565b9392505050565b7f53540000000000000000000000000000000000000000000000000000000000005f82015250565b5f615af9600283614944565b9150615b0482615ac5565b602082019050919050565b5f6020820190508181035f830152615b2681615aed565b9050919050565b615b36816146f8565b8114615b40575f80fd5b50565b5f81519050615b5181615b2d565b92915050565b5f60208284031215615b6c57615b6b614028565b5b5f615b7984828501615b43565b91505092915050565b7f53410000000000000000000000000000000000000000000000000000000000005f82015250565b5f615bb6600283614944565b9150615bc182615b82565b602082019050919050565b5f6020820190508181035f830152615be381615baa565b905091905056fea26469706673582212208708e27f87f3e23a3ff0d321e14781e123cfa92b74c28f6e993253736515f53964736f6c634300081a0033