0 txs
1 call
constructor
constructor(address _ctf, address _finder)
functions
admins
viewfunction admins(address) view returns (uint256)
collateralWhitelist
viewfunction collateralWhitelist() view returns (address)
ctf
viewfunction ctf() view returns (address)
EMERGENCY_SAFETY_PERIOD
viewfunction EMERGENCY_SAFETY_PERIOD() view returns (uint256)
getExpectedPayouts
viewfunction getExpectedPayouts(bytes32 questionID) view returns (uint256[])
getLatestUpdate
viewfunction getLatestUpdate(bytes32 questionID, address owner) view returns (tuple)
getQuestion
viewfunction getQuestion(bytes32 questionID) view returns (tuple)
getUpdates
viewfunction getUpdates(bytes32 questionID, address owner) view returns (tuple[])
isAdmin
viewfunction isAdmin(address addr) view returns (bool)
isFlagged
viewfunction isFlagged(bytes32 questionID) view returns (bool)
isInitialized
viewfunction isInitialized(bytes32 questionID) view returns (bool)
MAX_ANCILLARY_DATA
viewfunction MAX_ANCILLARY_DATA() view returns (uint256)
optimisticOracle
viewfunction optimisticOracle() view returns (address)
questions
viewfunction questions(bytes32) view returns (uint256 requestTimestamp, uint256 reward, uint256 proposalBond, uint256 liveness, uint256 emergencyResolutionTimestamp, bool resolved, bool paused, bool reset, bool refund, address rewardToken, address creator, bytes ancillaryData)
ready
viewfunction ready(bytes32 questionID) view returns (bool)
updates
viewfunction updates(bytes32, uint256) view returns (uint256 timestamp, bytes update)
YES_OR_NO_IDENTIFIER
viewfunction YES_OR_NO_IDENTIFIER() view returns (bytes32)
addAdmin
nonpayablefunction addAdmin(address admin)
emergencyResolve
nonpayablefunction emergencyResolve(bytes32 questionID, uint256[] payouts)
flag
nonpayablefunction flag(bytes32 questionID)
initialize
nonpayablefunction initialize(bytes ancillaryData, address rewardToken, uint256 reward, uint256 proposalBond, uint256 liveness) returns (bytes32 questionID)
pause
nonpayablefunction pause(bytes32 questionID)
postUpdate
nonpayablefunction postUpdate(bytes32 questionID, bytes update)
priceDisputed
nonpayablefunction priceDisputed(bytes32, uint256, bytes ancillaryData, uint256)
removeAdmin
nonpayablefunction removeAdmin(address admin)
renounceAdmin
nonpayablefunction renounceAdmin()
reset
nonpayablefunction reset(bytes32 questionID)
resolve
nonpayablefunction resolve(bytes32 questionID)
unflag
nonpayablefunction unflag(bytes32 questionID)
unpause
nonpayablefunction unpause(bytes32 questionID)
events
AncillaryDataUpdated
event AncillaryDataUpdated(bytes32 indexed questionID, address indexed owner, bytes update)
NewAdmin
event NewAdmin(address indexed admin, address indexed newAdminAddress)
QuestionEmergencyResolved
event QuestionEmergencyResolved(bytes32 indexed questionID, uint256[] payouts)
QuestionFlagged
event QuestionFlagged(bytes32 indexed questionID)
QuestionInitialized
event QuestionInitialized(bytes32 indexed questionID, uint256 indexed requestTimestamp, address indexed creator, bytes ancillaryData, address rewardToken, uint256 reward, uint256 proposalBond)
QuestionPaused
event QuestionPaused(bytes32 indexed questionID)
QuestionReset
event QuestionReset(bytes32 indexed questionID)
QuestionResolved
event QuestionResolved(bytes32 indexed questionID, int256 indexed settledPrice, uint256[] payouts)
QuestionUnflagged
event QuestionUnflagged(bytes32 indexed questionID)
QuestionUnpaused
event QuestionUnpaused(bytes32 indexed questionID)
RemovedAdmin
event RemovedAdmin(address indexed admin, address indexed removedAdmin)
errors
Flagged
error Flagged()
Initialized
error Initialized()
InvalidAncillaryData
error InvalidAncillaryData()
InvalidOOPrice
error InvalidOOPrice()
InvalidPayouts
error InvalidPayouts()
NotAdmin
error NotAdmin()
NotFlagged
error NotFlagged()
NotInitialized
error NotInitialized()
NotOptimisticOracle
error NotOptimisticOracle()
NotReadyToResolve
error NotReadyToResolve()
Paused
error Paused()
PriceNotAvailable
error PriceNotAvailable()
Resolved
error Resolved()
SafetyPeriodNotPassed
error SafetyPeriodNotPassed()
SafetyPeriodPassed
error SafetyPeriodPassed()
UnsupportedToken
error UnsupportedToken()
creation bytecode
0x60e06040523480156200001157600080fd5b506040516200561638038062005616833981810160405281019062000037919062000287565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060008190508073ffffffffffffffffffffffffffffffffffffffff1663aafd5e406040518163ffffffff1660e01b8152600401620000ed90620002f4565b602060405180830381865afa1580156200010b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200013191906200030f565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663aafd5e406040518163ffffffff1660e01b81526004016200019d9062000367565b602060405180830381865afa158015620001bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e191906200030f565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505062000382565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200024f8262000222565b9050919050565b620002618162000242565b81146200026d57600080fd5b50565b600081519050620002818162000256565b92915050565b60008060408385031215620002a157620002a06200021d565b5b6000620002b18582860162000270565b9250506020620002c48582860162000270565b9150509250929050565b7f4f7074696d69737469634f7261636c6556320000000000000000000000000000815250565b60006020820190506200030a60008301620002ce565b919050565b6000602082840312156200032857620003276200021d565b5b6000620003388482850162000270565b91505092915050565b7f436f6c6c61746572616c57686974656c69737400000000000000000000000000815250565b60006020820190506200037d6000830162000341565b919050565b60805160a05160c0516151fb6200041b6000396000818161099b0152611fdb01526000818161071201528181610c3a01528181610f1101528181612746015281816127e70152818161288c0152818161295101528181612a0001528181612ac101528181612b8e01528181612c5b0152612ed7015260008181610b3301528181610c5e01528181611e6a015261300c01526151fb6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636c66f07d116101045780639ce7c0e0116100a2578063ed3c7d4011610071578063ed3c7d4014610585578063ed56531a146105a1578063f7b637bb146105bd578063fcac49a2146105ed576101da565b80639ce7c0e0146104eb578063bf2dde3814610507578063c0cab0a214610537578063e4ee614a14610567576101da565b806388697de4116100de57806388697de41461045957806389ab0871146104755780638bad0c0a146104a657806395addb90146104b0576101da565b80636c66f07d14610403578063704802751461042157806378165a481461043d576101da565b806324d7806c1161017c578063429b62e51161014b578063429b62e514610357578063555c56fc1461038757806358c039cd146103b75780635c23bdf5146103e7576101da565b806324d7806c146102bd57806327f8feac146102ed5780632f4dae9f1461030b57806334e5e28e14610327576101da565b8063185d1646116101b8578063185d1646146102335780631cfaeaaf14610263578063223029221461028157806322a9339f1461029f576101da565b8063072d1259146101df5780630d8f2372146101fb5780631785f53c14610217575b600080fd5b6101f960048036038101906101f49190613904565b61061d565b005b61021560048036038101906102109190613996565b610710565b005b610231600480360381019061022c9190613a77565b61087e565b005b61024d60048036038101906102489190613aa4565b610997565b60405161025a9190613b4a565b60405180910390f35b61026b610c31565b6040516102789190613b74565b60405180910390f35b610289610c38565b6040516102969190613bee565b60405180910390f35b6102a7610c5c565b6040516102b49190613c2a565b60405180910390f35b6102d760048036038101906102d29190613a77565b610c80565b6040516102e49190613c60565b60405180910390f35b6102f5610ccb565b6040516103029190613b74565b60405180910390f35b61032560048036038101906103209190613c7b565b610cd1565b005b610341600480360381019061033c9190613c7b565b610ded565b60405161034e9190613d66565b60405180910390f35b610371600480360381019061036c9190613a77565b610fef565b60405161037e9190613b74565b60405180910390f35b6103a1600480360381019061039c9190613d88565b611007565b6040516103ae9190613f4f565b60405180910390f35b6103d160048036038101906103cc9190613c7b565b61113e565b6040516103de9190614093565b60405180910390f35b61040160048036038101906103fc9190613c7b565b611348565b005b61040b61147d565b6040516104189190613b4a565b60405180910390f35b61043b60048036038101906104369190613a77565b6114a1565b005b61045760048036038101906104529190613c7b565b6115ba565b005b610473600480360381019061046e9190613c7b565b611776565b005b61048f600480360381019061048a91906140b5565b611962565b60405161049d92919061413f565b60405180910390f35b6104ae611a2b565b005b6104ca60048036038101906104c59190613c7b565b611b43565b6040516104e29c9b9a9998979695949392919061417e565b60405180910390f35b6105056004803603810190610500919061429f565b611c9f565b005b610521600480360381019061051c9190613c7b565b611f37565b60405161052e9190613c60565b60405180910390f35b610551600480360381019061054c9190613d88565b611f5b565b60405161055e919061433c565b60405180910390f35b61056f611fd9565b60405161057c919061437f565b60405180910390f35b61059f600480360381019061059a9190613c7b565b611ffd565b005b6105bb60048036038101906105b69190613c7b565b612146565b005b6105d760048036038101906105d29190613c7b565b6122ab565b6040516105e49190613c60565b60405180910390f35b61060760048036038101906106029190613c7b565b6122cf565b6040516106149190613c60565b60405180910390f35b6000823360405160200161063292919061439a565b6040516020818303038152906040528051906020012090506001600082815260200190815260200160002060405180604001604052804281526020018481525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010190816106ba91906145c5565b5050503373ffffffffffffffffffffffffffffffffffffffff16837e59e11815211969c0c4aaf3f498b52b6c2f2d14f286275d0862d70de22a836b846040516107039190614697565b60405180910390a3505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610795576040517f05cef85500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008280519060200120905060006002600083815260200190815260200160002090508060050160009054906101000a900460ff161561082d576108268160050160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101546122f3565b5050610878565b8060050160029054906101000a900460ff16156108685760018160050160036101000a81548160ff0219169083151502179055505050610878565b6108753083600084612303565b50505b50505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146108f6576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e60405160405180910390a350565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16633a3ab672866040518263ffffffff1660e01b81526004016109f291906146b9565b602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190614700565b610a69576040517f6a17288200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a753388612451565b9050600087511480610a895750611fcb8151115b15610ac0576040517f9702d51200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80805190602001209150610ae5600260008481526020019081526020016000206124bc565b15610b1c576040517f5daa87a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000429050610b31338484848b8b8b8b6124d8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d96ee754308560026040518463ffffffff1660e01b8152600401610b8f93929190614768565b600060405180830381600087803b158015610ba957600080fd5b505af1158015610bbd573d6000803e3d6000fd5b50505050610bd03382848a8a8a8a6126dd565b3373ffffffffffffffffffffffffffffffffffffffff1681847feee0897acd6893adcaf2ba5158191b3601098ab6bece35c5d57874340b64c5b7858b8b8b604051610c1e949392919061479f565b60405180910390a4505095945050505050565b6202a30081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054149050919050565b611fcb81565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610d49576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260008381526020019081526020016000209050610d69816124bc565b610d9f576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008160050160016101000a81548160ff021916908315150217905550817f92d28918c5574e7fc0f4f948c39502682c81cfb4089b07b83f95b3264e5e5e0660405160405180910390a25050565b60606000600260008481526020019081526020016000209050610e0f816124bc565b610e45576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e4e81612c47565b15610e85576040517fe8e3a25900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160019054906101000a900460ff1615610ece576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ed781612c57565b610f0d576040517f579a480100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9904f9b307f5945535f4f525f4e4f5f515545525900000000000000000000000000000000008560000154866007016040518563ffffffff1660e01b8152600401610f95949392919061486f565b61020060405180830381865afa158015610fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd79190614b0b565b60c001519050610fe681612d27565b92505050919050565b60006020528060005260406000206000915090505481565b606060016000848460405160200161102092919061439a565b604051602081830303815290604052805190602001208152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156111325783829060005260206000209060020201604051806040016040529081600082015481526020016001820180546110a1906143f2565b80601f01602080910402602001604051908101604052809291908181526020018280546110cd906143f2565b801561111a5780601f106110ef5761010080835404028352916020019161111a565b820191906000526020600020905b8154815290600101906020018083116110fd57829003601f168201915b50505050508152505081526020019060010190611064565b50505050905092915050565b6111466136c5565b600260008381526020019081526020016000206040518061018001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820160009054906101000a900460ff161515151581526020016005820160019054906101000a900460ff161515151581526020016005820160029054906101000a900460ff161515151581526020016005820160039054906101000a900460ff161515151581526020016005820160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016007820180546112bf906143f2565b80601f01602080910402602001604051908101604052809291908181526020018280546112eb906143f2565b80156113385780601f1061130d57610100808354040283529160200191611338565b820191906000526020600020905b81548152906001019060200180831161131b57829003601f168201915b5050505050815250509050919050565b6000600260008381526020019081526020016000209050611368816124bc565b61139e576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160019054906101000a900460ff16156113e7576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160009054906101000a900460ff1615611430576040517fea00f1a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61143981612c57565b61146f576040517fb488fe4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114798282612ed3565b5050565b7f5945535f4f525f4e4f5f5155455259000000000000000000000000000000000081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611519576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ff9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc60405160405180910390a350565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611632576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260008381526020019081526020016000209050611652816124bc565b611688576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61169181612c47565b156116c8576040517fe8e3a25900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160009054906101000a900460ff1615611711576040517fea00f1a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6202a300426117209190614b68565b816004018190555060018160050160016101000a81548160ff021916908315150217905550817f2435a0347185933b12027c6f394a5fd9c03646dba233e956f50658719dfc0b3560405160405180910390a25050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146117ee576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060026000838152602001908152602001600020905061180e816124bc565b611844576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61184d81612c47565b611883576040517fbb825d1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160009054906101000a900460ff16156118cc576040517fea00f1a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806004015442111561190a576040517fab0bf2ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816004018190555060008160050160016101000a81548160ff021916908315150217905550817f052435bc04fc49113a7bfd9198a92c0852ca622a621800f6da66d4b29b786c0560405160405180910390a25050565b6001602052816000526040600020818154811061197e57600080fd5b9060005260206000209060020201600091509150508060000154908060010180546119a8906143f2565b80601f01602080910402602001604051908101604052809291908181526020018280546119d4906143f2565b8015611a215780601f106119f657610100808354040283529160200191611a21565b820191906000526020600020905b815481529060010190602001808311611a0457829003601f168201915b5050505050905082565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611aa3576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f787a2e12f4a55b658b8f573c32432ee11a5e8b51677d1e1e937aaf6a0bb5776e60405160405180910390a3565b60026020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154908060050160009054906101000a900460ff16908060050160019054906101000a900460ff16908060050160029054906101000a900460ff16908060050160039054906101000a900460ff16908060050160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806007018054611c1c906143f2565b80601f0160208091040260200160405190810160405280929190818152602001828054611c48906143f2565b8015611c955780601f10611c6a57610100808354040283529160200191611c95565b820191906000526020600020905b815481529060010190602001808311611c7857829003601f168201915b505050505090508c565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611d17576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260008581526020019081526020016000209050611d3883836130d7565b611d6e576040517f663493a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d77816124bc565b611dad576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611db681612c47565b611dec576040517fbb825d1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060040154421015611e2a576040517f2a2c257c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160050160006101000a81548160ff0219169083151502179055508060050160039054906101000a900460ff1615611e6857611e678161312b565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c49298ac8585856040518463ffffffff1660e01b8152600401611ec593929190614c1f565b600060405180830381600087803b158015611edf57600080fd5b505af1158015611ef3573d6000803e3d6000fd5b50505050837f6edb5841a476c9c29c34a652d1a44f785fe71a6157a3da9a6a6a589a1bd2945a8484604051611f29929190614c51565b60405180910390a250505050565b6000611f5460026000848152602001908152602001600020612c47565b9050919050565b611f6361375a565b6000611f6f8484611007565b90506000815103611fa75760405180604001604052806000815260200160405180602001604052806000815250815250915050611fd3565b8060018251611fb69190614c75565b81518110611fc757611fc6614ca9565b5b60200260200101519150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612075576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600260008381526020019081526020016000209050612095816124bc565b6120cb576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160009054906101000a900460ff1615612114576040517fea00f1a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160039054906101000a900460ff1615612135576121348161312b565b5b6121423383600184612303565b5050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146121be576040517f7bfa4b9f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006002600083815260200190815260200160002090506121de816124bc565b612214576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060050160009054906101000a900460ff161561225d576040517fea00f1a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018160050160016101000a81548160ff021916908315150217905550817f6ded7250a9d5f79aef5add44600fc20a74a0af6f4730baa4fc4ab87bf484b81260405160405180910390a25050565b60006122c8600260008481526020019081526020016000206124bc565b9050919050565b60006122ec60026000848152602001908152602001600020613185565b9050919050565b6122fe8383836131ee565b505050565b600042905080826000018190555060018260050160026101000a81548160ff02191690831515021790555082156123525760008260050160036101000a81548160ff0219169083151502179055505b61241d8582846007018054612366906143f2565b80601f0160208091040260200160405190810160405280929190818152602001828054612392906143f2565b80156123df5780601f106123b4576101008083540402835291602001916123df565b820191906000526020600020905b8154815290600101906020018083116123c257829003601f168201915b50505050508560050160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660010154876002015488600301546126dd565b837f7981b5832932948db4e32a4a16a0f44b2ce7ff088574afb9364b313f70f82e8f60405160405180910390a25050505050565b6060816040518060400160405280600d81526020017f2c696e697469616c697a65723a000000000000000000000000000000000000008152506124938561329c565b6040516020016124a593929190614d5b565b604051602081830303815290604052905092915050565b6000808260070180546124ce906143f2565b9050119050919050565b604051806101800160405280868152602001848152602001838152602001828152602001600081526020016000151581526020016000151581526020016000151581526020016000151581526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020018781525060026000898152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a81548160ff02191690831515021790555060c08201518160050160016101000a81548160ff02191690831515021790555060e08201518160050160026101000a81548160ff0219169083151502179055506101008201518160050160036101000a81548160ff0219169083151502179055506101208201518160050160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101408201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101608201518160070190816126cf91906145c5565b509050505050505050505050565b600083111561288a573073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461272657612725848830866132ff565b5b828473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e307f00000000000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401612782929190614d8c565b602060405180830381865afa15801561279f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c39190614db5565b1015612889578373ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401612844929190614de2565b6020604051808303816000875af1158015612863573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128879190614700565b505b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166311df92f17f5945535f4f525f4e4f5f51554552590000000000000000000000000000000000888888886040518663ffffffff1660e01b815260040161290b959493929190614e2c565b6020604051808303816000875af115801561292a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061294e9190614db5565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663120698af7f5945535f4f525f4e4f5f5155455259000000000000000000000000000000000088886040518463ffffffff1660e01b81526004016129cc93929190614e86565b600060405180830381600087803b1580156129e657600080fd5b505af11580156129fa573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f327b0757f5945535f4f525f4e4f5f5155455259000000000000000000000000000000000088886000600160006040518763ffffffff1660e01b8152600401612a8496959493929190614ec4565b600060405180830381600087803b158015612a9e57600080fd5b505af1158015612ab2573d6000803e3d6000fd5b505050506000821115612b83577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5a755a7f5945535f4f525f4e4f5f515545525900000000000000000000000000000000008888866040518563ffffffff1660e01b8152600401612b3e9493929190614f2c565b6020604051808303816000875af1158015612b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b819190614db5565b505b6000811115612c3e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663473c45fe7f5945535f4f525f4e4f5f515545525900000000000000000000000000000000008888856040518563ffffffff1660e01b8152600401612c0b9493929190614f2c565b600060405180830381600087803b158015612c2557600080fd5b505af1158015612c39573d6000803e3d6000fd5b505050505b50505050505050565b6000808260040154119050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663bc58ccaa307f5945535f4f525f4e4f5f515545525900000000000000000000000000000000008560000154866007016040518563ffffffff1660e01b8152600401612cdf949392919061486f565b602060405180830381865afa158015612cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d209190614700565b9050919050565b60606000600267ffffffffffffffff811115612d4657612d456137d9565b5b604051908082528060200260200182016040528015612d745781602001602082028036833780820191505090505b50905060008314158015612d9057506706f05b59d3b200008314155b8015612da45750670de0b6b3a76400008314155b15612ddb576040517f86c9649e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008303612e2c57600081600081518110612df957612df8614ca9565b5b602002602001018181525050600181600181518110612e1b57612e1a614ca9565b5b602002602001018181525050612eca565b6706f05b59d3b200008303612e8457600181600081518110612e5157612e50614ca9565b5b602002602001018181525050600181600181518110612e7357612e72614ca9565b5b602002602001018181525050612ec9565b600181600081518110612e9a57612e99614ca9565b5b602002602001018181525050600081600181518110612ebc57612ebb614ca9565b5b6020026020010181815250505b5b80915050919050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166353b592397f5945535f4f525f4e4f5f515545525900000000000000000000000000000000008460000154856007016040518463ffffffff1660e01b8152600401612f5993929190614f78565b6020604051808303816000875af1158015612f78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f9c9190614fb6565b9050612fa6613311565b8103612fbf57612fb93084600185612303565b506130d3565b60018260050160006101000a81548160ff0219169083151502179055508160050160039054906101000a900460ff1615612ffd57612ffc8261312b565b5b600061300882612d27565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c49298ac85836040518363ffffffff1660e01b8152600401613065929190614fe3565b600060405180830381600087803b15801561307f57600080fd5b505af1158015613093573d6000803e3d6000fd5b5050505081847f566c3fbdd12dd86bb341787f6d531f79fd7ad4ce7e3ae2d15ac0ca1b601af9df836040516130c89190613d66565b60405180910390a350505b5050565b6000613123838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050613339565b905092915050565b6131828160050160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff168260060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600101546122f3565b50565b6000613190826124bc565b61319d57600090506131e9565b8160050160019054906101000a900460ff16156131bd57600090506131e9565b8160050160009054906101000a900460ff16156131dd57600090506131e9565b6131e682612c57565b90505b919050565b60006040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080613296576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328d90615070565b60405180910390fd5b50505050565b60606132bd60808360601b6bffffffffffffffffffffffff1916901c613425565b6132d88360601b6bffffffffffffffffffffffff1916613425565b6040516020016132e99291906150fe565b6040516020818303038152906040529050919050565b61330b848484846135fa565b50505050565b60007f8000000000000000000000000000000000000000000000000000000000000000905090565b6000600282511461334d5760009050613420565b60018260008151811061336357613362614ca9565b5b60200260200101511480156133b9575060008260018151811061338957613388614ca9565b5b602002602001015114806133b857506001826001815181106133ae576133ad614ca9565b5b6020026020010151145b5b156133c75760019050613420565b6000826000815181106133dd576133dc614ca9565b5b602002602001015114801561340d575060018260018151811061340357613402614ca9565b5b6020026020010151145b1561341b5760019050613420565b600090505b919050565b6000808260001c90506fffffffffffffffffffffffffffffffff8116905077ffffffffffffffff0000000000000000ffffffffffffffff68010000000000000000820282171690507bffffffff00000000ffffffff00000000ffffffff00000000ffffffff640100000000820282171690507dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff62010000820282171690507eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff610100820282171690507f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f601082028217169050600060087f080808080808080808080808080808080808080808080808080808080808080883168161354a5761354961512a565b5b049050600060047f04040404040404040404040404040404040404040404040404040404040404048416816135825761358161512a565b5b049050600060027f02020202020202020202020202020202020202020202020202020202020202028516816135ba576135b961512a565b5b0490507f3030303030303030303030303030303030303030303030303030303030303030602782841785160285010193508360001b945050505050919050565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806136be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136b5906151a5565b60405180910390fd5b5050505050565b6040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600015158152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b604051806040016040528060008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61379b81613788565b81146137a657600080fd5b50565b6000813590506137b881613792565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613811826137c8565b810181811067ffffffffffffffff821117156138305761382f6137d9565b5b80604052505050565b6000613843613774565b905061384f8282613808565b919050565b600067ffffffffffffffff82111561386f5761386e6137d9565b5b613878826137c8565b9050602081019050919050565b82818337600083830152505050565b60006138a76138a284613854565b613839565b9050828152602081018484840111156138c3576138c26137c3565b5b6138ce848285613885565b509392505050565b600082601f8301126138eb576138ea6137be565b5b81356138fb848260208601613894565b91505092915050565b6000806040838503121561391b5761391a61377e565b5b6000613929858286016137a9565b925050602083013567ffffffffffffffff81111561394a57613949613783565b5b613956858286016138d6565b9150509250929050565b6000819050919050565b61397381613960565b811461397e57600080fd5b50565b6000813590506139908161396a565b92915050565b600080600080608085870312156139b0576139af61377e565b5b60006139be878288016137a9565b94505060206139cf87828801613981565b935050604085013567ffffffffffffffff8111156139f0576139ef613783565b5b6139fc878288016138d6565b9250506060613a0d87828801613981565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a4482613a19565b9050919050565b613a5481613a39565b8114613a5f57600080fd5b50565b600081359050613a7181613a4b565b92915050565b600060208284031215613a8d57613a8c61377e565b5b6000613a9b84828501613a62565b91505092915050565b600080600080600060a08688031215613ac057613abf61377e565b5b600086013567ffffffffffffffff811115613ade57613add613783565b5b613aea888289016138d6565b9550506020613afb88828901613a62565b9450506040613b0c88828901613981565b9350506060613b1d88828901613981565b9250506080613b2e88828901613981565b9150509295509295909350565b613b4481613788565b82525050565b6000602082019050613b5f6000830184613b3b565b92915050565b613b6e81613960565b82525050565b6000602082019050613b896000830184613b65565b92915050565b6000819050919050565b6000613bb4613baf613baa84613a19565b613b8f565b613a19565b9050919050565b6000613bc682613b99565b9050919050565b6000613bd882613bbb565b9050919050565b613be881613bcd565b82525050565b6000602082019050613c036000830184613bdf565b92915050565b6000613c1482613bbb565b9050919050565b613c2481613c09565b82525050565b6000602082019050613c3f6000830184613c1b565b92915050565b60008115159050919050565b613c5a81613c45565b82525050565b6000602082019050613c756000830184613c51565b92915050565b600060208284031215613c9157613c9061377e565b5b6000613c9f848285016137a9565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cdd81613960565b82525050565b6000613cef8383613cd4565b60208301905092915050565b6000602082019050919050565b6000613d1382613ca8565b613d1d8185613cb3565b9350613d2883613cc4565b8060005b83811015613d59578151613d408882613ce3565b9750613d4b83613cfb565b925050600181019050613d2c565b5085935050505092915050565b60006020820190508181036000830152613d808184613d08565b905092915050565b60008060408385031215613d9f57613d9e61377e565b5b6000613dad858286016137a9565b9250506020613dbe85828601613a62565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613e2e578082015181840152602081019050613e13565b83811115613e3d576000848401525b50505050565b6000613e4e82613df4565b613e588185613dff565b9350613e68818560208601613e10565b613e71816137c8565b840191505092915050565b6000604083016000830151613e946000860182613cd4565b5060208301518482036020860152613eac8282613e43565b9150508091505092915050565b6000613ec58383613e7c565b905092915050565b6000602082019050919050565b6000613ee582613dc8565b613eef8185613dd3565b935083602082028501613f0185613de4565b8060005b85811015613f3d5784840389528151613f1e8582613eb9565b9450613f2983613ecd565b925060208a01995050600181019050613f05565b50829750879550505050505092915050565b60006020820190508181036000830152613f698184613eda565b905092915050565b613f7a81613c45565b82525050565b613f8981613a39565b82525050565b600061018083016000830151613fa86000860182613cd4565b506020830151613fbb6020860182613cd4565b506040830151613fce6040860182613cd4565b506060830151613fe16060860182613cd4565b506080830151613ff46080860182613cd4565b5060a083015161400760a0860182613f71565b5060c083015161401a60c0860182613f71565b5060e083015161402d60e0860182613f71565b50610100830151614042610100860182613f71565b50610120830151614057610120860182613f80565b5061014083015161406c610140860182613f80565b506101608301518482036101608601526140868282613e43565b9150508091505092915050565b600060208201905081810360008301526140ad8184613f8f565b905092915050565b600080604083850312156140cc576140cb61377e565b5b60006140da858286016137a9565b92505060206140eb85828601613981565b9150509250929050565b600082825260208201905092915050565b600061411182613df4565b61411b81856140f5565b935061412b818560208601613e10565b614134816137c8565b840191505092915050565b60006040820190506141546000830185613b65565b81810360208301526141668184614106565b90509392505050565b61417881613a39565b82525050565b600061018082019050614194600083018f613b65565b6141a1602083018e613b65565b6141ae604083018d613b65565b6141bb606083018c613b65565b6141c8608083018b613b65565b6141d560a083018a613c51565b6141e260c0830189613c51565b6141ef60e0830188613c51565b6141fd610100830187613c51565b61420b61012083018661416f565b61421961014083018561416f565b81810361016083015261422c8184614106565b90509d9c50505050505050505050505050565b600080fd5b600080fd5b60008083601f84011261425f5761425e6137be565b5b8235905067ffffffffffffffff81111561427c5761427b61423f565b5b60208301915083602082028301111561429857614297614244565b5b9250929050565b6000806000604084860312156142b8576142b761377e565b5b60006142c6868287016137a9565b935050602084013567ffffffffffffffff8111156142e7576142e6613783565b5b6142f386828701614249565b92509250509250925092565b60006040830160008301516143176000860182613cd4565b506020830151848203602086015261432f8282613e43565b9150508091505092915050565b6000602082019050818103600083015261435681846142ff565b905092915050565b600061436982613bbb565b9050919050565b6143798161435e565b82525050565b60006020820190506143946000830184614370565b92915050565b60006040820190506143af6000830185613b3b565b6143bc602083018461416f565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061440a57607f821691505b60208210810361441d5761441c6143c3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026144857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614448565b61448f8683614448565b95508019841693508086168417925050509392505050565b60006144c26144bd6144b884613960565b613b8f565b613960565b9050919050565b6000819050919050565b6144dc836144a7565b6144f06144e8826144c9565b848454614455565b825550505050565b600090565b6145056144f8565b6145108184846144d3565b505050565b5b81811015614534576145296000826144fd565b600181019050614516565b5050565b601f8211156145795761454a81614423565b61455384614438565b81016020851015614562578190505b61457661456e85614438565b830182614515565b50505b505050565b600082821c905092915050565b600061459c6000198460080261457e565b1980831691505092915050565b60006145b5838361458b565b9150826002028217905092915050565b6145ce82613df4565b67ffffffffffffffff8111156145e7576145e66137d9565b5b6145f182546143f2565b6145fc828285614538565b600060209050601f83116001811461462f576000841561461d578287015190505b61462785826145a9565b86555061468f565b601f19841661463d86614423565b60005b8281101561466557848901518255600182019150602085019450602081019050614640565b86831015614682578489015161467e601f89168261458b565b8355505b6001600288020188555050505b505050505050565b600060208201905081810360008301526146b18184614106565b905092915050565b60006020820190506146ce600083018461416f565b92915050565b6146dd81613c45565b81146146e857600080fd5b50565b6000815190506146fa816146d4565b92915050565b6000602082840312156147165761471561377e565b5b6000614724848285016146eb565b91505092915050565b6000819050919050565b600061475261474d6147488461472d565b613b8f565b613960565b9050919050565b61476281614737565b82525050565b600060608201905061477d600083018661416f565b61478a6020830185613b3b565b6147976040830184614759565b949350505050565b600060808201905081810360008301526147b98187614106565b90506147c8602083018661416f565b6147d56040830185613b65565b6147e26060830184613b65565b95945050505050565b600081546147f8816143f2565b61480281866140f5565b9450600182166000811461481d576001811461483357614866565b60ff198316865281151560200286019350614866565b61483c85614423565b60005b8381101561485e5781548189015260018201915060208101905061483f565b808801955050505b50505092915050565b6000608082019050614884600083018761416f565b6148916020830186613b3b565b61489e6040830185613b65565b81810360608301526148b081846147eb565b905095945050505050565b600080fd5b6000815190506148cf81613a4b565b92915050565b60006148e082613a39565b9050919050565b6148f0816148d5565b81146148fb57600080fd5b50565b60008151905061490d816148e7565b92915050565b6000815190506149228161396a565b92915050565b600060e0828403121561493e5761493d6148bb565b5b61494860e0613839565b90506000614958848285016146eb565b600083015250602061496c848285016146eb565b6020830152506040614980848285016146eb565b6040830152506060614994848285016146eb565b60608301525060806149a8848285016146eb565b60808301525060a06149bc84828501614913565b60a08301525060c06149d084828501614913565b60c08301525092915050565b6000819050919050565b6149ef816149dc565b81146149fa57600080fd5b50565b600081519050614a0c816149e6565b92915050565b60006102008284031215614a2957614a286148bb565b5b614a34610140613839565b90506000614a44848285016148c0565b6000830152506020614a58848285016148c0565b6020830152506040614a6c848285016148fe565b6040830152506060614a80848285016146eb565b6060830152506080614a9484828501614928565b608083015250610160614aa9848285016149fd565b60a083015250610180614abe848285016149fd565b60c0830152506101a0614ad384828501614913565b60e0830152506101c0614ae884828501614913565b610100830152506101e0614afe84828501614913565b6101208301525092915050565b60006102008284031215614b2257614b2161377e565b5b6000614b3084828501614a12565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614b7382613960565b9150614b7e83613960565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614bb357614bb2614b39565b5b828201905092915050565b600080fd5b6000614bcf8385613cb3565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614c0257614c01614bbe565b5b602083029250614c13838584613885565b82840190509392505050565b6000604082019050614c346000830186613b3b565b8181036020830152614c47818486614bc3565b9050949350505050565b60006020820190508181036000830152614c6c818486614bc3565b90509392505050565b6000614c8082613960565b9150614c8b83613960565b925082821015614c9e57614c9d614b39565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b6000614cee82613df4565b614cf88185614cd8565b9350614d08818560208601613e10565b80840191505092915050565b600081519050919050565b600081905092915050565b6000614d3582614d14565b614d3f8185614d1f565b9350614d4f818560208601613e10565b80840191505092915050565b6000614d678286614ce3565b9150614d738285614d2a565b9150614d7f8284614ce3565b9150819050949350505050565b6000604082019050614da1600083018561416f565b614dae602083018461416f565b9392505050565b600060208284031215614dcb57614dca61377e565b5b6000614dd984828501614913565b91505092915050565b6000604082019050614df7600083018561416f565b614e046020830184613b65565b9392505050565b6000614e1682613bbb565b9050919050565b614e2681614e0b565b82525050565b600060a082019050614e416000830188613b3b565b614e4e6020830187613b65565b8181036040830152614e608186614106565b9050614e6f6060830185614e1d565b614e7c6080830184613b65565b9695505050505050565b6000606082019050614e9b6000830186613b3b565b614ea86020830185613b65565b8181036040830152614eba8184614106565b9050949350505050565b600060c082019050614ed96000830189613b3b565b614ee66020830188613b65565b8181036040830152614ef88187614106565b9050614f076060830186613c51565b614f146080830185613c51565b614f2160a0830184613c51565b979650505050505050565b6000608082019050614f416000830187613b3b565b614f4e6020830186613b65565b8181036040830152614f608185614106565b9050614f6f6060830184613b65565b95945050505050565b6000606082019050614f8d6000830186613b3b565b614f9a6020830185613b65565b8181036040830152614fac81846147eb565b9050949350505050565b600060208284031215614fcc57614fcb61377e565b5b6000614fda848285016149fd565b91505092915050565b6000604082019050614ff86000830185613b3b565b818103602083015261500a8184613d08565b90509392505050565b600082825260208201905092915050565b7f5452414e534645525f4641494c45440000000000000000000000000000000000600082015250565b600061505a600f83615013565b915061506582615024565b602082019050919050565b600060208201905081810360008301526150898161504d565b9050919050565b6000819050919050565b6150ab6150a682613788565b615090565b82525050565b60007fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b6150f86150f3826150b1565b6150dd565b82525050565b600061510a828561509a565b60208201915061511a82846150e7565b6008820191508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000600082015250565b600061518f601483615013565b915061519a82615159565b602082019050919050565b600060208201905081810360008301526151be81615182565b905091905056fea2646970667358221220cbc537c125361aa52ca113cbd238a027be6a70641dd1ff986d3d2624d8f9d0b964736f6c634300080f0033000000000000000000000000b7429f77d2173c5b39e215304a2ab48dcec522880000000000000000000000007e6d9618ba8a87421609352d6e711958a97e2512