0 txs
1 call
constructor
No constructor.
functions
loop
nonpayablefunction loop(address morpho, tuple morphoMarketParams, tuple loopInfo)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
withdrawBackingToken
nonpayablefunction withdrawBackingToken(address morpho, tuple morphoMarketParams, uint256 amount)
events
LoopLongExecuted
event LoopLongExecuted(address indexed sender, address indexed exposureToken, address indexed backingToken, uint256 exposureAmountIncrease, uint256 backingAmountIncrease, uint256 backingTokensSold, uint256 exposureTokensBought, bytes32 borrowMarketId)
WithdrawBackingTokenFromLong
event WithdrawBackingTokenFromLong(address indexed sender, address indexed exposureToken, address indexed backingToken, uint256 amount, bytes32 borrowMarketId)
errors
InvalidCaller
error InvalidCaller()
InvalidMarketParams
error InvalidMarketParams()
ReentrantCall
error ReentrantCall()
SwapTooExpensive
error SwapTooExpensive(address token, uint256 maxAmountIn, uint256 actualAmountIn)
SwapUnderfilled
error SwapUnderfilled(address token, uint256 expectedAmount, uint256 actualAmount)
UnrecognizedChain
error UnrecognizedChain(uint256)
creation bytecode
0x608060405234601c57600e6020565b61293161002b823961293190f35b6026565b60405190565b5f80fdfe60806040526004361015610013575b610488565b61001d5f3561004c565b806318a2bbb914610047578063c1472983146100425763fa461e330361000e57610451565b61035a565b6101ff565b60e01c90565b60405190565b5f80fd5b5f80fd5b5f80fd5b73ffffffffffffffffffffffffffffffffffffffff1690565b61008690610064565b90565b6100928161007d565b0361009957565b5f80fd5b905035906100aa82610089565b565b5f80fd5b601f801991011690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b906100f1906100b0565b810190811067ffffffffffffffff82111761010b57604052565b6100ba565b9061012361011c610052565b92836100e7565b565b90565b61013181610125565b0361013857565b5f80fd5b9050359061014982610128565b565b919060a0838203126101bb576101b49061016560a0610110565b93610172825f830161009d565b5f860152610183826020830161009d565b6020860152610195826040830161009d565b60408601526101a7826060830161009d565b606086015260800161013c565b6080830152565b6100ac565b909160e0828403126101f5576101f26101db845f850161009d565b936101e9816020860161014b565b9360c00161013c565b90565b61005c565b5f0190565b3461022e576102186102123660046101c0565b9161095b565b610220610052565b8061022a816101fa565b0390f35b610058565b62ffffff1690565b61024481610233565b0361024b57565b5f80fd5b9050359061025c8261023b565b565b151590565b61026c8161025e565b0361027357565b5f80fd5b9050359061028482610263565b565b919060e08382031261031a57610313906102a060e0610110565b936102ad825f830161009d565b5f8601526102be826020830161009d565b60208601526102d0826040830161024f565b60408601526102e2826060830161013c565b60608601526102f4826080830161013c565b60808601526103068260a0830161013c565b60a086015260c001610277565b60c0830152565b6100ac565b90916101a0828403126103555761035261033b845f850161009d565b93610349816020860161014b565b9360c001610286565b90565b61005c565b346103895761037361036d36600461031f565b916111d2565b61037b610052565b80610385816101fa565b0390f35b610058565b90565b61039a8161038e565b036103a157565b5f80fd5b905035906103b282610391565b565b5f80fd5b5f80fd5b5f80fd5b909182601f830112156103fa5781359167ffffffffffffffff83116103f55760200192600183028401116103f057565b6103bc565b6103b8565b6103b4565b9160608383031261044c57610416825f85016103a5565b9261042483602083016103a5565b92604082013567ffffffffffffffff81116104475761044392016103c0565b9091565b610060565b61005c565b346104835761046d6104643660046103ff565b92919091611428565b610475610052565b8061047f816101fa565b0390f35b610058565b5f80fd5b5f1c90565b90565b6104a86104a36104ad92610125565b610491565b610125565b90565b6104bc6104c19161048c565b610494565b90565b90565b6104db6104d66104e0926104c4565b610491565b610125565b90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61051f61052591939293610125565b92610125565b820391821161053057565b6104e3565b90565b5f1b90565b61055161054c61055692610125565b610538565b610535565b90565b61059d6105986105887f951ae9fc8e231369dc30d9a40f12c78bb800223594870e32a7cda666d14d45d56104b0565b61059260016104c7565b90610510565b61053d565b90565b5f90565b9190916105af610559565b916105b86105a0565b50825c6105de6105d86105d36105ce60016104c7565b61053d565b610535565b91610535565b146105f5575f936105f2926001855d610836565b5d565b5f7f37ed32e800000000000000000000000000000000000000000000000000000000815280610626600482016101fa565b0390fd5b61063e61063961064392610064565b610491565b610064565b90565b61064f9061062a565b90565b61065b90610646565b90565b6106679061062a565b90565b6106739061065e565b90565b61067f9061065e565b90565b5f80fd5b60e01b90565b9050519061069982610128565b565b91906040838203126106c357806106b76106c0925f860161068c565b9360200161068c565b90565b61005c565b6106d19061007d565b9052565b6106de90610125565b9052565b9060808061073a936106fa5f8201515f8601906106c8565b61070c602082015160208601906106c8565b61071e604082015160408601906106c8565b610730606082015160608601906106c8565b01519101906106d5565b565b61074590610125565b9052565b90565b61076061075b61076592610749565b610491565b610125565b90565b6107719061074c565b9052565b61077e9061007d565b9052565b909594926107cf946107be6107c8926107b4610100966107aa61012088019c5f8901906106e2565b60a087019061073c565b60c0850190610768565b60e0830190610775565b0190610775565b565b6107d9610052565b3d5f823e3d90fd5b6107eb905161007d565b90565b6107f790610535565b90565b6108039061065e565b90565b61080f90610535565b9052565b91602061083492949361082d60408201965f83019061073c565b0190610806565b565b61084561084a91939293610652565b61066a565b60406350d8cd4b9184906108855f86956108908261086730610676565b61087030610676565b91610879610052565b9a8b998a988997610686565b875260048701610782565b03925af1801561095657610929575b506108a930610676565b6108b5602084016107e1565b906108d36108ce6108c75f87016107e1565b94956118fe565b6107ee565b61090f6109096109037fabaa7a909c9379d0ef7f7c5666d3afd2a53271f10cd97701f10da1625abaec20946107fa565b946107fa565b946107fa565b9461092461091b610052565b92839283610813565b0390a4565b6109499060403d811161094f575b61094181836100e7565b81019061069b565b5061089f565b503d610937565b6107d1565b9061096692916105a4565b565b919091610973610559565b9161097c6105a0565b50825c6109a261099c61099761099260016104c7565b61053d565b610535565b91610535565b146109b9575f936109b6926001855d610e78565b5d565b5f7f37ed32e8000000000000000000000000000000000000000000000000000000008152806109ea600482016101fa565b0390fd5b6109f8905161025e565b90565b610a049061062a565b90565b610a10906109fb565b90565b610a1c9061065e565b90565b90602082820312610a3857610a35915f0161068c565b90565b61005c565b9190610a50905f60208501940190610775565b565b610a5c9051610125565b90565b90610a6990610125565b9052565b610a779051610233565b90565b610a839061062a565b90565b610a8f90610a7a565b90565b610a9b9061065e565b90565b610aa79061038e565b7f80000000000000000000000000000000000000000000000000000000000000008114610ad3575f0390565b6104e3565b90565b610aef610aea610af492610ad8565b610491565b610064565b90565b610b1473fffd8963efd1fc6a506488495d951d5263988d26610adb565b90565b610b2b610b26610b30926104c4565b610491565b610064565b90565b610b3f610b4591610064565b91610064565b90039073ffffffffffffffffffffffffffffffffffffffff8211610b6557565b6104e3565b90565b610b81610b7c610b8692610b6a565b610491565b610064565b90565b610b976401000276a3610b6d565b90565b610ba6610bac91610064565b91610064565b019073ffffffffffffffffffffffffffffffffffffffff8211610bcb57565b6104e3565b610bda6080610110565b90565b52565b90610bea9061007d565b9052565b52565b52565b610bfd90610233565b9052565b90604080610c3593610c195f8201515f8601906106c8565b610c2b602082015160208601906106c8565b0151910190610bf4565b565b90608080610c8f93610c4f5f8201515f8601906106c8565b610c61602082015160208601906106c8565b610c73604082015160408601906106c8565b610c85606082015160608601906106c8565b01519101906106d5565b565b610c9a9061025e565b9052565b9060c080610d1a93610cb65f8201515f8601906106c8565b610cc8602082015160208601906106c8565b610cda60408201516040860190610bf4565b610cec606082015160608601906106d5565b610cfe608082015160808601906106d5565b610d1060a082015160a08601906106d5565b0151910190610c91565b565b906101206060610d6393610d365f8201515f860190610c01565b610d476020820151838601906106c8565b610d5960408201516080860190610c37565b0151910190610c9e565b565b9190610d79905f6102008501940190610d1c565b565b90505190610d8882610391565b565b9190604083820312610db25780610da6610daf925f8601610d7b565b93602001610d7b565b90565b61005c565b610dc09061025e565b9052565b610dcd9061038e565b9052565b610dda90610064565b9052565b5190565b60209181520190565b90825f9392825e0152565b610e15610e1e602093610e2393610e0c81610dde565b93848093610de2565b95869101610deb565b6100b0565b0190565b9193610e5e610e759694610e54610e689497610e4a60a08801995f890190610775565b6020870190610db7565b6040850190610dc4565b6060830190610dd1565b6080818403910152610df6565b90565b9190610e8261199c565b610e8e602082016107e1565b610eaa610ea4610e9f5f86016107e1565b61007d565b9161007d565b141580156111a2575b61116d57610ec360c083016109ee565b611087575b81602001610ed5906107e1565b92825f01610ee2906107e1565b9383606001610ef090610a52565b948181610efc9061007d565b90610f069061007d565b10919085604001610f1690610a6d565b90610f2092611a1e565b93610f29611c41565b85610f3391612004565b610f3c90610a86565b610f4590610a92565b9263128acb089030610f5690610676565b958498610f629061214a565b610f6b90610a9e565b945f1497611014956110005f96610fdd61101f96610fd4610ff19760409f61106357610fcc610fab610f9b610b89565b610fa56001610b17565b90610b9a565b985b9593610fc3610fba610bd0565b978f8901610bdd565b60208701610be0565b8f8501610bee565b60608301610bf1565b610fe5610052565b94859160208301610d65565b602082018103825203846100e7565b611008610052565b9a8b998a988997610686565b875260048701610e27565b03925af1801561105e57611031575b50565b6110519060403d8111611057575b61104981836100e7565b810190610d8a565b5061102e565b503d61103f565b6107d1565b610fcc611081611071610af7565b61107b6001610b17565b90610b33565b98610fad565b6110d960206110a76110a261109d8387016107e1565b610a07565b610a13565b6370a08231906110ce6110b930610676565b926110c2610052565b95869485938493610686565b835260048301610a3d565b03915afa908115611168575f9161113a575b506110f860a08401610a52565b61110a61110483610125565b91610125565b11155f14611131575061112c61112260a08401610a52565b5b60a08401610a5f565b610ec8565b61112c90611123565b61115b915060203d8111611161575b61115381836100e7565b810190610a1f565b5f6110eb565b503d611149565b6107d1565b5f7f494e78070000000000000000000000000000000000000000000000000000000081528061119e600482016101fa565b0390fd5b506111ae5f82016107e1565b6111cb6111c56111c0602086016107e1565b61007d565b9161007d565b1415610eb3565b906111dd9291610968565b565b919060608382031261122b57611224906111f96060610110565b93611206825f830161009d565b5f860152611217826020830161009d565b602086015260400161024f565b6040830152565b6100ac565b919061020083820312611290576112899061124b6080610110565b93611258825f83016111df565b5f860152611269826060830161009d565b602086015261127b826080830161014b565b604086015261012001610286565b6060830152565b6100ac565b90610200828203126112af576112ac915f01611230565b90565b61005c565b6112c86112c36112cd92610749565b610491565b61038e565b90565b6112e46112df6112e99261038e565b610491565b610125565b90565b60409061131561131c949695939661130b60608401985f850190610775565b602083019061073c565b019061073c565b565b67ffffffffffffffff811161133c576113386020916100b0565b0190565b6100ba565b9061135361134e8361131e565b610110565b918252565b369037565b9061138261136a83611341565b92602080611378869361131e565b9201910390611358565b565b5f91031261138e57565b61005c565b90926113c7906113bd6113d496946113b36101008601975f8701906106e2565b60a085019061073c565b60c0830190610775565b60e0818403910152610df6565b90565b5f90565b909594926114269461141561141f9261140b60809661140160a088019c5f89019061073c565b602087019061073c565b604085019061073c565b606083019061073c565b0190610806565b565b9192611440919361143761219b565b90810190611295565b60608101519261146361145e611454611c41565b5f85015190612004565b610a86565b923361147f61147961147487610a92565b61007d565b9161007d565b036118c557806114976114915f6112b4565b9161038e565b125f146118af576114af6114aa82610a9e565b6112d0565b5b91816114c46114be5f6112b4565b9161038e565b135f146118a057506114d5906112d0565b5b90806114f56114ef6114ea60608901610a52565b610125565b91610125565b1061185057508061151961151361150e60808801610a52565b610125565b91610125565b116117ff5761155761153961153460206040860151016107e1565b610a07565b611545602085016107e1565b61155160608801610a52565b91612266565b61157361156e611569602085016107e1565b610652565b61066a565b63238d6579604084015161158960608801610a52565b9261159330610676565b6115a461159f5f61074c565b61135d565b823b156117fa575f946115d586926115ca946115be610052565b998a9889978896610686565b865260048601611393565b03925af180156117f5576117c9575b506115ed6113d7565b50836115fb60a08201610a52565b61160d61160784610125565b91610125565b105f146117b5575061163161162c611627602085016107e1565b610652565b61066a565b9060406350d8cd4b9281850151906116855f6116598661165360a08d01610a52565b90610510565b966116908261166730610676565b61167030610676565b91611679610052565b9b8c998a988997610686565b875260048701610782565b03925af19384156117b05761177e8695948695948695611783575b506116e16116bb60a08701610a52565b935b6116da6116d46116cf60208a016107e1565b610a07565b91610a92565b8691612320565b61172f61172a6040611722606061171981611712602061170b5f61170430610676565b9f016107e1565b9e016107e1565b9d01610a52565b97989c01610a52565b9301516118fe565b6107ee565b9061176c6117666117607f74bb6e67bb87de940263b7fac5698d67f7ae7abbc845c0e3cab53f98df6c813c986107fa565b986107fa565b986107fa565b98611775610052565b958695866113db565b0390a4565b6117a39060403d81116117a9575b61179b81836100e7565b81019061069b565b506116ab565b503d611791565b6107d1565b929083929161177e84936116e184936116bd565b6117e8905f3d81116117ee575b6117e081836100e7565b810190611384565b5f6115e4565b503d6117d6565b6107d1565b610682565b8361184c61181b6080611814602085016107e1565b9301610a52565b925f9384937f3824a8c4000000000000000000000000000000000000000000000000000000008552600485016112ec565b0390fd5b8461189c61186b60606118645f85016107e1565b9301610a52565b925f9384937f131945b6000000000000000000000000000000000000000000000000000000008552600485016112ec565b0390fd5b6118aa91506112d0565b6114d6565b6118c06118bb83610a9e565b6112d0565b6114b0565b5f7f48f5c3ed000000000000000000000000000000000000000000000000000000008152806118f6600482016101fa565b0390fd5b5f90565b60a0906119096118fa565b502090565b61195261194d61193d7f08e807f0e311ef1048643adc5ad6a1816eb08663ef138ef8a0dbdde4c66f79456104b0565b61194760016104c7565b90610510565b61053d565b90565b6119996119946119847f439f1088d898f3d7db77e1b77d28920aa2581569b138503f27dfbbc6bae651da6104b0565b61198e60016104c7565b90610510565b61053d565b90565b6119a461190e565b6119ac611955565b5c905d565b6119bb6060610110565b90565b5f90565b5f90565b6119ce6119b1565b9060208080846119dc6119be565b8152016119e76119be565b8152016119f26119c2565b81525050565b611a006119c6565b90565b611a0d6060610110565b90565b90611a1a90610233565b9052565b91611a276119f8565b5082611a3b611a358461007d565b9161007d565b11611a71575b611a65611a6e92611a5c611a53611a03565b955f8701610be0565b60208501610be0565b60408301611a10565b90565b611a65611a6e9293925050611a41565b5f90565b731f98431c8ad98523631ae4a59f267346ea31f98490565b90565b611ab4611aaf611ab992611a9d565b610491565b610125565b90565b90565b611ad3611ace611ad892611abc565b610491565b610125565b90565b90565b611af2611aed611af792611adb565b610491565b610125565b90565b90565b611b11611b0c611b1692611afa565b610491565b610125565b90565b90565b611b30611b2b611b3592611b19565b610491565b610125565b90565b73db1d10011ad0ff90774d0c6bb92e5c5c8b4461f790565b90565b611b67611b62611b6c92611b50565b610491565b610125565b90565b7333128a8fc17869897dce68ed026d694621f6fdfd90565b90565b611b9e611b99611ba392611b87565b610491565b610125565b90565b73afe208a311b21f13ef87e33a90049fc17a7acdec90565b90565b611bd5611bd0611bda92611bbe565b610491565b610125565b90565b737a5028bda40e7b173c278c5342087826455ea25a90565b90565b611c0c611c07611c1192611bf5565b610491565b610125565b90565b731f9840000000000000000000000000000000000390565b9190611c3f905f6020850194019061073c565b565b611c49611a81565b5046611c5e611c5860016104c7565b91610125565b14611de35746611c77611c71600a611aa0565b91610125565b14611dd85746611c91611c8b61a4b1611abf565b91610125565b14611dcd5746611caa611ca46089611ade565b91610125565b14611dc25746611cc3611cbd6005611afd565b91610125565b14611db75746611cdc611cd66038611b1c565b91610125565b14611dac5746611cf6611cf0612105611b53565b91610125565b14611da15746611d10611d0a61a4ec611b8a565b91610125565b14611d965746611d2a611d246101e0611bc1565b91610125565b14611d8b5746611d43611d3d6082611bf8565b91610125565b14611d8057611d7c465f9182917f6b8c198400000000000000000000000000000000000000000000000000000000835260048301611c2c565b0390fd5b611d88611c14565b90565b611d93611bdd565b90565b611d9e611ba6565b90565b611da9611b6f565b90565b611db4611b38565b90565b611dbf611a85565b90565b611dca611a85565b90565b611dd5611a85565b90565b611de0611a85565b90565b611deb611a85565b90565b60209181520190565b5f7f506f6f6c416464726573733a2077726f6e6720746f6b656e206f726465720000910152565b611e2b601e602092611dee565b611e3481611df7565b0190565b611e4d9060208101905f818303910152611e1e565b90565b15611e5757565b611e5f610052565b7f08c379a000000000000000000000000000000000000000000000000000000000815280611e8f60048201611e38565b0390fd5b611e9c90610233565b9052565b604090611ec9611ed09496959396611ebf60608401985f850190610775565b6020830190610775565b0190611e93565b565b60200190565b90565b611eef611eea611ef492611ed8565b610538565b610535565b90565b611f207fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54611edb565b90565b905090565b5f7fff00000000000000000000000000000000000000000000000000000000000000910152565b611f5b60018092611f23565b611f6481611f28565b0190565b60601b90565b611f7790611f68565b90565b611f8390611f6e565b90565b611f92611f979161007d565b611f7a565b9052565b90565b611faa611faf91610535565b611f9b565b9052565b60209392611fdc6014611fe494611fd4611fcd8996611f4f565b8092611f86565b018092611f9e565b018092611f9e565b0190565b611ffc611ff761200192610125565b610491565b610064565b90565b6120f36120fd926120db6120f89361201a611a81565b5061204c6120295f85016107e1565b61204661204061203b602088016107e1565b61007d565b9161007d565b10611e50565b9161209961205b5f83016107e1565b61208a612076604061206f602087016107e1565b9501610a6d565b61207e610052565b94859360208501611ea0565b602082018103825203826100e7565b6120ab6120a582610dde565b91611ed2565b20916120cc6120b8611ef7565b6120c0610052565b94859360208501611fb3565b602082018103825203826100e7565b6120ed6120e782610dde565b91611ed2565b206104b0565b611fe8565b61065e565b90565b5f90565b90565b61211b61211661212092612104565b610491565b610125565b90565b1561212a57565b5f80fd5b61214261213d61214792610125565b610491565b61038e565b90565b61219890612156612100565b506121938161218d6121877f8000000000000000000000000000000000000000000000000000000000000000612107565b91610125565b10612123565b61212e565b90565b5f6121a461190e565b5d565b63ffffffff1690565b7fffffffff000000000000000000000000000000000000000000000000000000001690565b6121e96121e46121ee926121a7565b610686565b6121b0565b90565b91602061221292949361220b60408201965f830190610775565b019061073c565b565b60ff1690565b61222e61222961223392610749565b610491565b612214565b90565b61223f9061221a565b9052565b91602061226492949361225d60408201965f830190610775565b0190612236565b565b90916122a760049161229861227e63095ea7b36121d5565b9186612288610052565b95869460208601908152016121f1565b602082018103825203826100e7565b906122bc6122b68284906123ca565b1561025e565b6122c6575b505050565b61231360046123189461230e84916122ff6122e463095ea7b36121d5565b915f906122ef610052565b9687946020860190815201612243565b602082018103825203836100e7565b6125b3565b6125b3565b5f80806122c1565b91612364600492612355612369959361233c63a9059cbb6121d5565b92612345610052565b96879460208601908152016121f1565b602082018103825203836100e7565b6125b3565b565b5f90565b606090565b3d5f1461238f576123843d611341565b903d5f602084013e5b565b61239761236f565b9061238d565b905051906123aa82610263565b565b906020828203126123c5576123c2915f0161239d565b90565b61005c565b905f80916123d661236b565b506123e084610a13565b9082602082019151925af16123f3612374565b8161241e575b509081612405575b5090565b612418915061241390610a13565b61261f565b5f612401565b905061242981610dde565b61243b6124355f61074c565b91610125565b1490811561244b575b505f6123f9565b6124669150602061245b82610dde565b8183010191016123ac565b5f612444565b67ffffffffffffffff811161248a576124866020916100b0565b0190565b6100ba565b906124a161249c8361246c565b610110565b918252565b5f7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564910152565b6124d7602061248f565b906124e4602083016124a6565b565b6124ee6124cd565b90565b60207f6f74207375636365656400000000000000000000000000000000000000000000917f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201520152565b61254b602a604092611dee565b612554816124f1565b0190565b61256d9060208101905f81830391015261253e565b90565b1561257757565b61257f610052565b7f08c379a0000000000000000000000000000000000000000000000000000000008152806125af60048201612558565b0390fd5b6125fc916125c36125d292610a13565b906125cc6124e6565b9161263f565b6125db81610dde565b6125ed6125e75f61074c565b91610125565b149081156125fe575b50612570565b565b6126199150602061260e82610dde565b8183010191016123ac565b5f6125f6565b61262761236b565b503b61263b6126355f61074c565b91610125565b1190565b9061265e929161264d61236f565b50906126585f61074c565b9161272f565b90565b61266a9061065e565b90565b60207f722063616c6c0000000000000000000000000000000000000000000000000000917f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201520152565b6126c76026604092611dee565b6126d08161266d565b0190565b6126e99060208101905f8183039101526126ba565b90565b156126f357565b6126fb610052565b7f08c379a00000000000000000000000000000000000000000000000000000000081528061272b600482016126d4565b0390fd5b915f8091612785959361274061236f565b5061276761274d30612661565b3161276061275a85610125565b91610125565b10156126ec565b8591602082019151925af19161277b612374565b9092909192612824565b90565b5f7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000910152565b6127bc601d602092611dee565b6127c581612788565b0190565b6127de9060208101905f8183039101526127af565b90565b156127e857565b6127f0610052565b7f08c379a000000000000000000000000000000000000000000000000000000000815280612820600482016127c9565b0390fd5b91929061282f61236f565b505f14612873575061284082610dde565b61285261284c5f61074c565b91610125565b1461285c575b5090565b61286861286d9161261f565b6127e1565b5f612858565b826128c6565b5190565b61289c6128a56020936128aa9361289381612879565b93848093611dee565b95869101610deb565b6100b0565b0190565b6128c39160208201915f81840391015261287d565b90565b906128d082610dde565b6128e26128dc5f61074c565b91610125565b115f146128f25750805190602001fd5b61292d906128fe610052565b9182917f08c379a0000000000000000000000000000000000000000000000000000000008352600483016128ae565b0390fd