19 txs
23 calls
constructor
constructor(address initialOwner_, address hOHM_, address olympusStaking_, address sUsds_, address uniV3Router_, address uniV3Quoter_)
functions
explicitFunctionAccess
viewfunction explicitFunctionAccess(address, bytes4) view returns (bool)
gOHM
viewfunction gOHM() view returns (address)
hOHM
viewfunction hOHM() view returns (address)
OHM
viewfunction OHM() view returns (address)
olympusStaking
viewfunction olympusStaking() view returns (address)
owner
viewfunction owner() view returns (address)
sUSDS
viewfunction sUSDS() view returns (address)
uniV3Quoter
viewfunction uniV3Quoter() view returns (address)
uniV3Router
viewfunction uniV3Router() view returns (address)
USDS
viewfunction USDS() view returns (address)
acceptOwner
nonpayablefunction acceptOwner()
approveToken
nonpayablefunction approveToken(address token, address spender, uint256 amount)
executeRoute1
nonpayablefunction executeRoute1(uint256 sUsdsSold, int256 minProfit, uint24 susdsHohmPoolFee, uint24 ohmSusdsPoolFee, uint256 deadline) returns (int256 profit)
executeRoute2
nonpayablefunction executeRoute2(uint256 sUsdsSold, int256 minProfit, uint24 susdsHohmPoolFee, uint24 ohmSusdsPoolFee, uint256 deadline) returns (int256 profit)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
proposeNewOwner
nonpayablefunction proposeNewOwner(address account)
quoteRoute1
nonpayablefunction quoteRoute1(uint256 sUsdsSold, uint24 susdsHohmPoolFee, uint24 ohmSusdsPoolFee) returns (tuple quoteData)
quoteRoute2
nonpayablefunction quoteRoute2(uint256 sUsdsSold, uint24 susdsHohmPoolFee, uint24 ohmSusdsPoolFee) returns (tuple quoteData)
revokeOwnership
nonpayablefunction revokeOwnership()
setExplicitAccess
nonpayablefunction setExplicitAccess(address allowedCaller, tuple[] access)
uniV3Quote
nonpayablefunction uniV3Quote(address tokenIn, uint256 amountIn, address tokenOut, uint24 fee) returns (uint256 amountOut)
events
ExplicitAccessSet
event ExplicitAccessSet(address indexed account, bytes4 indexed fnSelector, bool indexed value)
NewOwnerAccepted
event NewOwnerAccepted(address indexed oldOwner, address indexed newOwner)
NewOwnerProposed
event NewOwnerProposed(address indexed oldOwner, address indexed oldProposedOwner, address indexed newProposedOwner)
errors
InvalidAccess
error InvalidAccess()
InvalidAddress
error InvalidAddress(address addr)
MinProfitNotMet
error MinProfitNotMet(int256 minProfitExpected, int256 profit)
Overflow
error Overflow(uint256 amount)
creation bytecode
0x6101806040523480156200001257600080fd5b5060405162002f4838038062002f48833981016040819052620000359162000270565b856200004181620001d7565b506001600160a01b03841660e081905260408051630cd3058560e01b81529051630cd30585916004808201926020929091908290030181865afa1580156200008d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b39190620002f1565b6001600160a01b031660a0816001600160a01b03168152505060e0516001600160a01b031663a6c41fec6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200010d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001339190620002f1565b6001600160a01b0390811660c0528581166080528316610120819052604080516338d52e0f60e01b815290516338d52e0f916004808201926020929091908290030181865afa1580156200018b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b19190620002f1565b6001600160a01b0390811661010052918216610140521661016052506200031692505050565b6000546001600160a01b0316156200020257604051633006171960e21b815260040160405180910390fd5b6001600160a01b0381166200023157604051634726455360e11b81526000600482015260240160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b80516001600160a01b03811681146200026b57600080fd5b919050565b60008060008060008060c087890312156200028a57600080fd5b620002958762000253565b9550620002a56020880162000253565b9450620002b56040880162000253565b9350620002c56060880162000253565b9250620002d56080880162000253565b9150620002e560a0880162000253565b90509295509295509295565b6000602082840312156200030457600080fd5b6200030f8262000253565b9392505050565b60805160a05160c05160e05161010051610120516101405161016051612aec6200045c600039600081816103490152611a650152600081816102ae01526117bb015260008181610252015281816104e501528181610657015281816106ef0152818161090f01528181610a6c01528181610b1301528181610b9101528181610c2201528181610d8601528181610e4801528181610ef50152611065015260006103fd0152600081816102d50152818161058a0152610fcd015260008181610390015281816105070152818161093101528181610d6401526110430152600081816101810152818161098d01528181610cd4015281816118700152611b1f01526000818161030f015281816106cd01528181610aed01528181610bb301528181610e6a015281816118ad01528181611b5601528181611ba70152611d020152612aec6000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c8063741ca786116100d8578063b1f8100d1161008c578063da3e339711610066578063da3e33971461041f578063daeccc7914610432578063ebbc49651461047057600080fd5b8063b1f8100d146103d2578063bfccf0ec146103e5578063c8ef95ae146103f857600080fd5b80638da5cb5b116100bd5780638da5cb5b1461036b578063a6c41fec1461038b578063ac9650d8146103b257600080fd5b8063741ca78614610331578063795674ff1461034457600080fd5b8063500d2ff81161012f57806362508bb01161011457806362508bb0146102d057806366786e13146102f75780636a3202571461030a57600080fd5b8063500d2ff8146102745780635fafa589146102a957600080fd5b80632b968958116101605780632b968958146101ee5780633ed52ee8146101f85780634f5a19df1461024d57600080fd5b80630cd305851461017c5780630fbbc59d146101cd575b600080fd5b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101e06101db36600461230f565b610478565b6040519081526020016101c4565b6101f6610796565b005b61020b61020636600461235d565b6108d8565b6040516101c49190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b61028761028236600461235d565b610b66565b60408051825181526020808401519082015291810151908201526060016101c4565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6101e061030536600461230f565b610ddb565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6101e061033f3660046123be565b6110a3565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6000546101a39073ffffffffffffffffffffffffffffffffffffffff1681565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6103c56103c036600461240f565b6110bc565b6040516101c491906124f2565b6101f66103e0366004612574565b6111a7565b6101f66103f3366004612591565b611303565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6101f661042d366004612619565b611515565b61046061044036600461268a565b600160209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016101c4565b6101f661159f565b60006104a8336000357fffffffff000000000000000000000000000000000000000000000000000000001661166d565b6104de576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061052d7f0000000000000000000000000000000000000000000000000000000000000000887f000000000000000000000000000000000000000000000000000000000000000087876116f0565b6040517fd866c9d8000000000000000000000000000000000000000000000000000000008152306004820152602481018290526000604482018190526001606483015291925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063d866c9d8906084016020604051808303816000875af11580156105d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f791906126bf565b905060008061060583611833565b6040517f6e553f6500000000000000000000000000000000000000000000000000000000815260048101829052306024820152919350915060009073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690636e553f65906044016020604051808303816000875af11580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c491906126bf565b905060006107157f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000008d8c6116f0565b90506107208c611967565b61073261072d8385612707565b611967565b61073c919061271a565b96508a871215610787576040517fab502f1e000000000000000000000000000000000000000000000000000000008152600481018c9052602481018890526044015b60405180910390fd5b50505050505095945050505050565b6107c4336000357fffffffff000000000000000000000000000000000000000000000000000000001661166d565b6107fa576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025473ffffffffffffffffffffffffffffffffffffffff1661dead14610869576002546040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260240161077e565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f5cd6b24c0149d980c82592262b3a81294b39f8f6e3c004126aaf0828c787d554908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b61090a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6109567f0000000000000000000000000000000000000000000000000000000000000000857f0000000000000000000000000000000000000000000000000000000000000000856119ca565b602082018190526040517f66a5236c00000000000000000000000000000000000000000000000000000000815260048101919091527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906366a5236c90602401602060405180830381865afa1580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d91906126bf565b60408201819052610a1d90611ae2565b6080830181905260608301919091526040517fef8b30f700000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163ef8b30f791610aa39160040190815260200190565b602060405180830381865afa158015610ac0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae491906126bf565b90506000610b387f000000000000000000000000000000000000000000000000000000000000000084606001517f0000000000000000000000000000000000000000000000000000000000000000886119ca565b9050610b4386611967565b610b5061072d8385612707565b610b5a919061271a565b83525090949350505050565b610b8a60405180606001604052806000815260200160008152602001600081525090565b6000610bd87f0000000000000000000000000000000000000000000000000000000000000000867f0000000000000000000000000000000000000000000000000000000000000000876119ca565b90506000610be582611b9f565b602085018190526040517f0a28a47700000000000000000000000000000000000000000000000000000000815260048101919091529091506000907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690630a28a47790602401602060405180830381865afa158015610c7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca291906126bf565b6040517fa8248768000000000000000000000000000000000000000000000000000000008152600481018490529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff169063a824876890602401602060405180830381865afa158015610d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5491906126bf565b60408501819052600090610dab907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000896119ca565b9050610dba61072d8984612707565b610dc382611967565b610dcd919061271a565b855250929695505050505050565b6000610e0b336000357fffffffff000000000000000000000000000000000000000000000000000000001661166d565b610e41576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e907f0000000000000000000000000000000000000000000000000000000000000000887f000000000000000000000000000000000000000000000000000000000000000088876116f0565b90506000610e9d82611b9f565b6040517fb460af9400000000000000000000000000000000000000000000000000000000815260048101829052306024820181905260448201529092506000915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063b460af94906064016020604051808303816000875af1158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6291906126bf565b90506000610f6f84611ca8565b506040517f990966d5000000000000000000000000000000000000000000000000000000008152306004820152602481018290526000604482018190526064820181905291925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063990966d5906084016020604051808303816000875af1158015611016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103a91906126bf565b9050600061108b7f0000000000000000000000000000000000000000000000000000000000000000837f00000000000000000000000000000000000000000000000000000000000000008c8c6116f0565b905061109a61072d8d86612707565b61073282611967565b60006110b1858585856119ca565b90505b949350505050565b60608167ffffffffffffffff8111156110d7576110d761273a565b60405190808252806020026020018201604052801561110a57816020015b60608152602001906001900390816110f55790505b50905060005b8281101561119f5761117a3085858481811061112e5761112e612769565b90506020028101906111409190612798565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d4b92505050565b82828151811061118c5761118c612769565b6020908102919091010152600101611110565b505b92915050565b6111d5336000357fffffffff000000000000000000000000000000000000000000000000000000001661166d565b61120b576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611270576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260240161077e565b6002546000805460405173ffffffffffffffffffffffffffffffffffffffff808616948116939216917f64420d4a41c6ed4de2bccbf33192eea18e576c5b23c79c3a722d4e9534c2e8d891a4600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611331336000357fffffffff000000000000000000000000000000000000000000000000000000001661166d565b611367576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166113cc576040517f8e4c8aa600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161077e565b604080518082019091526000808252602082015260005b8281101561150e578383828181106113fd576113fd612769565b9050604002018036038101906114139190612812565b91508160200151151582600001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168673ffffffffffffffffffffffffffffffffffffffff167ff5736e75de2c751f775d4c5ed517289f77074f8c337f451ba4c0c3ed1dd7f9ad60405160405180910390a460208281015173ffffffffffffffffffffffffffffffffffffffff871660009081526001808452604080832087517fffffffff0000000000000000000000000000000000000000000000000000000016845290945292902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055016113e3565b5050505050565b611543336000357fffffffff000000000000000000000000000000000000000000000000000000001661166d565b611579576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61159a73ffffffffffffffffffffffffffffffffffffffff84168383611d70565b505050565b60025473ffffffffffffffffffffffffffffffffffffffff1633146115f0576040517fc0185c6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054604051339273ffffffffffffffffffffffffffffffffffffffff909216917f5cd6b24c0149d980c82592262b3a81294b39f8f6e3c004126aaf0828c787d55491a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081163317909155600280549091169055565b6000805473ffffffffffffffffffffffffffffffffffffffff848116911614806116e9575073ffffffffffffffffffffffffffffffffffffffff831660009081526001602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b9392505050565b604080516101008101825273ffffffffffffffffffffffffffffffffffffffff87811682528581166020830190815262ffffff80871684860190815230606086019081526080860188815260a087018c8152600060c0890181815260e08a018281529a517f414bf3890000000000000000000000000000000000000000000000000000000081529951891660048b01529651881660248a015293519094166044880152905185166064870152516084860152905160a4850152905160c48401529251811660e48301527f0000000000000000000000000000000000000000000000000000000000000000169063414bf38990610104016020604051808303816000875af1158015611805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182991906126bf565b9695505050505050565b6040517f2fa7f92400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905230604483015260009182916060917f000000000000000000000000000000000000000000000000000000000000000090911690632fa7f924906064016000604051808303816000875af11580156118f8573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261193e9190810190612920565b8051929550925082916000915061195757611957612769565b6020026020010151915050915091565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156119c6576040517fe0fb6a7c0000000000000000000000000000000000000000000000000000000081526004810183905260240161077e565b5090565b6040805160a08101825273ffffffffffffffffffffffffffffffffffffffff86811682528481166020830190815282840187815262ffffff8681166060860190815260006080870181815297517fc6a5026a00000000000000000000000000000000000000000000000000000000815287518716600482015294518616602486015292516044850152511660648301529351821660848201527f00000000000000000000000000000000000000000000000000000000000000009091169063c6a5026a9060a4016080604051808303816000875af1158015611ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad4919061298d565b509198975050505050505050565b6040517f907ad64a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820183905260009182916060917f00000000000000000000000000000000000000000000000000000000000000009091169063907ad64a90604401600060405180830381865afa1580156118f8573d6000803e3d6000fd5b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632ab41950866040518263ffffffff1660e01b8152600401611c0091815260200190565b600060405180830381865afa158015611c1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611c6391908101906129df565b9150915081600081518110611c7a57611c7a612769565b6020026020010151935080600081518110611c9757611c97612769565b602002602001015192505050915091565b6040517f98d7e295000000000000000000000000000000000000000000000000000000008152600481018290523060248201819052604482015260009081908190819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906398d7e295906064016000604051808303816000875af1158015611c1d573d6000803e3d6000fd5b60606116e98383604051806060016040528060278152602001612a9060279139611ea0565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052611dfc8482611f1b565b611e9a576040805173ffffffffffffffffffffffffffffffffffffffff8516602482015260006044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052611e90908590611fdc565b611e9a8482611fdc565b50505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611eca9190612a43565b600060405180830381855af49150503d8060008114611f05576040519150601f19603f3d011682016040523d82523d6000602084013e611f0a565b606091505b5091509150611829868383876120eb565b60008060008473ffffffffffffffffffffffffffffffffffffffff1684604051611f459190612a43565b6000604051808303816000865af19150503d8060008114611f82576040519150601f19603f3d011682016040523d82523d6000602084013e611f87565b606091505b5091509150818015611fb1575080511580611fb1575080806020019051810190611fb19190612a5f565b8015611fd3575073ffffffffffffffffffffffffffffffffffffffff85163b15155b95945050505050565b600061203e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661218b9092919063ffffffff16565b905080516000148061205f57508080602001905181019061205f9190612a5f565b61159a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161077e565b6060831561218157825160000361217a5773ffffffffffffffffffffffffffffffffffffffff85163b61217a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161077e565b50816110b4565b6110b4838361219a565b60606110b484846000856121de565b8151156121aa5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077e9190612a7c565b606082471015612270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161077e565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122999190612a43565b60006040518083038185875af1925050503d80600081146122d6576040519150601f19603f3d011682016040523d82523d6000602084013e6122db565b606091505b50915091506122ec878383876120eb565b979650505050505050565b803562ffffff8116811461230a57600080fd5b919050565b600080600080600060a0868803121561232757600080fd5b853594506020860135935061233e604087016122f7565b925061234c606087016122f7565b949793965091946080013592915050565b60008060006060848603121561237257600080fd5b83359250612382602085016122f7565b9150612390604085016122f7565b90509250925092565b73ffffffffffffffffffffffffffffffffffffffff811681146123bb57600080fd5b50565b600080600080608085870312156123d457600080fd5b84356123df81612399565b93506020850135925060408501356123f681612399565b9150612404606086016122f7565b905092959194509250565b6000806020838503121561242257600080fd5b823567ffffffffffffffff8082111561243a57600080fd5b818501915085601f83011261244e57600080fd5b81358181111561245d57600080fd5b8660208260051b850101111561247257600080fd5b60209290920196919550909350505050565b60005b8381101561249f578181015183820152602001612487565b50506000910152565b600081518084526124c0816020860160208601612484565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612567577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526125558583516124a8565b9450928501929085019060010161251b565b5092979650505050505050565b60006020828403121561258657600080fd5b81356116e981612399565b6000806000604084860312156125a657600080fd5b83356125b181612399565b9250602084013567ffffffffffffffff808211156125ce57600080fd5b818601915086601f8301126125e257600080fd5b8135818111156125f157600080fd5b8760208260061b850101111561260657600080fd5b6020830194508093505050509250925092565b60008060006060848603121561262e57600080fd5b833561263981612399565b9250602084013561264981612399565b929592945050506040919091013590565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461230a57600080fd5b6000806040838503121561269d57600080fd5b82356126a881612399565b91506126b66020840161265a565b90509250929050565b6000602082840312156126d157600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156111a1576111a16126d8565b818103600083128015838313168383128216171561119f5761119f6126d8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127cd57600080fd5b83018035915067ffffffffffffffff8211156127e857600080fd5b6020019150368190038213156127fd57600080fd5b9250929050565b80151581146123bb57600080fd5b60006040828403121561282457600080fd5b6040516040810181811067ffffffffffffffff821117156128475761284761273a565b6040526128538361265a565b8152602083013561286381612804565b60208201529392505050565b600082601f83011261288057600080fd5b8151602067ffffffffffffffff8083111561289d5761289d61273a565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156128e0576128e061273a565b604052938452602081870181019490810192508785111561290057600080fd5b6020870191505b848210156122ec57815183529183019190830190612907565b60008060006060848603121561293557600080fd5b83519250602084015167ffffffffffffffff8082111561295457600080fd5b6129608783880161286f565b9350604086015191508082111561297657600080fd5b506129838682870161286f565b9150509250925092565b600080600080608085870312156129a357600080fd5b8451935060208501516129b581612399565b604086015190935063ffffffff811681146129cf57600080fd5b6060959095015193969295505050565b600080604083850312156129f257600080fd5b825167ffffffffffffffff80821115612a0a57600080fd5b612a168683870161286f565b93506020850151915080821115612a2c57600080fd5b50612a398582860161286f565b9150509250929050565b60008251612a55818460208701612484565b9190910192915050565b600060208284031215612a7157600080fd5b81516116e981612804565b6020815260006116e960208301846124a856fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122022acfefbd2840799a6a515e8ab8728cd4f54c065b2a8175010598f43e79da39064736f6c63430008160033000000000000000000000000b20aae0fe007519b7ce6f090a2ab8353b3da5d800000000000000000000000001db1591540d7a6062be0837ca3c808add28844f6000000000000000000000000b63cac384247597756545b500253ff8e607a8020000000000000000000000000a3931d71877c0e7a3148cb7eb4463524fec27fbd000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000061ffe014ba17989e743c5f6cb21bf9697530b21e