0 txs
0 calls
constructor
No constructor.
functions
acceptedToken
viewfunction acceptedToken() view returns (address)
beforeAgreementCreated
viewfunction beforeAgreementCreated(address, address, bytes32, bytes, bytes) view returns (bytes)
beforeAgreementTerminated
viewfunction beforeAgreementTerminated(address superToken, address agreementClass, bytes32 agreementId, bytes, bytes) view returns (bytes cbdata)
beforeAgreementUpdated
viewfunction beforeAgreementUpdated(address, address, bytes32 agreementId, bytes, bytes) view returns (bytes cbdata)
CFA_ID
viewfunction CFA_ID() view returns (bytes32)
cfaV1Lib
viewfunction cfaV1Lib() view returns (address host, address cfa)
locker
viewfunction locker() view returns (address)
minFlowRate
viewfunction minFlowRate() view returns (int96)
afterAgreementCreated
nonpayablefunction afterAgreementCreated(address superToken, address agreementClass, bytes32 agreementId, bytes agreementData, bytes, bytes ctx) returns (bytes newCtx)
afterAgreementTerminated
nonpayablefunction afterAgreementTerminated(address superToken, address agreementClass, bytes32, bytes agreementData, bytes cbdata, bytes ctx) returns (bytes newCtx)
afterAgreementUpdated
nonpayablefunction afterAgreementUpdated(address superToken, address agreementClass, bytes32 agreementId, bytes, bytes cbdata, bytes ctx) returns (bytes newCtx)
expireAndRefundFor
nonpayablefunction expireAndRefundFor(address sender)
initialize
nonpayablefunction initialize(address _host, address _locker)
syncPrice
nonpayablefunction syncPrice()
withdraw
nonpayablefunction withdraw()
events
LockerCloseNotificationFailed
event LockerCloseNotificationFailed(address indexed locker)
errors
HostRequired
error HostRequired()
LockerRequired
error LockerRequired()
LowFlowRate
error LowFlowRate()
NotCFAv1
error NotCFAv1()
NotHost
error NotHost()
NotSuperToken
error NotSuperToken()
SafeCast
error SafeCast()
creation bytecode
0x608060405234801561001057600080fd5b50613341806100206000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80634b3be48311610097578063884d1f4011610066578063884d1f4014610263578063d08cb8a814610293578063d7b96d4e146102af578063d86ed3e5146102cd576100f5565b80634b3be483146101c657806353c11f99146101e457806355586a31146102145780635f9e7d7714610233576100f5565b80633ccfd60b116100d35780633ccfd60b146101785780633f438fbb14610182578063451c3d801461018c578063485cc955146101aa576100f5565b8063215eed02146100fa578063230dbd291461011857806330d9c91514610148575b600080fd5b6101026102fd565b60405161010f919061216a565b60405180910390f35b610132600480360381019061012d91906122c6565b610321565b60405161013f919061244e565b60405180910390f35b610162600480360381019061015d9190612470565b610579565b60405161016f919061244e565b60405180910390f35b6101806105b6565b005b61018a610716565b005b6101946108a6565b6040516101a1919061258b565b60405180910390f35b6101c460048036038101906101bf91906125a6565b6108cc565b005b6101ce610d07565b6040516101db9190612602565b60405180910390f35b6101fe60048036038101906101f991906122c6565b610d1a565b60405161020b919061244e565b60405180910390f35b61021c610f8b565b60405161022a92919061265f565b60405180910390f35b61024d60048036038101906102489190612470565b610fdd565b60405161025a919061244e565b60405180910390f35b61027d60048036038101906102789190612470565b6110d6565b60405161028a919061244e565b60405180910390f35b6102ad60048036038101906102a89190612688565b61110d565b005b6102b7611278565b6040516102c491906126d6565b60405180910390f35b6102e760048036038101906102e291906122c6565b61129e565b6040516102f4919061244e565b60405180910390f35b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd381565b6060600160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103ad576040517f8ff4f0c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b89896103b882611544565b6103ee576040517f134d673900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103f78161159e565b61042d576040517f65e170d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000878781019061043e919061271d565b9050600061044b8c611638565b9050600360149054906101000a9004600b0b600b0b81600b0b121561049c576040517f7869581700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600b0b81600b0b131561050c5761050382826104b99190612779565b88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061170c565b9450505061056a565b610565818361051b9190612779565b88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506118df565b945050505b50509998505050505050505050565b60606040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ad9061287c565b60405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161067291906128ab565b602060405180830381865afa15801561068f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b391906128fc565b6040518363ffffffff1660e01b81526004016106d0929190612938565b6020604051808303816000875af11580156106ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107139190612999565b50565b60006107b3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166310e569736040518163ffffffff1660e01b81526004016020604051808303816000875af115801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906128fc565b611ab9565b90506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166311a4c03a6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610826573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084a91906128fc565b90506000811161085a578161086f565b61086381611ab9565b8261086e91906129f5565b5b600360146101000a8154816bffffffffffffffffffffffff0219169083600b0b6bffffffffffffffffffffffff1602179055505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019054906101000a900460ff166108f45760008054906101000a900460ff16156108fd565b6108fc611b0c565b5b61093c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093390612ad1565b60405180910390fd5b60008060019054906101000a900460ff16159050801561098c576001600060016101000a81548160ff02191690831515021790555060016000806101000a81548160ff0219169083151502179055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109f2576040517fb9f3d63b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a58576040517f5ce55dfa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1663b6d200de7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd36040518263ffffffff1660e01b8152600401610ad8919061216a565b602060405180830381865afa158015610af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190612b2f565b73ffffffffffffffffffffffffffffffffffffffff16815250600160008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639d76ea586040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c999190612b71565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ce1610716565b8015610d025760008060016101000a81548160ff0219169083151502179055505b505050565b600360149054906101000a9004600b0b81565b6060600160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610da6576040517f8ff4f0c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610daf8a611544565b1580610dc15750610dbf8961159e565b155b15610e125782828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509050610f7e565b610e6e8585810190610e24919061271d565b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506118df565b905060008787810190610e819190612bdc565b509050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397aa390a8260006040518363ffffffff1660e01b8152600401610ee2929190612c57565b600060405180830381600087803b158015610efc57600080fd5b505af1925050508015610f0d575060015b610f7b57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fad54938020e5605514c0d700b3df01594e71270636ec4489dbedefdee297f9b260405160405180910390a2610f7c565b5b505b9998505050505050505050565b60018060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082565b6060600160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611069576040517f8ff4f0c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61107288611544565b158061108457506110828761159e565b155b156110a0576040518060200160405280600081525090506110cb565b6110a986611638565b6040516020016110b99190612602565b60405160208183030381529060405290505b979650505050505050565b60606110e186611638565b6040516020016110f19190612602565b6040516020818303038152906040529050979650505050505050565b60006001800160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a1e888600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684306040518463ffffffff1660e01b815260040161119293929190612c80565b608060405180830381865afa1580156111af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d39190612ccc565b5050915050600081600b0b0361127457600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397aa390a8360006040518363ffffffff1660e01b8152600401611241929190612c57565b600060405180830381600087803b15801561125b57600080fd5b505af115801561126f573d6000803e3d6000fd5b505050505b5050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461132a576040517f8ff4f0c900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b898961133582611544565b61136b576040517f134d673900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113748161159e565b6113aa576040517f65e170d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600089898101906113bb9190612bdc565b50905060006113c98c611638565b9050600360149054906101000a9004600b0b600b0b81600b0b121561141a576040517f7869581700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114688188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061170c565b9450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381a3c9436114b184611b1d565b6114da7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611bc5565b6114e330611b1d565b6040518463ffffffff1660e01b815260040161150193929190612eaf565b600060405180830381600087803b15801561151b57600080fd5b505af115801561152f573d6000803e3d6000fd5b50505050505050509998505050505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60007fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd38273ffffffffffffffffffffffffffffffffffffffff16637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561160c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116309190612f10565b149050919050565b60006001800160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aabd2668600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016116bb929190612f3d565b608060405180830381865afa1580156116d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116fc9190612ccc565b9091925090505080915050919050565b606060006001800160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a1e888600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b81526004016117b593929190612c80565b608060405180830381865afa1580156117d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f69190612ccc565b5050915050600081600b0b0361186c5761186483600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876001611c3f90949392919063ffffffff16565b9150506118d9565b6118d583600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687856118c29190612f66565b6001611de490949392919063ffffffff16565b9150505b92915050565b606060006001800160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e6a1e888600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b815260040161198893929190612c80565b608060405180830381865afa1580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c99190612ccc565b5050915050600084826119dc9190612779565b9050600081600b0b13611a5057611a478430600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001611f8990949392919063ffffffff16565b92505050611ab3565b611aae84600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846001611de490949392919063ffffffff16565b925050505b92915050565b60006b7fffffffffffffffffffffff600b0b821115611b04576040517fad9f41c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b819050919050565b6000611b173061212e565b15905090565b60606000600167ffffffffffffffff811115611b3c57611b3b612fe6565b5b604051908082528060200260200182016040528015611b6a5781602001602082028036833780820191505090505b5090508281600081518110611b8257611b81613015565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080915050919050565b60606000600167ffffffffffffffff811115611be457611be3612fe6565b5b604051908082528060200260200182016040528015611c125781602001602082028036833780820191505090505b5090508281600081518110611c2a57611c29613015565b5b60200260200101818152505080915050919050565b60608560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634329d2938760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166362fc305e60e01b868887600067ffffffffffffffff811115611ccc57611ccb612fe6565b5b6040519080825280601f01601f191660200182016040528015611cfe5781602001600182028036833780820191505090505b50604051602401611d129493929190613065565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050886040518463ffffffff1660e01b8152600401611d8e939291906130fd565b6000604051808303816000875af1158015611dad573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611dd69190613247565b508091505095945050505050565b60608560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634329d2938760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166350209a6260e01b868887600067ffffffffffffffff811115611e7157611e70612fe6565b5b6040519080825280601f01601f191660200182016040528015611ea35781602001600182028036833780820191505090505b50604051602401611eb79493929190613065565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050886040518463ffffffff1660e01b8152600401611f33939291906130fd565b6000604051808303816000875af1158015611f52573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190611f7b9190613247565b508091505095945050505050565b60608560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634329d2938760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1663b4b333c660e01b858888600067ffffffffffffffff81111561201657612015612fe6565b5b6040519080825280601f01601f1916602001820160405280156120485781602001600182028036833780820191505090505b5060405160240161205c94939291906132bf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050886040518463ffffffff1660e01b81526004016120d8939291906130fd565b6000604051808303816000875af11580156120f7573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906121209190613247565b508091505095945050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000819050919050565b61216481612151565b82525050565b600060208201905061217f600083018461215b565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121c482612199565b9050919050565b60006121d6826121b9565b9050919050565b6121e6816121cb565b81146121f157600080fd5b50565b600081359050612203816121dd565b92915050565b612212816121b9565b811461221d57600080fd5b50565b60008135905061222f81612209565b92915050565b61223e81612151565b811461224957600080fd5b50565b60008135905061225b81612235565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261228657612285612261565b5b8235905067ffffffffffffffff8111156122a3576122a2612266565b5b6020830191508360018202830111156122bf576122be61226b565b5b9250929050565b600080600080600080600080600060c08a8c0312156122e8576122e761218f565b5b60006122f68c828d016121f4565b99505060206123078c828d01612220565b98505060406123188c828d0161224c565b97505060608a013567ffffffffffffffff81111561233957612338612194565b5b6123458c828d01612270565b965096505060808a013567ffffffffffffffff81111561236857612367612194565b5b6123748c828d01612270565b945094505060a08a013567ffffffffffffffff81111561239757612396612194565b5b6123a38c828d01612270565b92509250509295985092959850929598565b600081519050919050565b600082825260208201905092915050565b60005b838110156123ef5780820151818401526020810190506123d4565b838111156123fe576000848401525b50505050565b6000601f19601f8301169050919050565b6000612420826123b5565b61242a81856123c0565b935061243a8185602086016123d1565b61244381612404565b840191505092915050565b600060208201905081810360008301526124688184612415565b905092915050565b600080600080600080600060a0888a03121561248f5761248e61218f565b5b600061249d8a828b016121f4565b97505060206124ae8a828b01612220565b96505060406124bf8a828b0161224c565b955050606088013567ffffffffffffffff8111156124e0576124df612194565b5b6124ec8a828b01612270565b9450945050608088013567ffffffffffffffff81111561250f5761250e612194565b5b61251b8a828b01612270565b925092505092959891949750929550565b6000819050919050565b600061255161254c61254784612199565b61252c565b612199565b9050919050565b600061256382612536565b9050919050565b600061257582612558565b9050919050565b6125858161256a565b82525050565b60006020820190506125a0600083018461257c565b92915050565b600080604083850312156125bd576125bc61218f565b5b60006125cb85828601612220565b92505060206125dc85828601612220565b9150509250929050565b600081600b0b9050919050565b6125fc816125e6565b82525050565b600060208201905061261760008301846125f3565b92915050565b600061262882612558565b9050919050565b6126388161261d565b82525050565b600061264982612558565b9050919050565b6126598161263e565b82525050565b6000604082019050612674600083018561262f565b6126816020830184612650565b9392505050565b60006020828403121561269e5761269d61218f565b5b60006126ac84828501612220565b91505092915050565b60006126c082612558565b9050919050565b6126d0816126b5565b82525050565b60006020820190506126eb60008301846126c7565b92915050565b6126fa816125e6565b811461270557600080fd5b50565b600081359050612717816126f1565b92915050565b6000602082840312156127335761273261218f565b5b600061274184828501612708565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612784826125e6565b915061278f836125e6565b9250827fffffffffffffffffffffffffffffffffffffffff800000000000000000000000018212600084121516156127ca576127c961274a565b5b826b7fffffffffffffffffffffff0182136000841216156127ee576127ed61274a565b5b828203905092915050565b600082825260208201905092915050565b7f556e737570706f727465642063616c6c6261636b202d204265666f726520416760008201527f7265656d656e7420437265617465640000000000000000000000000000000000602082015250565b6000612866602f836127f9565b91506128718261280a565b604082019050919050565b6000602082019050818103600083015261289581612859565b9050919050565b6128a5816121b9565b82525050565b60006020820190506128c0600083018461289c565b92915050565b6000819050919050565b6128d9816128c6565b81146128e457600080fd5b50565b6000815190506128f6816128d0565b92915050565b6000602082840312156129125761291161218f565b5b6000612920848285016128e7565b91505092915050565b612932816128c6565b82525050565b600060408201905061294d600083018561289c565b61295a6020830184612929565b9392505050565b60008115159050919050565b61297681612961565b811461298157600080fd5b50565b6000815190506129938161296d565b92915050565b6000602082840312156129af576129ae61218f565b5b60006129bd84828501612984565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612a00826125e6565b9150612a0b836125e6565b925082612a1b57612a1a6129c6565b5b600160000383147fffffffffffffffffffffffffffffffffffffffff80000000000000000000000083141615612a5457612a5361274a565b5b828205905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000612abb602e836127f9565b9150612ac682612a5f565b604082019050919050565b60006020820190508181036000830152612aea81612aae565b9050919050565b6000612afc826121b9565b9050919050565b612b0c81612af1565b8114612b1757600080fd5b50565b600081519050612b2981612b03565b92915050565b600060208284031215612b4557612b4461218f565b5b6000612b5384828501612b1a565b91505092915050565b600081519050612b6b81612209565b92915050565b600060208284031215612b8757612b8661218f565b5b6000612b9584828501612b5c565b91505092915050565b6000612ba982612199565b9050919050565b612bb981612b9e565b8114612bc457600080fd5b50565b600081359050612bd681612bb0565b92915050565b60008060408385031215612bf357612bf261218f565b5b6000612c0185828601612bc7565b9250506020612c1285828601612bc7565b9150509250929050565b6000819050919050565b6000612c41612c3c612c3784612c1c565b61252c565b6128c6565b9050919050565b612c5181612c26565b82525050565b6000604082019050612c6c600083018561289c565b612c796020830184612c48565b9392505050565b6000606082019050612c95600083018661257c565b612ca2602083018561289c565b612caf604083018461289c565b949350505050565b600081519050612cc6816126f1565b92915050565b60008060008060808587031215612ce657612ce561218f565b5b6000612cf4878288016128e7565b9450506020612d0587828801612cb7565b9350506040612d16878288016128e7565b9250506060612d27878288016128e7565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612d68816121b9565b82525050565b6000612d7a8383612d5f565b60208301905092915050565b6000602082019050919050565b6000612d9e82612d33565b612da88185612d3e565b9350612db383612d4f565b8060005b83811015612de4578151612dcb8882612d6e565b9750612dd683612d86565b925050600181019050612db7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e26816128c6565b82525050565b6000612e388383612e1d565b60208301905092915050565b6000602082019050919050565b6000612e5c82612df1565b612e668185612dfc565b9350612e7183612e0d565b8060005b83811015612ea2578151612e898882612e2c565b9750612e9483612e44565b925050600181019050612e75565b5085935050505092915050565b60006060820190508181036000830152612ec98186612d93565b90508181036020830152612edd8185612e51565b90508181036040830152612ef18184612d93565b9050949350505050565b600081519050612f0a81612235565b92915050565b600060208284031215612f2657612f2561218f565b5b6000612f3484828501612efb565b91505092915050565b6000604082019050612f52600083018561257c565b612f5f602083018461215b565b9392505050565b6000612f71826125e6565b9150612f7c836125e6565b9250816b7fffffffffffffffffffffff03831360008312151615612fa357612fa261274a565b5b817fffffffffffffffffffffffffffffffffffffffff800000000000000000000000038312600083121615612fdb57612fda61274a565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061304f82612558565b9050919050565b61305f81613044565b82525050565b600060808201905061307a6000830187613056565b613087602083018661289c565b61309460408301856125f3565b81810360608301526130a68184612415565b905095945050505050565b7f3078000000000000000000000000000000000000000000000000000000000000600082015250565b60006130e76002836123c0565b91506130f2826130b1565b602082019050919050565b60006080820190506131126000830186612650565b81810360208301526131248185612415565b90508181036040830152613137816130da565b9050818103606083015261314b8184612415565b9050949350505050565b600080fd5b61316382612404565b810181811067ffffffffffffffff8211171561318257613181612fe6565b5b80604052505050565b6000613195612185565b90506131a1828261315a565b919050565b600067ffffffffffffffff8211156131c1576131c0612fe6565b5b6131ca82612404565b9050602081019050919050565b60006131ea6131e5846131a6565b61318b565b90508281526020810184848401111561320657613205613155565b5b6132118482856123d1565b509392505050565b600082601f83011261322e5761322d612261565b5b815161323e8482602086016131d7565b91505092915050565b6000806040838503121561325e5761325d61218f565b5b600083015167ffffffffffffffff81111561327c5761327b612194565b5b61328885828601613219565b925050602083015167ffffffffffffffff8111156132a9576132a8612194565b5b6132b585828601613219565b9150509250929050565b60006080820190506132d46000830187613056565b6132e1602083018661289c565b6132ee604083018561289c565b81810360608301526133008184612415565b90509594505050505056fea26469706673582212208dafd55e7b8eded680823f19fed943c41efac0d4bf2096f4e7fb68cdde4f979f64736f6c634300080d0033