1 tx
2 calls
constructor
constructor(address _jumpboxToken, address _feeRecipient, address _owner)
functions
canWithdraw
viewfunction canWithdraw(uint256 lockId) view returns (bool)
emergencyPaused
viewfunction emergencyPaused() view returns (bool)
feeRecipient
viewfunction feeRecipient() view returns (address)
getLock
viewfunction getLock(uint256 lockId) view returns (tuple)
getLockSafe
viewfunction getLockSafe(uint256 lockId) view returns (tuple, bool exists)
getStats
viewfunction getStats() view returns (uint256 _totalValueLocked, uint256 _totalLocksCreated, uint256 _totalFeesCollected, uint256 _currentLockId)
getTimeRemaining
viewfunction getTimeRemaining(uint256 lockId) view returns (uint256)
getUserActiveLocksWithPagination
viewfunction getUserActiveLocksWithPagination(address user, uint256 offset, uint256 limit) view returns (tuple[], uint256 totalActive)
getUserLocks
viewfunction getUserLocks(address user) view returns (uint256[])
jumpboxToken
viewfunction jumpboxToken() view returns (address)
locks
viewfunction locks(uint256) view returns (uint256 lockId, address owner, uint256 amount, uint256 lockTime, uint256 unlockTime, uint256 originalDuration, bool isActive, string lockType)
LONG_TERM_THRESHOLD
viewfunction LONG_TERM_THRESHOLD() view returns (uint256)
longTermFee
viewfunction longTermFee() view returns (uint256)
MAX_LOCK_TYPE_LENGTH
viewfunction MAX_LOCK_TYPE_LENGTH() view returns (uint256)
MAX_LOCKS_PER_USER
viewfunction MAX_LOCKS_PER_USER() view returns (uint256)
minimumLockAmount
viewfunction minimumLockAmount() view returns (uint256)
newLockFee
viewfunction newLockFee() view returns (uint256)
owner
viewfunction owner() view returns (address)
renewalFee
viewfunction renewalFee() view returns (uint256)
totalFeesCollected
viewfunction totalFeesCollected() view returns (uint256)
totalLocksCreated
viewfunction totalLocksCreated() view returns (uint256)
totalValueLocked
viewfunction totalValueLocked() view returns (uint256)
userLocks
viewfunction userLocks(address, uint256) view returns (uint256)
verifyContractIntegrity
viewfunction verifyContractIntegrity() view returns (bool isValid, uint256 calculatedTVL)
addTokensToLock
nonpayablefunction addTokensToLock(uint256 lockId, uint256 amount)
createLock
nonpayablefunction createLock(uint256 amount, uint256 duration, string lockType) returns (uint256)
emergencyPause
nonpayablefunction emergencyPause()
emergencyUnpause
nonpayablefunction emergencyUnpause()
extendLockNewDuration
nonpayablefunction extendLockNewDuration(uint256 lockId, uint256 newDuration)
extendLockSameDuration
nonpayablefunction extendLockSameDuration(uint256 lockId)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateFeeRecipient
nonpayablefunction updateFeeRecipient(address _newRecipient)
updateFees
nonpayablefunction updateFees(uint256 _newLockFee, uint256 _longTermFee, uint256 _renewalFee)
updateMinimumLockAmount
nonpayablefunction updateMinimumLockAmount(uint256 _newMinimum)
withdraw
nonpayablefunction withdraw(uint256 lockId)
events
AdditionalTokensLocked
event AdditionalTokensLocked(uint256 indexed lockId, address indexed owner, uint256 additionalAmount, uint256 fee)
EmergencyPause
event EmergencyPause()
EmergencyUnpause
event EmergencyUnpause()
FeeConfigUpdated
event FeeConfigUpdated(uint256 newLockFee, uint256 longTermFee, uint256 renewalFee)
FeeRecipientUpdated
event FeeRecipientUpdated(address indexed oldRecipient, address indexed newRecipient)
LockCreated
event LockCreated(uint256 indexed lockId, address indexed owner, uint256 amount, uint256 duration, uint256 unlockTime, uint256 fee, string lockType)
LockExtended
event LockExtended(uint256 indexed lockId, address indexed owner, uint256 newUnlockTime, uint256 extensionDuration, uint256 fee)
MinimumLockAmountUpdated
event MinimumLockAmountUpdated(uint256 oldMinimum, uint256 newMinimum)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokensWithdrawn
event TokensWithdrawn(uint256 indexed lockId, address indexed owner, uint256 amount)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a060405260fa60025560c86003556032600455683635c9adc5dea0000060065560016007555f600d5f6101000a81548160ff021916908315150217905550348015610049575f5ffd5b50604051615468380380615468833981810160405281019061006b919061036a565b805f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100dc575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100d391906103c9565b60405180910390fd5b6100eb8161024b60201b60201c565b50600180819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101589061043c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101c6906104a4565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050506104c2565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61033982610310565b9050919050565b6103498161032f565b8114610353575f5ffd5b50565b5f8151905061036481610340565b92915050565b5f5f5f606084860312156103815761038061030c565b5b5f61038e86828701610356565b935050602061039f86828701610356565b92505060406103b086828701610356565b9150509250925092565b6103c38161032f565b82525050565b5f6020820190506103dc5f8301846103ba565b92915050565b5f82825260208201905092915050565b7f496e76616c696420746f6b656e206164647265737300000000000000000000005f82015250565b5f6104266015836103e2565b9150610431826103f2565b602082019050919050565b5f6020820190508181035f8301526104538161041a565b9050919050565b7f496e76616c69642066656520726563697069656e7400000000000000000000005f82015250565b5f61048e6015836103e2565b91506104998261045a565b602082019050919050565b5f6020820190508181035f8301526104bb81610482565b9050919050565b608051614f416105275f395f8181610a1b01528181610afa01528181610b6f0152818161110b0152818161187101528181611a8401528181611c9b01528181611d1001528181612428015281816125280152818161289f015261299f0152614f415ff3fe608060405234801561000f575f5ffd5b506004361061021a575f3560e01c80638e9e547a11610123578063e47019a3116100ab578063f12b6d8e1161007a578063f12b6d8e146105e9578063f160d3691461061a578063f2fde38b14610636578063f4dadc6114610652578063fbe85f06146106895761021a565b8063e47019a314610574578063e625e65014610590578063ec18154e146105af578063ef68e9fe146105cd5761021a565b8063ac6133fa116100f2578063ac6133fa146104cb578063b06e2a18146104e9578063c59d484714610507578063d68f4dd114610528578063d7e70ce4146105585761021a565b80638e9e547a1461042f57806397eea5261461044d578063a362d9e81461046b578063aa33fedb1461049b5761021a565b806346904840116101a657806357165ab61161017557806357165ab61461039b57806360c6d8ae146103b9578063715018a6146103d75780638cd42991146103e15780638da5cb5b146104115761021a565b806346904840146103385780634a4e3bd5146103565780634e518f011461036057806351858e27146103915761021a565b806323a35de9116101ed57806323a35de91461029257806327c830a9146102c25780632e1a7d4d146102e05780633abb8d30146102fc57806344f53c011461031a5761021a565b8063080b301e1461021e578063209893451461023c578063213b17d91461025a5780632242908514610276575b5f5ffd5b6102266106b9565b604051610233919061347a565b60405180910390f35b6102446106bf565b604051610251919061347a565b60405180910390f35b610274600480360381019061026f91906134ce565b6106c5565b005b610290600480360381019061028b919061350c565b610c6f565b005b6102ac60048036038101906102a791906135b6565b610dde565b6040516102b99190613698565b60405180910390f35b6102ca610e71565b6040516102d791906136d2565b60405180910390f35b6102fa60048036038101906102f591906136eb565b610e83565b005b6103046111ad565b604051610311919061347a565b60405180910390f35b6103226111b5565b60405161032f919061347a565b60405180910390f35b6103406111bb565b60405161034d9190613725565b60405180910390f35b61035e6111e0565b005b61037a6004803603810190610375919061373e565b61122f565b604051610388929190613984565b60405180910390f35b610399611647565b005b6103a3611697565b6040516103b0919061347a565b60405180910390f35b6103c161169c565b6040516103ce919061347a565b60405180910390f35b6103df6116a2565b005b6103fb60048036038101906103f691906136eb565b6116b5565b604051610408919061347a565b60405180910390f35b610419611842565b6040516104269190613725565b60405180910390f35b610437611869565b604051610444919061347a565b60405180910390f35b61045561186f565b6040516104629190613a0d565b60405180910390f35b61048560048036038101906104809190613b52565b611893565b604051610492919061347a565b60405180910390f35b6104b560048036038101906104b09190613bbe565b611fa5565b6040516104c2919061347a565b60405180910390f35b6104d3611fd0565b6040516104e0919061347a565b60405180910390f35b6104f1611fd5565b6040516104fe919061347a565b60405180910390f35b61050f611fdb565b60405161051f9493929190613bfc565b60405180910390f35b610542600480360381019061053d91906136eb565b612005565b60405161054f9190613cec565b60405180910390f35b610572600480360381019061056d91906136eb565b612161565b005b61058e600480360381019061058991906136eb565b61224b565b005b610598612606565b6040516105a6929190613d0c565b60405180910390f35b6105b7612682565b6040516105c4919061347a565b60405180910390f35b6105e760048036038101906105e291906134ce565b612688565b005b61060360048036038101906105fe91906136eb565b612a7d565b604051610611929190613d33565b60405180910390f35b610634600480360381019061062f91906135b6565b612cb2565b005b610650600480360381019061064b91906135b6565b612deb565b005b61066c600480360381019061066791906136eb565b612e6f565b604051610680989796959493929190613da9565b60405180910390f35b6106a3600480360381019061069e91906136eb565b612f64565b6040516106b091906136d2565b60405180910390f35b60045481565b600b5481565b6106cd6130d2565b600d5f9054906101000a900460ff161561071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390613e76565b60405180910390fd5b815f73ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590613ede565b60405180910390fd5b823373ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085790613f46565b60405180910390fd5b6006548310156108a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089c90613fae565b60405180910390fd5b60085f8581526020019081526020015f206006015f9054906101000a900460ff16610905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fc90614016565b60405180910390fd5b60085f8581526020019081526020015f2060040154421061095b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109529061407e565b60405180910390fd5b5f6127106002548561096d91906140c9565b6109779190614137565b90505f81856109869190614167565b90505f81116109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c19061420a565b60405180910390fd5b5f8211806109d957505f600254145b610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f90614298565b60405180910390fd5b847f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401610a729190613725565b602060405180830381865afa158015610a8d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab191906142ca565b1015610af2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae99061433f565b60405180910390fd5b610b3f3330877f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16613118909392919063ffffffff16565b5f821115610bcc57610bb360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661319a9092919063ffffffff16565b81600c5f828254610bc4919061435d565b925050819055505b8060085f8881526020019081526020015f206002015f828254610bef919061435d565b9250508190555080600a5f828254610c07919061435d565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16867f17f3950c90deae62b516c04eafd672e1d82ea55c98d4247cbaeddef39c6c42358385604051610c57929190614390565b60405180910390a350505050610c6b613219565b5050565b610c77613222565b6103e8831115610cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb390614401565b60405180910390fd5b6103e8821115610d01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf890614469565b60405180910390fd5b6103e8811115610d46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3d906144d1565b60405180910390fd5b82821115610d89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d809061455f565b60405180910390fd5b8260028190555081600381905550806004819055507f7db0317b48d5cfa60fe5406abab969900e8dfb1ecbe177a05af0595780cb85c7838383604051610dd19392919061457d565b60405180910390a1505050565b606060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610e6557602002820191905f5260205f20905b815481526020019060010190808311610e51575b50505050509050919050565b600d5f9054906101000a900460ff1681565b610e8b6130d2565b805f73ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610f2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2490613ede565b60405180910390fd5b813373ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc690613f46565b60405180910390fd5b5f60085f8581526020019081526020015f209050806006015f9054906101000a900460ff16611033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102a90614016565b60405180910390fd5b806004015442101561107a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611071906145fc565b60405180910390fd5b5f8160020154116110c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b790614664565b60405180910390fd5b5f816002015490505f826006015f6101000a81548160ff0219169083151502179055505f826002018190555080600a5f8282546110fd9190614167565b9250508190555061114f33827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661319a9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff16857f3f5fbaf86658fdadee77f1d46e7f8a72424ad9839eda6a1dc6eb0a4228e4226e83604051611196919061347a565b60405180910390a3505050506111aa613219565b50565b6301e1338081565b60065481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111e8613222565b5f600d5f6101000a81548160ff0219169083151502179055507fca6fb755568ad0528a4c4d7dcc83bcdf8088d4f25e0e744bdd3b034df23a9b2b60405160405180910390a1565b60605f5f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054806020026020016040519081016040528092919081815260200182805480156112b857602002820191905f5260205f20905b8154815260200190600101908083116112a4575b505050505090505f5f90505f5f90505b825181101561132d5760085f8483815181106112e7576112e6614682565b5b602002602001015181526020019081526020015f206006015f9054906101000a900460ff161561132057818061131c906146af565b9250505b80806001019150506112c8565b505f85905081871061139a575f67ffffffffffffffff81111561135357611352613a2e565b5b60405190808252806020026020018201604052801561138c57816020015b61137961340c565b8152602001906001900390816113715790505b50829450945050505061163f565b8186886113a7919061435d565b11156113bc5786826113b99190614167565b90505b5f8167ffffffffffffffff8111156113d7576113d6613a2e565b5b60405190808252806020026020018201604052801561141057816020015b6113fd61340c565b8152602001906001900390816113f55790505b5090505f5f90505f5f90505f5f90505b86518110801561142f57508482105b156116315760085f88838151811061144a57611449614682565b5b602002602001015181526020019081526020015f206006015f9054906101000a900460ff161561161e578a831061160f5760085f88838151811061149157611490614682565b5b602002602001015181526020019081526020015f20604051806101000160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff1615151515815260200160078201805461156290614723565b80601f016020809104026020016040519081016040528092919081815260200182805461158e90614723565b80156115d95780601f106115b0576101008083540402835291602001916115d9565b820191905f5260205f20905b8154815290600101906020018083116115bc57829003601f168201915b5050505050815250508483815181106115f5576115f4614682565b5b6020026020010181905250818061160b906146af565b9250505b828061161a906146af565b9350505b8080611629906146af565b915050611420565b508285975097505050505050505b935093915050565b61164f613222565b6001600d5f6101000a81548160ff0219169083151502179055507f3e57324ebc928dc97e854b615371af91a7a504fc11ceca59a720828c0f1ec5f060405160405180910390a1565b606481565b600c5481565b6116aa613222565b6116b35f6132a9565b565b5f5f60085f8481526020019081526020015f20604051806101000160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff1615151515815260200160078201805461178490614723565b80601f01602080910402602001604051908101604052809291908181526020018280546117b090614723565b80156117fb5780601f106117d2576101008083540402835291602001916117fb565b820191905f5260205f20905b8154815290600101906020018083116117de57829003601f168201915b50505050508152505090508060c00151158061181b575080608001514210155b15611829575f91505061183d565b4281608001516118399190614167565b9150505b919050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035481565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f61189c6130d2565b600d5f9054906101000a900460ff16156118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e290613e76565b60405180910390fd5b600654841015611930576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119279061479d565b60405180910390fd5b5f8311611972576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196990614805565b60405180910390fd5b6312cc03008311156119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b09061486d565b60405180910390fd5b606460095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905010611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a33906148d5565b60405180910390fd5b602082511115611a81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a789061493d565b60405180910390fd5b837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401611adb9190613725565b602060405180830381865afa158015611af6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b1a91906142ca565b1015611b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b529061433f565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075410611bbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb6906149a5565b60405180910390fd5b5f6301e13380841015611bd457600254611bd8565b6003545b90505f6127108287611bea91906140c9565b611bf49190614137565b90505f8187611c039190614167565b90505f8111611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90614a0d565b60405180910390fd5b5f821180611c5457505f83145b611c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8a90614298565b60405180910390fd5b611ce03330897f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16613118909392919063ffffffff16565b5f821115611d6d57611d5460055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661319a9092919063ffffffff16565b81600c5f828254611d65919061435d565b925050819055505b5f60075f815480929190611d80906146af565b9190505590505f8742611d93919061435d565b90506040518061010001604052808381526020013373ffffffffffffffffffffffffffffffffffffffff1681526020018481526020014281526020018281526020018981526020016001151581526020018881525060085f8481526020019081526020015f205f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015f6101000a81548160ff02191690831515021790555060e0820151816007019081611ea39190614bc2565b5090505060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082908060018154018082558091505060019003905f5260205f20015f909190919091505582600a5f828254611f19919061435d565b92505081905550600b5f815480929190611f32906146af565b91905055503373ffffffffffffffffffffffffffffffffffffffff16827f07da3df515909691857682042b0490cfa2d51b4e7d980b3beb39ce01a32b09e5858b85898d604051611f86959493929190614c91565b60405180910390a38195505050505050611f9e613219565b9392505050565b6009602052815f5260405f208181548110611fbe575f80fd5b905f5260205f20015f91509150505481565b602081565b60025481565b5f5f5f5f600a54600b54600c546001600754611ff79190614167565b935093509350935090919293565b61200d61340c565b60085f8381526020019081526020015f20604051806101000160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff161515151581526020016007820180546120da90614723565b80601f016020809104026020016040519081016040528092919081815260200182805461210690614723565b80156121515780601f1061212857610100808354040283529160200191612151565b820191905f5260205f20905b81548152906001019060200180831161213457829003601f168201915b5050505050815250509050919050565b612169613222565b670de0b6b3a76400008110156121b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ab90614d59565b60405180910390fd5b69d3c21bcecceda1000000811115612201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f890614dc1565b60405180910390fd5b5f6006549050816006819055507f2bfe46bceac7bb502ec724e937b7927df79478c82c7d7e0126b08f6145bd384d818360405161223f929190614390565b60405180910390a15050565b6122536130d2565b805f73ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec90613ede565b60405180910390fd5b813373ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238e90613f46565b60405180910390fd5b5f60085f8581526020019081526020015f209050806006015f9054906101000a900460ff166123fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f290614016565b60405180910390fd5b5f816005015490505f612710600454846002015461241991906140c9565b6124239190614137565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b815260040161247f9190613725565b602060405180830381865afa15801561249a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124be91906142ca565b10156124ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f690614e29565b60405180910390fd5b61256d3360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16613118909392919063ffffffff16565b80600c5f82825461257e919061435d565b9250508190555081836004015f828254612598919061435d565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16867f8f8be6528903a6915c892e372907867c81729012238179421c61864a5c5c3c56856004015485856040516125ee9392919061457d565b60405180910390a35050505050612603613219565b50565b5f5f5f5f90505f600190505b6007548110156126725760085f8281526020019081526020015f206006015f9054906101000a900460ff16156126655760085f8281526020019081526020015f206002015482612662919061435d565b91505b8080600101915050612612565b50600a5481148192509250509091565b600a5481565b6126906130d2565b815f73ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272990613ede565b60405180910390fd5b823373ffffffffffffffffffffffffffffffffffffffff1660085f8381526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146127d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127cb90613f46565b60405180910390fd5b5f8311612816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280d90614805565b60405180910390fd5b5f60085f8681526020019081526020015f209050806006015f9054906101000a900460ff1661287a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287190614016565b60405180910390fd5b5f612710600454836002015461289091906140c9565b61289a9190614137565b9050807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016128f69190613725565b602060405180830381865afa158015612911573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061293591906142ca565b1015612976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161296d90614e29565b60405180910390fd5b6129e43360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16613118909392919063ffffffff16565b80600c5f8282546129f5919061435d565b9250508190555084826004015f828254612a0f919061435d565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16867f8f8be6528903a6915c892e372907867c81729012238179421c61864a5c5c3c5684600401548885604051612a659392919061457d565b60405180910390a350505050612a79613219565b5050565b612a8561340c565b5f5f73ffffffffffffffffffffffffffffffffffffffff1660085f8581526020019081526020015f206001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612b56576040518061010001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f1515815260200160405180602001604052805f8152508152505f91509150612cad565b60085f8481526020019081526020015f20600181604051806101000160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff16151515158152602001600782018054612c2690614723565b80601f0160208091040260200160405190810160405280929190818152602001828054612c5290614723565b8015612c9d5780601f10612c7457610100808354040283529160200191612c9d565b820191905f5260205f20905b815481529060010190602001808311612c8057829003601f168201915b5050505050815250509150915091505b915091565b612cba613222565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1f90614e91565b60405180910390fd5b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d360405160405180910390a35050565b612df3613222565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e63575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401612e5a9190613725565b60405180910390fd5b612e6c816132a9565b50565b6008602052805f5260405f205f91509050805f015490806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806002015490806003015490806004015490806005015490806006015f9054906101000a900460ff1690806007018054612ee390614723565b80601f0160208091040260200160405190810160405280929190818152602001828054612f0f90614723565b8015612f5a5780601f10612f3157610100808354040283529160200191612f5a565b820191905f5260205f20905b815481529060010190602001808311612f3d57829003601f168201915b5050505050905088565b5f5f60085f8481526020019081526020015f20604051806101000160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015f9054906101000a900460ff1615151515815260200160078201805461303390614723565b80601f016020809104026020016040519081016040528092919081815260200182805461305f90614723565b80156130aa5780601f10613081576101008083540402835291602001916130aa565b820191905f5260205f20905b81548152906001019060200180831161308d57829003601f168201915b50505050508152505090508060c0015180156130ca575080608001514210155b915050919050565b60026001540361310e576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b613194848573ffffffffffffffffffffffffffffffffffffffff166323b872dd86868660405160240161314d93929190614eaf565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061336a565b50505050565b613214838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016131cd929190614ee4565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061336a565b505050565b60018081905550565b61322a613405565b73ffffffffffffffffffffffffffffffffffffffff16613248611842565b73ffffffffffffffffffffffffffffffffffffffff16146132a75761326b613405565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161329e9190613725565b60405180910390fd5b565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5f60205f8451602086015f885af180613389576040513d5f823e3d81fd5b3d92505f519150505f82146133a25760018114156133bd565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b156133ff57836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016133f69190613725565b60405180910390fd5b50505050565b5f33905090565b6040518061010001604052805f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f81526020015f15158152602001606081525090565b5f819050919050565b61347481613462565b82525050565b5f60208201905061348d5f83018461346b565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b6134ad81613462565b81146134b7575f5ffd5b50565b5f813590506134c8816134a4565b92915050565b5f5f604083850312156134e4576134e361349c565b5b5f6134f1858286016134ba565b9250506020613502858286016134ba565b9150509250929050565b5f5f5f606084860312156135235761352261349c565b5b5f613530868287016134ba565b9350506020613541868287016134ba565b9250506040613552868287016134ba565b9150509250925092565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6135858261355c565b9050919050565b6135958161357b565b811461359f575f5ffd5b50565b5f813590506135b08161358c565b92915050565b5f602082840312156135cb576135ca61349c565b5b5f6135d8848285016135a2565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61361381613462565b82525050565b5f613624838361360a565b60208301905092915050565b5f602082019050919050565b5f613646826135e1565b61365081856135eb565b935061365b836135fb565b805f5b8381101561368b5781516136728882613619565b975061367d83613630565b92505060018101905061365e565b5085935050505092915050565b5f6020820190508181035f8301526136b0818461363c565b905092915050565b5f8115159050919050565b6136cc816136b8565b82525050565b5f6020820190506136e55f8301846136c3565b92915050565b5f60208284031215613700576136ff61349c565b5b5f61370d848285016134ba565b91505092915050565b61371f8161357b565b82525050565b5f6020820190506137385f830184613716565b92915050565b5f5f5f606084860312156137555761375461349c565b5b5f613762868287016135a2565b9350506020613773868287016134ba565b9250506040613784868287016134ba565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6137c08161357b565b82525050565b6137cf816136b8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f613817826137d5565b61382181856137df565b93506138318185602086016137ef565b61383a816137fd565b840191505092915050565b5f61010083015f83015161385b5f86018261360a565b50602083015161386e60208601826137b7565b506040830151613881604086018261360a565b506060830151613894606086018261360a565b5060808301516138a7608086018261360a565b5060a08301516138ba60a086018261360a565b5060c08301516138cd60c08601826137c6565b5060e083015184820360e08601526138e5828261380d565b9150508091505092915050565b5f6138fd8383613845565b905092915050565b5f602082019050919050565b5f61391b8261378e565b6139258185613798565b935083602082028501613937856137a8565b805f5b85811015613972578484038952815161395385826138f2565b945061395e83613905565b925060208a0199505060018101905061393a565b50829750879550505050505092915050565b5f6040820190508181035f83015261399c8185613911565b90506139ab602083018461346b565b9392505050565b5f819050919050565b5f6139d56139d06139cb8461355c565b6139b2565b61355c565b9050919050565b5f6139e6826139bb565b9050919050565b5f6139f7826139dc565b9050919050565b613a07816139ed565b82525050565b5f602082019050613a205f8301846139fe565b92915050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b613a64826137fd565b810181811067ffffffffffffffff82111715613a8357613a82613a2e565b5b80604052505050565b5f613a95613493565b9050613aa18282613a5b565b919050565b5f67ffffffffffffffff821115613ac057613abf613a2e565b5b613ac9826137fd565b9050602081019050919050565b828183375f83830152505050565b5f613af6613af184613aa6565b613a8c565b905082815260208101848484011115613b1257613b11613a2a565b5b613b1d848285613ad6565b509392505050565b5f82601f830112613b3957613b38613a26565b5b8135613b49848260208601613ae4565b91505092915050565b5f5f5f60608486031215613b6957613b6861349c565b5b5f613b76868287016134ba565b9350506020613b87868287016134ba565b925050604084013567ffffffffffffffff811115613ba857613ba76134a0565b5b613bb486828701613b25565b9150509250925092565b5f5f60408385031215613bd457613bd361349c565b5b5f613be1858286016135a2565b9250506020613bf2858286016134ba565b9150509250929050565b5f608082019050613c0f5f83018761346b565b613c1c602083018661346b565b613c29604083018561346b565b613c36606083018461346b565b95945050505050565b5f61010083015f830151613c555f86018261360a565b506020830151613c6860208601826137b7565b506040830151613c7b604086018261360a565b506060830151613c8e606086018261360a565b506080830151613ca1608086018261360a565b5060a0830151613cb460a086018261360a565b5060c0830151613cc760c08601826137c6565b5060e083015184820360e0860152613cdf828261380d565b9150508091505092915050565b5f6020820190508181035f830152613d048184613c3f565b905092915050565b5f604082019050613d1f5f8301856136c3565b613d2c602083018461346b565b9392505050565b5f6040820190508181035f830152613d4b8185613c3f565b9050613d5a60208301846136c3565b9392505050565b5f82825260208201905092915050565b5f613d7b826137d5565b613d858185613d61565b9350613d958185602086016137ef565b613d9e816137fd565b840191505092915050565b5f61010082019050613dbd5f83018b61346b565b613dca602083018a613716565b613dd7604083018961346b565b613de4606083018861346b565b613df1608083018761346b565b613dfe60a083018661346b565b613e0b60c08301856136c3565b81810360e0830152613e1d8184613d71565b90509998505050505050505050565b7f436f6e747261637420697320656d657267656e637920706175736564000000005f82015250565b5f613e60601c83613d61565b9150613e6b82613e2c565b602082019050919050565b5f6020820190508181035f830152613e8d81613e54565b9050919050565b7f4c6f636b20646f6573206e6f74206578697374000000000000000000000000005f82015250565b5f613ec8601383613d61565b9150613ed382613e94565b602082019050919050565b5f6020820190508181035f830152613ef581613ebc565b9050919050565b7f4e6f74206c6f636b206f776e65720000000000000000000000000000000000005f82015250565b5f613f30600e83613d61565b9150613f3b82613efc565b602082019050919050565b5f6020820190508181035f830152613f5d81613f24565b9050919050565b7f4164646974696f6e616c20616d6f756e742062656c6f77206d696e696d756d005f82015250565b5f613f98601f83613d61565b9150613fa382613f64565b602082019050919050565b5f6020820190508181035f830152613fc581613f8c565b9050919050565b7f4c6f636b206973206e6f742061637469766500000000000000000000000000005f82015250565b5f614000601283613d61565b915061400b82613fcc565b602082019050919050565b5f6020820190508181035f83015261402d81613ff4565b9050919050565b7f4c6f636b206861732065787069726564000000000000000000000000000000005f82015250565b5f614068601083613d61565b915061407382614034565b602082019050919050565b5f6020820190508181035f8301526140958161405c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6140d382613462565b91506140de83613462565b92508282026140ec81613462565b915082820484148315176141035761410261409c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61414182613462565b915061414c83613462565b92508261415c5761415b61410a565b5b828204905092915050565b5f61417182613462565b915061417c83613462565b92508282039050818111156141945761419361409c565b5b92915050565b7f4164646974696f6e616c20616d6f756e7420746f6f20736d616c6c20616674655f8201527f7220666565730000000000000000000000000000000000000000000000000000602082015250565b5f6141f4602683613d61565b91506141ff8261419a565b604082019050919050565b5f6020820190508181035f830152614221816141e8565b9050919050565b7f4665652063616c63756c6174696f6e20726573756c74656420696e207a65726f5f8201527f2066656500000000000000000000000000000000000000000000000000000000602082015250565b5f614282602483613d61565b915061428d82614228565b604082019050919050565b5f6020820190508181035f8301526142af81614276565b9050919050565b5f815190506142c4816134a4565b92915050565b5f602082840312156142df576142de61349c565b5b5f6142ec848285016142b6565b91505092915050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f614329601483613d61565b9150614334826142f5565b602082019050919050565b5f6020820190508181035f8301526143568161431d565b9050919050565b5f61436782613462565b915061437283613462565b925082820190508082111561438a5761438961409c565b5b92915050565b5f6040820190506143a35f83018561346b565b6143b0602083018461346b565b9392505050565b7f4e6577206c6f636b2066656520746f6f206869676820286d61782031302529005f82015250565b5f6143eb601f83613d61565b91506143f6826143b7565b602082019050919050565b5f6020820190508181035f830152614418816143df565b9050919050565b7f4c6f6e67207465726d2066656520746f6f206869676820286d617820313025295f82015250565b5f614453602083613d61565b915061445e8261441f565b602082019050919050565b5f6020820190508181035f83015261448081614447565b9050919050565b7f52656e6577616c2066656520746f6f206869676820286d6178203130252900005f82015250565b5f6144bb601e83613d61565b91506144c682614487565b602082019050919050565b5f6020820190508181035f8301526144e8816144af565b9050919050565b7f4c6f6e67207465726d20666565206d757374206265203c3d206e6577206c6f635f8201527f6b20666565000000000000000000000000000000000000000000000000000000602082015250565b5f614549602583613d61565b9150614554826144ef565b604082019050919050565b5f6020820190508181035f8301526145768161453d565b9050919050565b5f6060820190506145905f83018661346b565b61459d602083018561346b565b6145aa604083018461346b565b949350505050565b7f4c6f636b20686173206e6f7420657870697265642079657400000000000000005f82015250565b5f6145e6601883613d61565b91506145f1826145b2565b602082019050919050565b5f6020820190508181035f830152614613816145da565b9050919050565b7f4e6f20746f6b656e7320746f20776974686472617700000000000000000000005f82015250565b5f61464e601583613d61565b91506146598261461a565b602082019050919050565b5f6020820190508181035f83015261467b81614642565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6146b982613462565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036146eb576146ea61409c565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061473a57607f821691505b60208210810361474d5761474c6146f6565b5b50919050565b7f416d6f756e742062656c6f77206d696e696d756d206c6f636b20616d6f756e745f82015250565b5f614787602083613d61565b915061479282614753565b602082019050919050565b5f6020820190508181035f8301526147b48161477b565b9050919050565b7f4475726174696f6e206d7573742062652067726561746572207468616e2030005f82015250565b5f6147ef601f83613d61565b91506147fa826147bb565b602082019050919050565b5f6020820190508181035f83015261481c816147e3565b9050919050565b7f4475726174696f6e20746f6f206c6f6e6720286d6178203130207965617273295f82015250565b5f614857602083613d61565b915061486282614823565b602082019050919050565b5f6020820190508181035f8301526148848161484b565b9050919050565b7f546f6f206d616e7920616374697665206c6f636b7300000000000000000000005f82015250565b5f6148bf601583613d61565b91506148ca8261488b565b602082019050919050565b5f6020820190508181035f8301526148ec816148b3565b9050919050565b7f4c6f636b207479706520737472696e6720746f6f206c6f6e67000000000000005f82015250565b5f614927601983613d61565b9150614932826148f3565b602082019050919050565b5f6020820190508181035f8301526149548161491b565b9050919050565b7f4c6f636b20494420636f756e746572206f766572666c6f7700000000000000005f82015250565b5f61498f601883613d61565b915061499a8261495b565b602082019050919050565b5f6020820190508181035f8301526149bc81614983565b9050919050565b7f4c6f636b20616d6f756e7420746f6f20736d616c6c20616674657220666565735f82015250565b5f6149f7602083613d61565b9150614a02826149c3565b602082019050919050565b5f6020820190508181035f830152614a24816149eb565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614a877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614a4c565b614a918683614a4c565b95508019841693508086168417925050509392505050565b5f614ac3614abe614ab984613462565b6139b2565b613462565b9050919050565b5f819050919050565b614adc83614aa9565b614af0614ae882614aca565b848454614a58565b825550505050565b5f5f905090565b614b07614af8565b614b12818484614ad3565b505050565b5b81811015614b3557614b2a5f82614aff565b600181019050614b18565b5050565b601f821115614b7a57614b4b81614a2b565b614b5484614a3d565b81016020851015614b63578190505b614b77614b6f85614a3d565b830182614b17565b50505b505050565b5f82821c905092915050565b5f614b9a5f1984600802614b7f565b1980831691505092915050565b5f614bb28383614b8b565b9150826002028217905092915050565b614bcb826137d5565b67ffffffffffffffff811115614be457614be3613a2e565b5b614bee8254614723565b614bf9828285614b39565b5f60209050601f831160018114614c2a575f8415614c18578287015190505b614c228582614ba7565b865550614c89565b601f198416614c3886614a2b565b5f5b82811015614c5f57848901518255600182019150602085019450602081019050614c3a565b86831015614c7c5784890151614c78601f891682614b8b565b8355505b6001600288020188555050505b505050505050565b5f60a082019050614ca45f83018861346b565b614cb1602083018761346b565b614cbe604083018661346b565b614ccb606083018561346b565b8181036080830152614cdd8184613d71565b90509695505050505050565b7f4d696e696d756d20746f6f206c6f7720286d757374206265206174206c6561735f8201527f74203120746f6b656e2900000000000000000000000000000000000000000000602082015250565b5f614d43602a83613d61565b9150614d4e82614ce9565b604082019050919050565b5f6020820190508181035f830152614d7081614d37565b9050919050565b7f4d696e696d756d20746f6f206869676820286d617820314d20746f6b656e73295f82015250565b5f614dab602083613d61565b9150614db682614d77565b602082019050919050565b5f6020820190508181035f830152614dd881614d9f565b9050919050565b7f496e73756666696369656e742062616c616e636520666f7220666565000000005f82015250565b5f614e13601c83613d61565b9150614e1e82614ddf565b602082019050919050565b5f6020820190508181035f830152614e4081614e07565b9050919050565b7f496e76616c696420726563697069656e742061646472657373000000000000005f82015250565b5f614e7b601983613d61565b9150614e8682614e47565b602082019050919050565b5f6020820190508181035f830152614ea881614e6f565b9050919050565b5f606082019050614ec25f830186613716565b614ecf6020830185613716565b614edc604083018461346b565b949350505050565b5f604082019050614ef75f830185613716565b614f04602083018461346b565b939250505056fea264697066735822122088e261a05ff5b2e22981d04fbdcc196ce08656664c56676626a1b6821e33c2ad64736f6c634300081e00330000000000000000000000005b9957a7459347163881d19a87f6dc13291c2b070000000000000000000000007c3b6f7863fac4e9d2415b9bd286e22aeb264df4000000000000000000000000d50f3ddcf983f6f2dc57374aa849509e7798ebf7