0 txs
1.1k calls
constructor
constructor(address _protocolRewards, address _weth)
functions
contractVersion
purefunction contractVersion() pure returns (string)
creatorRewardRecipient
viewfunction creatorRewardRecipient() view returns (address)
erc20
viewfunction erc20() view returns (address)
hasEnoughObservationCardinality
viewfunction hasEnoughObservationCardinality() view returns (bool, uint256)
PERCENTAGE_BASIS
viewfunction PERCENTAGE_BASIS() view returns (uint256)
percentageToBuyBurn
viewfunction percentageToBuyBurn() view returns (uint256)
pool
viewfunction pool() view returns (address)
protocolRewards
viewfunction protocolRewards() view returns (address)
REQUIRED_OBSERVATION_CARDINALITY
viewfunction REQUIRED_OBSERVATION_CARDINALITY() view returns (uint16)
SLIPPAGE
viewfunction SLIPPAGE() view returns (uint256)
TIME_WEIGHTED_PRICE_PERIOD
viewfunction TIME_WEIGHTED_PRICE_PERIOD() view returns (uint32)
weth
viewfunction weth() view returns (address)
ensureObservationCardinality
nonpayablefunction ensureObservationCardinality()
initialize
nonpayablefunction initialize(address _creatorRewardRecipient, address _pool, uint256 _percentageToBuyBurn)
pull
nonpayablefunction pull()
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes)
events
BuyBurn
event BuyBurn(uint256 amountERc20Received, uint256 amountERc20Burned, uint256 amountEthSpent, uint256 amountEthToCreator, uint256 totalEthReceived, bytes buyFailureError, bytes burnFailureError)
Initialized
event Initialized(address creatorRewardRecipient, address erc20, address pool, uint256 percentageToBuyBurn)
Initialized
event Initialized(uint64 version)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
AmountOutLessThanMinimum
error AmountOutLessThanMinimum(uint256 amountOut, uint256 amountOutMinimum)
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotEnoughObservationCardinality
error NotEnoughObservationCardinality(uint256 requiredCardinality, uint256 currentCardinality)
NotInitializing
error NotInitializing()
OnlyPool
error OnlyPool()
OnlyProtocolRewardsOrWeth
error OnlyProtocolRewardsOrWeth()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60c03461015657601f612da638819003918201601f19168301916001600160401b0383118484101761015a57808492604094855283398101031261015657610052602061004b8361016e565b920161016e565b6001600160a01b039182166080521660a0525f516020612d865f395f51905f5254604081901c60ff16610147576002600160401b03196001600160401b038216016100f1575b604051612c03908161018382396080518181816106b2015281816107bd01528181610f1c015261161a015260a0518181816102d301528181610323015281816105e4015281816109e201528181610f5901526110150152f35b6001600160401b0319166001600160401b039081175f516020612d865f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f610098565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101565756fe6080806040526004361015610024575b50361561001a575f80fd5b610022610f05565b005b5f905f3560e01c90816316f0115b14610c9b575080631794bb3c1461081c5780631e8e1432146107e157806329df647914610773578063329eb8391461064357806336b4134a146106085780633fc8cef3146105995780636630d7ea1461055f578063785e9e861461050d578063a0a8e4601461048a578063a728505c1461044f578063e5ab334f14610414578063e5b64327146103cd578063ef4716471461037c578063fa461e331461021d5763fc10501f0361000f57346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d2578073ffffffffffffffffffffffffffffffffffffffff600254166040517f3850c7bd00000000000000000000000000000000000000000000000000000000815260e081600481855afa801561021257608061ffff91600a9386916101e3575b50015116106101755750f35b803b156101e0578180916024604051809481937f32148f67000000000000000000000000000000000000000000000000000000008352600a60048401525af180156101d5576101c15750f35b816101cb91610d2c565b6101d25780f35b80fd5b6040513d84823e3d90fd5b50fd5b610205915060e03d60e01161020b575b6101fd8183610d2c565b810190610dd7565b5f610169565b503d6101f3565b6040513d85823e3d90fd5b50346101d25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d25760243560043560443567ffffffffffffffff8111610378573660238201121561037857806004013567ffffffffffffffff811161037457369101602401116103705773ffffffffffffffffffffffffffffffffffffffff60025416330361034857828113156102fb576102f891503373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166123b2565b80f35b50818113610307575080f35b6102f8903373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166123b2565b6004837f4b602735000000000000000000000000000000000000000000000000000000008152fd5b8280fd5b8480fd5b8380fd5b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d25773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d2576040610406610e7a565b825191151582526020820152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d25760206040516127108152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d25760206040516102588152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d257506105096040516104cb604082610d2c565b600581527f302e302e320000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610ce9565b0390f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d2576020604051600a8152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d257602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101d25760206040516103e88152f35b503461076f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5c16175f5d73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b1561076f575f80916044604051809481937ff3fef3a30000000000000000000000000000000000000000000000000000000083523060048401528160248401525af1801561076457610751575b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815c16815d6102f847610fec565b61075d91505f90610d2c565b5f5f610721565b6040513d5f823e3d90fd5b5f80fd5b3461076f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461076f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f576020600354604051908152f35b3461076f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361076f5760243573ffffffffffffffffffffffffffffffffffffffff811680910361076f57604435907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549260ff8460401c16159367ffffffffffffffff811680159081610c93575b6001149081610c89575b159081610c80575b50610c58578460017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008316177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055610c03575b50807fffffffffffffffffffffffff00000000000000000000000000000000000000005f5416175f55817fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255826003556040517f0dfe1681000000000000000000000000000000000000000000000000000000008152602081600481865afa908115610764575f91610be4575b5073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8216145f14610ba45750604051927fd21220a7000000000000000000000000000000000000000000000000000000008452602084600481865afa9283156107645773ffffffffffffffffffffffffffffffffffffffff6080947f8f2f06eb3e4facd106f36fbb8af56e828e047dbc83e6c3bc1109902e61cc5b5e965f91610b75575b505b16807fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155604051938452602084015260408301526060820152a1610ae257005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b610b97915060203d602011610b9d575b610b8f8183610d2c565b810190610fc0565b88610a99565b503d610b85565b9260809273ffffffffffffffffffffffffffffffffffffffff7f8f2f06eb3e4facd106f36fbb8af56e828e047dbc83e6c3bc1109902e61cc5b5e95610a9b565b610bfd915060203d602011610b9d57610b8f8183610d2c565b856109ca565b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005584610936565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015866108e3565b303b1591506108db565b8691506108d1565b3461076f575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076f5760209073ffffffffffffffffffffffffffffffffffffffff600254168152f35b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610d6d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b519073ffffffffffffffffffffffffffffffffffffffff8216820361076f57565b519061ffff8216820361076f57565b5190811515820361076f57565b908160e091031261076f576040519060e0820182811067ffffffffffffffff821117610d6d57604052610e0981610d9a565b825260208101518060020b810361076f576020830152610e2b60408201610dbb565b6040830152610e3c60608201610dbb565b6060830152610e4d60808201610dbb565b608083015260a081015160ff8116810361076f5760a0830152610e729060c001610dca565b60c082015290565b600460e073ffffffffffffffffffffffffffffffffffffffff60025416604051928380927f3850c7bd0000000000000000000000000000000000000000000000000000000082525afa9081156107645761ffff916060915f91610ee6575b5001511690600a8210159190565b610eff915060e03d60e01161020b576101fd8183610d2c565b5f610ed8565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163314610fa95773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610f8157565b7fb1dffcc7000000000000000000000000000000000000000000000000000000005f5260045ffd5b60ff5f5c1615610fb557565b610fbe34610fec565b565b9081602091031261076f575173ffffffffffffffffffffffffffffffffffffffff8116810361076f5790565b5f90612710610ffd60035483612489565b0473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b1561076f576040517fd0e30db00000000000000000000000000000000000000000000000000000000081525f8160048186865af180156107645761239d575b5083906060611083610e7a565b901561236d575073ffffffffffffffffffffffffffffffffffffffff600254166fffffffffffffffffffffffffffffffff85166040516110c38482610d2c565b6002815260208101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085013683376102586110fe8261256a565b5289611109826125a4565b528960405180937f883bdbfd00000000000000000000000000000000000000000000000000000000825260248201936020600484015251809452604482019093835b81811061234b575050819293500381865afa908115611a715789908a92612222575b5061118461117a826125a4565b5160060b9161256a565b5160060b900390667fffffffffffff82137fffffffffffffffffffffffffffffffffffffffffffffffffff80000000000000831217611abb5773ffffffffffffffffffffffffffffffffffffffff6111e7816111df846125a4565b51169261256a565b511690039073ffffffffffffffffffffffffffffffffffffffff8211611abb5760060b90610258820560020b918a81129081612211575b506121c1575b60201b77ffffffffffffffffffffffffffffffffffffffff000000001615612194576040517f0dfe1681000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561210757869173ffffffffffffffffffffffffffffffffffffffff918c91612175575b501603612112576040517fd21220a7000000000000000000000000000000000000000000000000000000008152602081600481875afa908115612107578a916120e8575b50905b60020b898112156120e2576112f6816124c9565b905b620d89e88211612084578a90600183161561205b5770ffffffffffffffffffffffffffffffffff6ffffcb933bd6fad37aa2d162d1a5940015b16926002811661201a575b60048116611fd9575b60088116611f98575b60108116611f57575b60208116611f16575b60408116611ed5575b60808116611e94575b6101008116611e53575b6102008116611e12575b6104008116611dd1575b6108008116611d90575b6110008116611d4f575b6120008116611d0e575b6140008116611ccd575b6180008116611c8c575b620100008116611c4b575b620200008116611c0c575b620400008116611ba2575b6208000016611b4b575b13611af1575b63ffffffff8160201c9116155f14611ae85760ff8a5b168101809111611abb5773ffffffffffffffffffffffffffffffffffffffff9081166fffffffffffffffffffffffffffffffff8111611a8a578061144c91612489565b9116851015611a7c579061145f91612ab2565b905b6040517f0dfe1681000000000000000000000000000000000000000000000000000000008152602081600481855afa908115611a715773ffffffffffffffffffffffffffffffffffffffff80926040928c91611a52575b50168614928315611a335760c4898c6401000276a4935b855196879586947f128acb080000000000000000000000000000000000000000000000000000000086523060048701528a6024870152604486015216606484015260a060848401528160a48401525af191828a928b946119f4575b5061197657505050505061153c6124f5565b915b8251156117505750803b15610374578480916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528860048401525af1801561174557908591611730575b50509060206115ea7fc66f81fea2bc16396c6e018060629d6262e44c739d649d4e6cc1d1c6154fd01f93856040519488865288858701526040860152806060860152608085015260e060a085015260e0840190610ce9565b85838203918260c0860152520190a15b80611603575050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff835416813b15610378579060c4849260405194859384927ff7f8266f00000000000000000000000000000000000000000000000000000000845260048401527ffca54a4a00000000000000000000000000000000000000000000000000000000602484015260606044840152602960648401527f436f696e7461672073706c697420746f2063726561746f72207265776172642060848401527f726563697069656e74000000000000000000000000000000000000000000000060a48401525af180156101d55761171e575050565b611729828092610d2c565b6101d25750565b8161173a91610d2c565b61037857835f611592565b6040513d87823e3d90fd5b91929390508492606073ffffffffffffffffffffffffffffffffffffffff60015416803b1561197257878080926024604051809581937f42966c680000000000000000000000000000000000000000000000000000000083528b60048401525af1918261195d575b505061195357506117c76124f5565b9173ffffffffffffffffffffffffffffffffffffffff60015416611843888060405160208101907fa9059cbb00000000000000000000000000000000000000000000000000000000825261dead60248201528960448201526044815261182e606482610d2c565b519082865af161183c6124f5565b90836125b4565b805190811515918261192c575b505061190157505b8581038181116118d4576118cc927fc66f81fea2bc16396c6e018060629d6262e44c739d649d4e6cc1d1c6154fd01f96959492826118be93996040519889988952602089015260408801526060870152608086015260e060a086015260e0850190610ce9565b9083820360c0850152610ce9565b0390a16115fa565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b7f5274afe7000000000000000000000000000000000000000000000000000000008852600452602487fd5b819250906020918101031261194f5760206119479101610dca565b155f80611850565b8880fd5b9193508293611858565b8161196791610d2c565b61197257875f6117b8565b8780fd5b9091929395505f146119e5575061198c906124c9565b809161232881029080820461232814901517156118d4576127109004908181106119b757505061153e565b7f23fd80cf000000000000000000000000000000000000000000000000000000008852600452602452604486fd5b6119ef91506124c9565b61198c565b925092506040823d604011611a2b575b81611a1160409383610d2c565b81010312611a275760208251920151925f61152a565b8980fd5b3d9150611a04565b60c4898c73fffd8963efd1fc6a506488495d951d5263988d25936114cf565b611a6b915060203d602011610b9d57610b8f8183610d2c565b5f6114b8565b6040513d8b823e3d90fd5b611a8591612a10565b61145f565b80611a949161264d565b9116851015611aad5790611aa7916128fd565b90611461565b611ab691612788565b611aa7565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60ff6001611409565b8015611b1e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff046113f3565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526012600452fd5b916b048a170391f7dc42444e8fa280820292508115918304141715611b75578a9060801c916113ed565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b929091506d2216e584f5fa1ea926041bedfe988102908082046d2216e584f5fa1ea926041bedfe981490151715611bdf5760801c918b91906113e3565b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b929091506e5d6af8dedb81196699c329225ee6048102908082046e5d6af8dedb81196699c329225ee6041490151715611bdf57908b9160801c926113d8565b929091506f09aa508b5b7a84e1c677de54f3e99bc98102908082046f09aa508b5b7a84e1c677de54f3e99bc91490151715611bdf57908b9160801c926113cd565b929091506f31be135f97d08fd981231505542fcfa68102908082046f31be135f97d08fd981231505542fcfa61490151715611bdf57908b9160801c926113c2565b929091506f70d869a156d2a1b890bb3df62baf32f78102908082046f70d869a156d2a1b890bb3df62baf32f71490151715611bdf57908b9160801c926113b8565b929091506fa9f746462d870fdf8a65dc1f90e061e58102908082046fa9f746462d870fdf8a65dc1f90e061e51490151715611bdf57908b9160801c926113ae565b929091506fd097f3bdfd2022b8845ad8f792aa58258102908082046fd097f3bdfd2022b8845ad8f792aa58251490151715611bdf57908b9160801c926113a4565b929091506fe7159475a2c29b7443b29c7fa6e889d98102908082046fe7159475a2c29b7443b29c7fa6e889d91490151715611bdf57908b9160801c9261139a565b929091506ff3392b0822b70005940c7a398e4b70f38102908082046ff3392b0822b70005940c7a398e4b70f31490151715611bdf57908b9160801c92611390565b929091506ff987a7253ac413176f2b074cf7815e548102908082046ff987a7253ac413176f2b074cf7815e541490151715611bdf57908b9160801c92611386565b929091506ffcbe86c7900a88aedcffc83b479aa3a48102908082046ffcbe86c7900a88aedcffc83b479aa3a41490151715611bdf57908b9160801c9261137c565b929091506ffe5dee046a99a2a811c461f1969c30538102908082046ffe5dee046a99a2a811c461f1969c30531490151715611bdf57908b9160801c92611372565b929091506fff2ea16466c96a3843ec78b326b528618102908082046fff2ea16466c96a3843ec78b326b528611490151715611bdf57908b9160801c92611369565b929091506fff973b41fa98c081472e6896dfb254c08102908082046fff973b41fa98c081472e6896dfb254c01490151715611bdf57908b9160801c92611360565b929091506fffcb9843d60f6159c9db58835c9266448102908082046fffcb9843d60f6159c9db58835c9266441490151715611bdf57908b9160801c92611357565b929091506fffe5caca7e10e4e61c3624eaa0941cd08102908082046fffe5caca7e10e4e61c3624eaa0941cd01490151715611bdf57908b9160801c9261134e565b929091506ffff2e50f5f656932ef12357cf3c7fdcc8102908082046ffff2e50f5f656932ef12357cf3c7fdcc1490151715611bdf57908b9160801c92611345565b929091506ffff97272373d413259a46990580e213a8102908082046ffff97272373d413259a46990580e213a1490151715611bdf57908b9160801c9261133c565b70ffffffffffffffffffffffffffffffffff700100000000000000000000000000000000611331565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f54000000000000000000000000000000000000000000000000000000000000006044820152fd5b806112f8565b612101915060203d602011610b9d57610b8f8183610d2c565b5f6112df565b6040513d8c823e3d90fd5b6040517f0dfe1681000000000000000000000000000000000000000000000000000000008152602081600481875afa908115612107578a91612156575b50906112e2565b61216f915060203d602011610b9d57610b8f8183610d2c565b5f61214f565b61218e915060203d602011610b9d57610b8f8183610d2c565b5f61129b565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526012600452fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008114611abb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190611224565b61025891500760060b15155f61121e565b9150503d808a833e6122348183610d2c565b810190604081830312611a2757805167ffffffffffffffff81116123215781019082601f8301121561232157815161226b81612552565b926122796040519485610d2c565b81845260208085019260051b8201019085821161234757602001915b8183106123295750505060208101519067ffffffffffffffff821161232557019180601f840112156123215782516122cc81612552565b936122da6040519586610d2c565b81855260208086019260051b82010192831161231d57602001905b828210612305575050505f61116d565b6020809161231284610d9a565b8152019101906122f5565b8c80fd5b8a80fd5b8b80fd5b82518060060b810361234357815260209283019201612295565b8e80fd5b8d80fd5b855163ffffffff1683526020958601958f95508794509092019160010161114b565b7f5adc8d63000000000000000000000000000000000000000000000000000000008752600a600452602452604486fd5b6123aa9194505f90610d2c565b5f925f611076565b5f6124259273ffffffffffffffffffffffffffffffffffffffff8293604051968260208901947fa9059cbb000000000000000000000000000000000000000000000000000000008652166024890152604488015260448752612415606488610d2c565b1694519082865af161183c6124f5565b8051908115159182612466575b505061243b5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b819250906020918101031261076f5760206124819101610dca565b155f80612432565b8181029291811591840414171561249c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f8000000000000000000000000000000000000000000000000000000000000000811461249c575f0390565b3d1561254d573d9067ffffffffffffffff8211610d6d5760405191612542601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200184610d2c565b82523d5f602084013e565b606090565b67ffffffffffffffff8111610d6d5760051b60200190565b8051156125775760200190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051600110156125775760400190565b906125f157508051156125c957805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580612644575b612602575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b156125fa565b5f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff818309908083029283808410930392808403931461277d5782680100000000000000001115610374578491680100000000000000009109936127505750780100000000000000000000000000000000000000000000000090828411900381810291818304149015171561249c576126e8600180612489565b806002036002811161249c576126fd91612489565b806002036002811161249c5761271291612489565b806002036002811161249c5761272791612489565b9283600203936002851161249c5761274d9461274291612489565b920360401c17612489565b90565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b505050905060401c90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8170010000000000000000000000000000000009918160801b918280851094039380850394146128f0578382111561076f5781907001000000000000000000000000000000000981196001810180911161249c5761281a90831680930494600184805f030401908584119003612489565b920304178160030260038104830361249c576002186128398184612489565b6002036002811161249c5761284d91612489565b6128578184612489565b6002036002811161249c5761286b91612489565b6128758184612489565b6002036002811161249c5761288991612489565b6128938184612489565b6002036002811161249c576128a791612489565b6128b18184612489565b600203906002821161249c576128d1916128ca91612489565b8093612489565b600203916002831161249c5761274d926128ea91612489565b90612489565b508092501561076f570490565b5f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183099080830292838084109303928084039314612a0557827001000000000000000000000000000000001115610374578491700100000000000000000000000000000000910993612750575070010000000000000000000000000000000090828411900381810291818304149015171561249c576129a0600180612489565b806002036002811161249c576129b591612489565b806002036002811161249c576129ca91612489565b806002036002811161249c576129df91612489565b9283600203936002851161249c5761274d946129fa91612489565b920360801c17612489565b505050905060801c90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81780100000000000000000000000000000000000000000000000009918160c01b918280851094039380850394146128f0578382111561076f57819078010000000000000000000000000000000000000000000000000981196001810180911161249c5761281a90831680930494600184805f030401908584119003612489565b5f917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8183099080830292838084109303928084039314612bc2578278010000000000000000000000000000000000000000000000001115610374578491780100000000000000000000000000000000000000000000000091099361275057506801000000000000000090828411900381810291818304149015171561249c57612b5d600180612489565b806002036002811161249c57612b7291612489565b806002036002811161249c57612b8791612489565b806002036002811161249c57612b9c91612489565b9283600203936002851161249c5761274d94612bb791612489565b920360c01c17612489565b505050905060c01c9056fea264697066735822122043f1790512ee85e6b365e024927c89d988c79f2696f7461bac9e8495ab6fa7a764736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a000000000000000000000000007777777f279eba3d3ad8f4e708545291a6fdba8b0000000000000000000000004200000000000000000000000000000000000006