0 txs
0 calls
constructor
constructor(address _predictionContract, uint256 _maxAheadTime, uint256 _aheadTimeForCheckUpkeep, uint256 _aheadTimeForPerformUpkeep, string _feedID, address _forwarder, address _verifierProxy)
functions
aheadTimeForCheckUpkeep
viewfunction aheadTimeForCheckUpkeep() view returns (uint256)
aheadTimeForPerformUpkeep
viewfunction aheadTimeForPerformUpkeep() view returns (uint256)
checkCallback
viewfunction checkCallback(bytes[] values, bytes extraData) view returns (bool upkeepNeeded, bytes performData)
checkUpkeep
viewfunction checkUpkeep(bytes checkData) view returns (bool upkeepNeeded, bytes performData)
feedID
viewfunction feedID() view returns (string)
forwarder
viewfunction forwarder() view returns (address)
maxAheadTime
viewfunction maxAheadTime() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
predictionContract
viewfunction predictionContract() view returns (address)
verifierProxy
viewfunction verifierProxy() view returns (address)
pause
nonpayablefunction pause()
performUpkeep
nonpayablefunction performUpkeep(bytes performData)
renounceOwnership
nonpayablefunction renounceOwnership()
setAheadTimeForCheckUpkeep
nonpayablefunction setAheadTimeForCheckUpkeep(uint256 _time)
setAheadTimeForPerformUpkeep
nonpayablefunction setAheadTimeForPerformUpkeep(uint256 _time)
setFeedID
nonpayablefunction setFeedID(string _feedID)
setForwarder
nonpayablefunction setForwarder(address _forwarder)
setMaxAheadTime
nonpayablefunction setMaxAheadTime(uint256 _time)
setPredictionContract
nonpayablefunction setPredictionContract(address _predictionContract)
setVerifierProxy
nonpayablefunction setVerifierProxy(address _verifierProxy)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
NewAheadTimeForCheckUpkeep
event NewAheadTimeForCheckUpkeep(uint256 time)
NewAheadTimeForPerformUpkeep
event NewAheadTimeForPerformUpkeep(uint256 time)
NewFeedID
event NewFeedID(string feedID)
NewForwarder
event NewForwarder(address indexed forwarder)
NewMaxAheadTime
event NewMaxAheadTime(uint256 time)
NewPredictionContract
event NewPredictionContract(address indexed predictionContract)
NewVerifierProxy
event NewVerifierProxy(address indexed verifierProxy)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
errors
StreamsLookup
error StreamsLookup(string feedParamKey, string[] feeds, string timeParamKey, uint256 time, bytes extraData)
creation bytecode
0x60806040523480156200001157600080fd5b50604051620032a5380380620032a5833981016040819052620000349162000249565b6200003f3362000136565b6000805460ff60a01b191690556001600160a01b038716158015906200006d57506001600160a01b03811615155b620000be5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f74206265207a65726f206164647265737365730000000000000000604482015260640160405180910390fd5b600180546001600160a01b0319166001600160a01b0389161790556002869055600385905560048490558251620000fd90600590602086019062000186565b50600680546001600160a01b039384166001600160a01b0319918216179091556007805492909316911617905550620003cc9350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054620001949062000379565b90600052602060002090601f016020900481019282620001b8576000855562000203565b82601f10620001d357805160ff191683800117855562000203565b8280016001018555821562000203579182015b8281111562000203578251825591602001919060010190620001e6565b506200021192915062000215565b5090565b5b8082111562000211576000815560010162000216565b80516001600160a01b03811681146200024457600080fd5b919050565b600080600080600080600060e0888a03121562000264578283fd5b6200026f886200022c565b60208981015160408b015160608c015160808d0151949b5091995097509550906001600160401b0380821115620002a4578586fd5b818b0191508b601f830112620002b8578586fd5b815181811115620002cd57620002cd620003b6565b604051601f8201601f19908116603f01168101908382118183101715620002f857620002f8620003b6565b816040528281528e8684870101111562000310578889fd5b8893505b8284101562000333578484018601518185018701529285019262000314565b828411156200034457888684830101525b8098505050505050506200035b60a089016200022c565b91506200036b60c089016200022c565b905092959891949750929550565b600181811c908216806200038e57607f821691505b60208210811415620003b057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612ec980620003dc6000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c8063715018a6116100e3578063a83c97b31161008c578063c6bbcaa511610066578063c6bbcaa514610359578063f2fde38b1461036c578063f645d4f91461037f57600080fd5b8063a83c97b314610320578063b4880e2b14610333578063b9998a241461034657600080fd5b8063967a572f116100bd578063967a572f146102e25780639997d09f146102f7578063a094dc411461031757600080fd5b8063715018a6146102b45780638456cb59146102bc5780638da5cb5b146102c457600080fd5b80634b56a42e116101455780635c975abb1161011f5780635c975abb146102605780635d5238891461028e5780636e04ff0d146102a157600080fd5b80634b56a42e1461021957806358d07f961461023a5780635bbbd1331461024d57600080fd5b80633f4ba83a116101765780633f4ba83a146101b75780634585e33b146101c157806347f77bc0146101d457600080fd5b8063060e89a0146101925780630927b000146101ae575b600080fd5b61019b60035481565b6040519081526020015b60405180910390f35b61019b60045481565b6101bf61039f565b005b6101bf6101cf36600461274a565b6103b1565b6007546101f49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b61022c61022736600461267b565b610c2f565b6040516101a5929190612ae3565b6101bf6102483660046125ae565b610c63565b6101bf61025b36600461294b565b610d57565b60005474010000000000000000000000000000000000000000900460ff1660405190151581526020016101a5565b6101bf61029c36600461294b565b610e2d565b61022c6102af36600461274a565b610e6a565b6101bf6114b4565b6101bf6114c6565b60005473ffffffffffffffffffffffffffffffffffffffff166101f4565b6102ea6114d6565b6040516101a59190612b37565b6001546101f49073ffffffffffffffffffffffffffffffffffffffff1681565b61019b60025481565b6101bf61032e36600461294b565b611564565b6101bf61034136600461274a565b611633565b6101bf6103543660046125ae565b611685565b6101bf6103673660046125ae565b6116fc565b6101bf61037a3660046125ae565b6117f0565b6006546101f49073ffffffffffffffffffffffffffffffffffffffff1681565b6103a76118a7565b6103af611928565b565b60065473ffffffffffffffffffffffffffffffffffffffff163314806103ed575060065473ffffffffffffffffffffffffffffffffffffffff16155b610458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f7420666f727761726465720000000000000000000000000000000000000060448201526064015b60405180910390fd5b6104606119a5565b600154604080517ff7fdec28000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163f7fdec28916004808301926020929190829003018186803b1580156104cb57600080fd5b505afa1580156104df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105039190612730565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f74174f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a79190612730565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561061357600080fd5b505afa158015610627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064b9190612730565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b757600080fd5b505afa1580156106cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ef9190612963565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eaba23616040518163ffffffff1660e01b815260040160206040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107939190612963565b6001546040517f8c65c81f0000000000000000000000000000000000000000000000000000000081526004810185905291925060009173ffffffffffffffffffffffffffffffffffffffff90911690638c65c81f906024016101c06040518083038186803b15801561080457600080fd5b505afa158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c9190612892565b604081015190915084156108d157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f4ba83a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108b457600080fd5b505af11580156108c8573d6000803e3d6000fd5b50505050610c24565b8661094057600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452fd75a6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108b457600080fd5b85610aac5780158061095e5750806004544261095c9190612d60565b105b1561096857610c24565b801580159061097f575061097c8382612d60565b42115b156109ee57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108b457600080fd5b6000806109fd8a8c018c6126d2565b915091506000610a0d8383611a2a565b6001546040517fa1d2f6ea00000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff851660048201526024810183905291925073ffffffffffffffffffffffffffffffffffffffff169063a1d2f6ea90604401600060405180830381600087803b158015610a8c57600080fd5b505af1158015610aa0573d6000803e3d6000fd5b50505050505050610c24565b8060045442610abb9190612d60565b1115610c2457801580610ada57508060045442610ad89190612d60565b105b15610ae457610c24565b8015801590610afb5750610af88382612d60565b42115b15610b6a57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156108b457600080fd5b600080610b798a8c018c6126d2565b915091506000610b898383611a2a565b6001546040517f740e104700000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff851660048201526024810183905291925073ffffffffffffffffffffffffffffffffffffffff169063740e104790604401600060405180830381600087803b158015610c0857600080fd5b505af1158015610c1c573d6000803e3d6000fd5b505050505050505b505050505050505050565b6000606060018484604051602001610c48929190612a50565b604051602081830303815290604052915091505b9250929050565b610c6b6118a7565b73ffffffffffffffffffffffffffffffffffffffff8116610ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43616e6e6f74206265207a65726f206164647265737300000000000000000000604482015260640161044f565b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f303c1bce4d3c37479e2b23d6c3338a50bedc1909ce558a88f92f8e6782f4de5f90600090a250565b610d5f6118a7565b600254811115610df1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f616865616454696d65466f72506572666f726d55706b6565702063616e6e6f7460448201527f206265206d6f7265207468616e204d6178416865616454696d65000000000000606482015260840161044f565b60048190556040518181527fee3c43946327f1f066dfe4a6d9fef20fdfafc416fcf4069f31ddb4fdfd6b776b906020015b60405180910390a150565b610e356118a7565b60028190556040518181527f117f69102ac350c84f55466aca170711c064f3fddbf43d0898380f012c6e8b1c90602001610e22565b6000805460609074010000000000000000000000000000000000000000900460ff16610c5c5783838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604080517ff7fdec280000000000000000000000000000000000000000000000000000000081529051969750919573ffffffffffffffffffffffffffffffffffffffff909116945063f7fdec28935060048083019350602092829003018186803b158015610f3257600080fd5b505afa158015610f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6a9190612730565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630f74174f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610fd657600080fd5b505afa158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100e9190612730565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561107a57600080fd5b505afa15801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b29190612730565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663766718086040518163ffffffff1660e01b815260040160206040518083038186803b15801561111e57600080fd5b505afa158015611132573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111569190612963565b90506000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eaba23616040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c257600080fd5b505afa1580156111d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111fa9190612963565b6001546040517f8c65c81f0000000000000000000000000000000000000000000000000000000081526004810185905291925060009173ffffffffffffffffffffffffffffffffffffffff90911690638c65c81f906024016101c06040518083038186803b15801561126b57600080fd5b505afa15801561127f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a39190612892565b604081015190915084156112ba57600198506114a6565b866112c857600198506114a6565b8561144d578015806112e6575080600354426112e49190612d60565b105b156112f0576114a6565b801580159061130757506113048382612d60565b42115b1561131557600198506114a6565b604080516001808252818301909252600091816020015b606081526020019060019003908161132c5790505090506005805461135090612dbf565b80601f016020809104026020016040519081016040528092919081815260200182805461137c90612dbf565b80156113c95780601f1061139e576101008083540402835291602001916113c9565b820191906000526020600020905b8154815290600101906020018083116113ac57829003601f168201915b505050505081600081518110611408577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001018190525080428d8d6040517ff055e4a200000000000000000000000000000000000000000000000000000000815260040161044f9493929190612b4a565b806003544261145c9190612d60565b11156114a65780158061147b575080600354426114799190612d60565b105b15611485576114a6565b801580159061149c57506114998382612d60565b42115b1561131557600198505b505050505050509250929050565b6114bc6118a7565b6103af6000612156565b6114ce6118a7565b6103af6121cb565b600580546114e390612dbf565b80601f016020809104026020016040519081016040528092919081815260200182805461150f90612dbf565b801561155c5780601f106115315761010080835404028352916020019161155c565b820191906000526020600020905b81548152906001019060200180831161153f57829003601f168201915b505050505081565b61156c6118a7565b6002548111156115fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f616865616454696d65466f72436865636b55706b6565702063616e6e6f74206260448201527f65206d6f7265207468616e204d6178416865616454696d650000000000000000606482015260840161044f565b60038190556040518181527ffcf8adcabbe015bf29555d1162dbbf64d6b8631cbfa0973cc0ac058ee250938290602001610e22565b61163b6118a7565b611647600583836122be565b507fdb1665581817c1455ca4915bc39e78992cdb42b0d5975112049a5f6804f297c88282604051611679929190612b23565b60405180910390a15050565b61168d6118a7565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f75a4ce37b5b180b327c7beb0e7f03b1df4a327bb8c2bd30b4dcaf5d79e0586af90600090a250565b6117046118a7565b73ffffffffffffffffffffffffffffffffffffffff8116611781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43616e6e6f74206265207a65726f206164647265737300000000000000000000604482015260640161044f565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f84671be6bbfae8584f3eac047acd13c3c089ce73c58c2814a5b11308ade0f7a290600090a250565b6117f86118a7565b73ffffffffffffffffffffffffffffffffffffffff811661189b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161044f565b6118a481612156565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161044f565b61193061223a565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60005474010000000000000000000000000000000000000000900460ff16156103af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161044f565b600154604080517fec324703000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163ec324703916004808301926020929190829003018186803b158015611a9557600080fd5b505afa158015611aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611acd9190612963565b8269ffffffffffffffffffff1611611b67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4f7261636c652075706461746520726f756e644964206d757374206265206c6160448201527f72676572207468616e206f7261636c654c6174657374526f756e644964000000606482015260840161044f565b600754604080517f38416b5b000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916338416b5b91600480830192602092919082900301818787803b158015611bd357600080fd5b505af1158015611be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0b91906125d1565b905060008173ffffffffffffffffffffffffffffffffffffffff16633aa5ac076040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c5757600080fd5b505af1158015611c6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8f91906125d1565b905060008273ffffffffffffffffffffffffffffffffffffffff1663638786686040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611cdb57600080fd5b505af1158015611cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1391906125d1565b9050600086600081518110611d51577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151806020019051810190611d6c91906125ed565b91505060008473ffffffffffffffffffffffffffffffffffffffff1663e03dab1a3084866040518463ffffffff1660e01b8152600401611dae93929190612a0d565b60a060405180830381600087803b158015611dc857600080fd5b505af1158015611ddc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0091906127bd565b505060208101516040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152602482019290925291925084169063095ea7b390604401602060405180830381600087803b158015611e7b57600080fd5b505af1158015611e8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb39190612730565b50600754885160009173ffffffffffffffffffffffffffffffffffffffff169063f7e83aee908b908490611f10577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015186604051602001611f45919073ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611f71929190612afe565b600060405180830381600087803b158015611f8b57600080fd5b505af1158015611f9f573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611fe5919081019061278a565b9050600081806020019051810190611ffd91906127fa565b9050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663605540116040518163ffffffff1660e01b815260040160206040518083038186803b15801561206757600080fd5b505afa15801561207b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209f9190612963565b6120a99042612d78565b816040015163ffffffff161015612142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4f7261636c6520757064617465206578636565646564206d61782074696d657360448201527f74616d7020616c6c6f77616e6365000000000000000000000000000000000000606482015260840161044f565b60c0015160170b9998505050505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6121d36119a5565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861197b3390565b60005474010000000000000000000000000000000000000000900460ff166103af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161044f565b8280546122ca90612dbf565b90600052602060002090601f0160209004810192826122ec5760008555612350565b82601f10612323578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612350565b82800160010185558215612350579182015b82811115612350578235825591602001919060010190612335565b5061235c929150612360565b5090565b5b8082111561235c5760008155600101612361565b600082601f830112612385578081fd5b8135602067ffffffffffffffff808311156123a2576123a2612e42565b8260051b6123b1838201612ccb565b8481528381019087850183890186018a10156123cb578788fd5b8793505b86841015612408578035858111156123e5578889fd5b6123f38b88838d010161246a565b845250600193909301929185019185016123cf565b5098975050505050505050565b8051801515811461242557600080fd5b919050565b60008083601f84011261243b578182fd5b50813567ffffffffffffffff811115612452578182fd5b602083019150836020828501011115610c5c57600080fd5b600082601f83011261247a578081fd5b813561248d61248882612d1a565b612ccb565b8181528460208386010111156124a1578283fd5b816020850160208301379081016020019190915292915050565b600082601f8301126124cb578081fd5b81516124d961248882612d1a565b8181528460208386010111156124ed578283fd5b6124fe826020830160208701612d8f565b949350505050565b8051601781900b811461242557600080fd5b600060408284031215612529578081fd5b6040516040810181811067ffffffffffffffff8211171561254c5761254c612e42565b8060405250809150825161255f81612e71565b8152602092830151920191909152919050565b805177ffffffffffffffffffffffffffffffffffffffffffffffff8116811461242557600080fd5b805163ffffffff8116811461242557600080fd5b6000602082840312156125bf578081fd5b81356125ca81612e71565b9392505050565b6000602082840312156125e2578081fd5b81516125ca81612e71565b600080608083850312156125ff578081fd5b83601f84011261260d578081fd5b612615612c5b565b80846060860187811115612627578485fd5b845b6003811015612648578251855260209485019490920191600101612629565b50519194509091505067ffffffffffffffff811115612665578182fd5b612671858286016124bb565b9150509250929050565b6000806040838503121561268d578182fd5b823567ffffffffffffffff808211156126a4578384fd5b6126b086838701612375565b935060208501359150808211156126c5578283fd5b506126718582860161246a565b600080604083850312156126e4578182fd5b823567ffffffffffffffff8111156126fa578283fd5b61270685828601612375565b925050602083013569ffffffffffffffffffff81168114612725578182fd5b809150509250929050565b600060208284031215612741578081fd5b6125ca82612415565b6000806020838503121561275c578182fd5b823567ffffffffffffffff811115612772578283fd5b61277e8582860161242a565b90969095509350505050565b60006020828403121561279b578081fd5b815167ffffffffffffffff8111156127b1578182fd5b6124fe848285016124bb565b600080600060a084860312156127d1578081fd5b6127db8585612518565b92506127ea8560408601612518565b9150608084015190509250925092565b600060e0828403121561280b578081fd5b612813612c84565b825181526128236020840161259a565b60208201526128346040840161259a565b604082015261284560608401612572565b606082015261285660808401612572565b608082015260a083015167ffffffffffffffff81168114612875578283fd5b60a082015261288660c08401612506565b60c08201529392505050565b60006101c082840312156128a4578081fd5b6128ac612ca7565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e08201526101008084015181830152506101208084015181830152506101408084015181830152506101608084015181830152506101808084015181830152506101a0612940818501612415565b908201529392505050565b60006020828403121561295c578081fd5b5035919050565b600060208284031215612974578081fd5b5051919050565b81835281816020850137506000806020838501015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600081518084526129db816020860160208601612d8f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff808616835260606020840152612a3d60608401866129c3565b9150808416604084015250949350505050565b6000604082016040835280855180835260608501915060608160051b86010192506020808801855b83811015612ac4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018552612ab28683516129c3565b95509382019390820190600101612a78565b505085840381870152505050612ada81856129c3565b95945050505050565b82151581526040602082015260006124fe60408301846129c3565b604081526000612b1160408301856129c3565b8281036020840152612ada81856129c3565b6020815260006124fe60208301848661297b565b6020815260006125ca60208301846129c3565b60a08152600760a08201527f666565644944730000000000000000000000000000000000000000000000000060c0820152600060e08201602060e08185015281885180845261010093508386019150838160051b8701019350828a01855b82811015612bf4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00888703018452612be28683516129c3565b95509284019290840190600101612ba8565b50505050508281036040840152612c3581600981527f74696d657374616d700000000000000000000000000000000000000000000000602082015260400190565b90508560608401528281036080840152612c5081858761297b565b979650505050505050565b6040516060810167ffffffffffffffff81118282101715612c7e57612c7e612e42565b60405290565b60405160e0810167ffffffffffffffff81118282101715612c7e57612c7e612e42565b6040516101c0810167ffffffffffffffff81118282101715612c7e57612c7e612e42565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612d1257612d12612e42565b604052919050565b600067ffffffffffffffff821115612d3457612d34612e42565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008219821115612d7357612d73612e13565b500190565b600082821015612d8a57612d8a612e13565b500390565b60005b83811015612daa578181015183820152602001612d92565b83811115612db9576000848401525b50505050565b600181811c90821680612dd357607f821691505b60208210811415612e0d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff811681146118a457600080fdfea264697066735822122017a7c7afddb3c5a2b8541eba722d820ed4c681b8272928b9f6806b143132095364736f6c63430008040033000000000000000000000000f2f90e718a3bfacb430c1818cb962f05a2631998000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000a4c0028748d8f534e6d7bab20d9b696f750f114d000000000000000000000000478aa2ac9f6d65f84e09d9185d126c3a17c2a93c0000000000000000000000000000000000000000000000000000000000000042307830303032356465393231656661386538366636373765343763663331356362636631616334323238316564393434323334356232363730616532393232316362000000000000000000000000000000000000000000000000000000000000