0 txs
6 calls
constructor
constructor(address _burner)
functions
burner
viewfunction burner() view returns (address)
implementation
viewfunction implementation() view returns (address)
nonfungiblePositionManager
viewfunction nonfungiblePositionManager() view returns (address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
uniswapV3Factory
viewfunction uniswapV3Factory() view returns (address)
uniswapV3Router
viewfunction uniswapV3Router() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
addLiquidityFullRange
payablefunction addLiquidityFullRange(address _tokenAddress, address _creatorAddress, uint256 _amount, uint256 creatorFeeBps) payable returns (uint256 memeTokenId, uint256 wethTokenId)
addLiquidityOneSided
nonpayablefunction addLiquidityOneSided(address _tokenAddress, address _creatorAddress, uint256 creatorFeeBps) returns (uint256 memeTokenId, uint256 wethTokenId)
initialize
nonpayablefunction initialize(address _owner)
initializeFullRangeLP
nonpayablefunction initializeFullRangeLP(address _tokenAddress, uint256 tokenAmount, uint256 ethAmount) returns (address memePoolAddress, address wethPoolAddress)
initializeOneSidedLP
nonpayablefunction initializeOneSidedLP(address _tokenAddress) returns (address memePoolAddress, address wethPoolAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x6101203461012c57601f61342138819003918201601f19168301916001600160401b038311848410176101315780849260209460405283398101031261012c57516001600160a01b0381169081900361012c57306080527303a520b32c04bf3beef7beb72e919cf822ed34f160c052732626664c2603336e57b271c5c0b26f421741e48160e0527333128a8fc17869897dce68ed026d694621f6fdfd6101005260a0526040516132d990816101488239608051818181610bc60152610c96015260a0518181816110fa015281816127ab0152612df6015260c0518181816104bc015281816109db01528181610f7b015281816128cd01528181612b530152612c0a015260e051816110b7015261010051818181610b840152818161163301528181611af101526126bf0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b600090813560e01c90816327810b6e146110e6575080632c76d7a6146110a15780634040371514610e6b5780634f1ef28614610c1b57806352d1902d14610bb35780635b54918214610b6e5780635c60da1b14610b3857806370ac90d814610993578063715018a61461092957806373f56d711461059b5780638da5cb5b14610565578063ad3cb1cc146104eb578063b44a2722146104a6578063c4d66de81461032b578063ca722b7c14610162578063f2fde38b146101355763fa461e33146100dc57600080fd5b3461012a57606036600319011261012a576044356001600160401b03811161013157366023820112156101315780600401356001600160401b03811161012d573691016024011161012a5780f35b80fd5b8280fd5b5080fd5b503461012a57602036600319011261012a5761015f610152611129565b61015a612529565b611266565b80f35b503461012a57606036600319011261012a5761017c611129565b610184611144565b90604435916101916112dc565b61019a82611326565b6001600160a01b031680156102d0576102aa6102b29161023b6040966101be6116d6565b9093918a51916101cd8361115a565b868352602083018b90526001600160a01b038a81168d85018190526b019d971e4fe8401e74000000606086015273b928e5905872bda993a4ac054e1d129e658fadbd608086015260a08501879052600297880b60c08601529190960b60e0840152941661010082015261266f565b97905061024661243d565b93919490928b51966102578861115a565b875260208701528a8601526b019d971e4fe8401e7400000060608601526006602160991b01608086015260a0850152600290810b60c08501520b60e08301526001600160a01b031661010082015261266f565b929050612d3c565b60016000805160206132648339815191525582519182526020820152f35b60405162461bcd60e51b815260206004820152602d60248201527f4c6971756964697479466163746f72793a2063726561746f722061646472657360448201526c1cc81b5d5cdd081899481cd95d609a1b6064820152608490fd5b503461012a57602036600319011261012a57610345611129565b600080516020613284833981519152549060ff8260401c1615916001600160401b0381168015908161049e575b6001149081610494575b15908161048b575b5061047c5767ffffffffffffffff198116600117600080516020613284833981519152556103c491908361044f575b506103bc613139565b61015a613139565b6103cc613139565b6103d4613139565b6001600080516020613264833981519152556103ee613139565b6103f55780f35b68ff0000000000000000196000805160206132848339815191525416600080516020613284833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b68ffffffffffffffffff1916680100000000000000011760008051602061328483398151915255386103b3565b63f92ee8a960e01b8452600484fd5b90501538610384565b303b15915061037c565b849150610372565b503461012a578060031936011261012a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461012a578060031936011261012a57604080519161050b828461118c565b60058352640352e302e360dc1b6020840152815192839160208352815191826020850152815b83811061054e575050828201840152601f01601f19168101030190f35b602082820181015188830188015287955001610531565b503461012a578060031936011261012a57600080516020613224833981519152546040516001600160a01b039091168152602090f35b50608036600319011261012a576105b0611129565b6105b8611144565b9060443591606435906105c96112dc565b6105d283611326565b34156108d2576001600160a01b031690811561088157831561082d573460011c9360011c61066d8660405161060860608261118c565b6002815260403660208301376006602160991b016106258261255f565b5273b928e5905872bda993a4ac054e1d129e658fadbd61064482612582565b5260405180938192637ff36ab560e01b8352846004840152608060248401526084830190612616565b306044830152426064830152038189734752ba5dbc23f44d87826276bf6fd6b1c372ad245af18015610822576106aa918891610800575b50612582565b51906107286106b983836115cc565b60405192916106c78461115a565b88845287602085015260018060a01b038a169687604086015286606086015273b928e5905872bda993a4ac054e1d129e658fadbd608086015260a085015260020b60c084015260020b60e083015260018060a01b031661010082015261266f565b9690506107358134611243565b9161074083826115cc565b95919690948b6006602160991b013b1561012a57604051630d0e30db60e41b815291829060049082906006602160991b015af180156107f5579160409c6102b29a989694926102aa9a9896946107e5575b50508c519761079f8961115a565b885260208801528b87015260608601526006602160991b01608086015260a0850152600290810b60c08501520b60e08301526001600160a01b031661010082015261266f565b816107ef9161118c565b38610791565b6040513d8e823e3d90fd5b61081c91503d808a833e610814818361118c565b810190612592565b386106a4565b6040513d89823e3d90fd5b60405162461bcd60e51b815260206004820152602660248201527f4c502066756c6c3a20616d6f756e74206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f4c502066756c6c3a2063726561746f722061646472657373206d757374206265604482015263081cd95d60e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602960248201527f4c502066756c6c3a206d73672e76616c7565206d75737420626520677265617460448201526806572207468616e20360bc1b6064820152608490fd5b503461012a578060031936011261012a57610942612529565b60008051602061322483398151915280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461012a57602036600319011261012a57610a166109b0611129565b6109b86112dc565b6109c181611326565b6109c96116d6565b50506040516309f56ab160e11b8152927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169160209185918291908660048401611207565b038187855af1928315610b2d578493610b05575b50610a8791602091610a3a61243d565b50506040516309f56ab160e11b81526001600160a01b0393841660048201526006602160991b01602482015261271060448201529216606483015290928391908290879082906084820190565b03925af1928315610af95792610ac8575b50600160008051602061326483398151915255604080516001600160a01b03928316815292909116602083015290f35b610aeb91925060203d602011610af2575b610ae3818361118c565b8101906111e8565b9038610a98565b503d610ad9565b604051903d90823e3d90fd5b602091935091610b24610a8793833d8511610af257610ae3818361118c565b93915091610a2a565b6040513d86823e3d90fd5b503461012a578060031936011261012a57600080516020613244833981519152546040516001600160a01b039091168152602090f35b503461012a578060031936011261012a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b503461012a578060031936011261012a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610c0c5760206040516000805160206132448339815191528152f35b63703e46dd60e11b8152600490fd5b50604036600319011261012a57610c30611129565b602435906001600160401b03821161012d573660238301121561012d5781600401359083610c5d836111ad565b93610c6b604051958661118c565b8385526020850193366024828401011161012d57806024602093018637850101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610e48575b50610e3957610cce612529565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa869181610e01575b50610d1157634c9c8ce360e01b86526004859052602486fd5b9384600080516020613244833981519152879603610def5750823b15610ddd5760008051602061324483398151915280546001600160a01b031916821790558491907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8380a2805115610dc257610db69382915190845af43d15610dba573d91610d9a836111ad565b92610da8604051948561118c565b83523d85602085013e613167565b5080f35b606091613167565b5050505034610dce5780f35b63b398979f60e01b8152600490fd5b634c9c8ce360e01b8552600452602484fd5b632a87526960e21b8652600452602485fd5b9091506020813d602011610e31575b81610e1d6020938361118c565b81010312610e2d57519038610cf8565b8680fd5b3d9150610e10565b63703e46dd60e11b8452600484fd5b600080516020613244833981519152546001600160a01b03161415905038610cc1565b503461012a57606036600319011261012a57610e85611129565b60243590604435610e946112dc565b610e9d82611326565b82151580611098575b1561103c57610f27928160011c85604051610ec260608261118c565b6002815260403660208301376006602160991b01610edf8261255f565b5273b928e5905872bda993a4ac054e1d129e658fadbd610efe82612582565b526040518097819263d06ca61f60e01b8352856004840152604060248401526044830190612616565b0381734752ba5dbc23f44d87826276bf6fd6b1c372ad245afa801561103157610f5d610f6991610fb797899161101d5750612582565b519260011c92836115cc565b50506040516309f56ab160e11b8152957f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316949160209188918291908960048401611207565b03818a885af1958615610822578796610fe7575b50610a879492610fe160209593610a3a93611243565b906115cc565b610a3a91965092610fe16020959361100f610a879896883d8a11610af257610ae3818361118c565b989350939550509294610fcb565b61081c91503d808b833e610814818361118c565b6040513d88823e3d90fd5b60405162461bcd60e51b815260206004820152602e60248201527f696e69742066756c6c2072616e67653a20616d6f756e74206d7573742062652060448201526d067726561746572207468616e20360941b6064820152608490fd5b50801515610ea6565b503461012a578060031936011261012a576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9050346101315781600319360112610131577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160a01b038216820361113f57565b600080fd5b602435906001600160a01b038216820361113f57565b61012081019081106001600160401b0382111761117657604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761117657604052565b6001600160401b03811161117657601f01601f191660200190565b81156111d2570490565b634e487b7160e01b600052601260045260246000fd5b9081602091031261113f57516001600160a01b038116810361113f5790565b6001600160a01b03918216815273b928e5905872bda993a4ac054e1d129e658fadbd602082015261271060408201529116606082015260800190565b9190820391821161125057565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b031680156112c65760008051602061322483398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b6002600080516020613264833981519152541461130757600260008051602061326483398151915255565b633ee5aeb560e01b60005260046000fd5b519060ff8216820361113f57565b6001600160a01b03168015611561576006602160991b018110156114f65760405163313ce56760e01b815290602082600481845afa9182156114ab576000926114b7575b50906020600492604051938480926318160ddd60e01b82525afa9182156114ab57600092611476575b5060ff601291160361141d576b033b2e3c9fd0803ce8000000036113b357565b608460405162461bcd60e51b815260206004820152604060248201527f4c6971756964697479466163746f72793a20746f6b656e20737570706c79206d60448201527f75737420626520657175616c20746f20436f6e7374616e74732e535550504c596064820152fd5b60405162461bcd60e51b815260206004820152602b60248201527f4c6971756964697479466163746f72793a20746f6b656e20646563696d616c7360448201526a040daeae6e840c4ca4062760ab1b6064820152608490fd5b9091506020813d6020116114a3575b816114926020938361118c565b8101031261113f57519060ff611393565b3d9150611485565b6040513d6000823e3d90fd5b91506020823d6020116114ee575b816114d26020938361118c565b8101031261113f5760206114e7600493611318565b925061136a565b3d91506114c5565b60405162461bcd60e51b815260206004820152603760248201527f4c6971756964697479466163746f72793a20746f6b656e206d7573742062652060448201527f67726561746572207468616e204d454d455f544f4b454e0000000000000000006064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f4c6971756964697479466163746f72793a207a65726f206164647265737300006044820152606490fd5b906126ac8202918083046126ac149015171561125057565b51908160020b820361113f57565b8160601b91808304600160601b1490151715611250576115eb916111c8565b8060601b90808204600160601b1490151715611250576001600160a01b039061161390613099565b6040516322afcccb60e01b815261271060048201529116916020826024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9182156114ab5760009261169a575b508160020b9182156111d2578083620d89e719050260020b92620d89e881156111d25760020b050260020b90565b90916020823d6020116116ce575b816116b56020938361118c565b8101031261012a57506116c7906115be565b903861166c565b3d91506116a8565b604051630240bc6b60e21b815260608160048173345ab7146dd6b4ed615720a1565da06a05fa8f655afa9081156114ab5760009081926123e4575b50604051630dfe168160e01b815260208160048173345ab7146dd6b4ed615720a1565da06a05fa8f655afa9081156114ab576000916123c5575b5060405163d21220a760e01b815260208160048173345ab7146dd6b4ed615720a1565da06a05fa8f655afa9081156114ab576000916123a6575b506000916001600160a01b03166006602160991b010361230a5750506001600160701b0316670de0b6b3a7640000810290808204670de0b6b3a76400001490151715611250576001600160701b036117de9216906111c8565b600081156122f657506b033b2e3c9fd0803ce80000000480156122b15761180490613099565b8060601b90808204600160601b149015171561125057633b9aca009004906001600160a01b03821161227a576001600160a01b038216916401000276a38310158061225d575b1561223457640100000000600160c01b039060201b16806001600160801b03811160071b90811c6001600160401b03811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c9060ff821160031b91821c92600f841160021b93841c94600160038711811b96871c11961717171717171790608082101560001461221c57607e19820190828211611250576118e9911c916130f4565b60401b90800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c800260cd1c6604000000000000169d60cc1c6608000000000000169c60cb1c6610000000000000169b60ca1c6620000000000000169a60c91c6640000000000000169960c81c6680000000000000169860c71c670100000000000000169760c61c670200000000000000169660c51c670400000000000000169560c41c670800000000000000169460c31c671000000000000000169360c21c672000000000000000169260c11c674000000000000000169160c01c678000000000000000161717171717171717171717171717693627a301d71055774c85810290808205693627a301d71055774c85149015171561125057611a7f81613106565b60801d60020b906fdb2df09e81959a81455e260799a0632f81019060006fdb2df09e81959a81455e260799a0632f831291129080158216911516176112505760801d60020b906000818303611b9457509050905b6040516322afcccb60e01b81526127106004820152916020836024817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156114ab57600093611b55575b50611b36838092613127565b0260020b91620d89e88160020b9081156111d25760020b050260020b90565b93926020853d602011611b8c575b81611b706020938361118c565b8101031261012a5750611b86611b3693946115be565b92611b2a565b3d9150611b63565b8083121561221657600160ff1b8314612202578281035b620d89e881116121d957859060018116156121c7576001600160881b036ffffcb933bd6fad37aa2d162d1a5940015b169060028116612188575b60048116612149575b6008811661210a575b601081166120cb575b6020811661208c575b6040811661204d575b6080811661200e575b6101008116611fcf575b6102008116611f90575b6104008116611f51575b6108008116611f12575b6110008116611ed3575b6120008116611e94575b6140008116611e55575b6180008116611e16575b620100008116611dd7575b620200008116611d9a575b620400008116611d49575b6208000016611d0d575b828513611ce6575b63ffffffff8116611cdb57611cc483915b6001600160a01b039260ff169060201c61308c565b16119050611cd457505b90611ad3565b9050611cce565b611cc4600191611caf565b80915015611cf957859060001904611c9e565b634e487b7160e01b82526012600452602482fd5b6b048a170391f7dc42444e8fa280820292508115918304141715611d3557859060801c611c96565b634e487b7160e01b82526011600452602482fd5b91506d2216e584f5fa1ea926041bedfe988102908082046d2216e584f5fa1ea926041bedfe981490151715611d8657869160809190911c90611c8c565b634e487b7160e01b83526011600452602483fd5b91506e5d6af8dedb81196699c329225ee6048102908082046e5d6af8dedb81196699c329225ee6041490151715611d865790869160801c90611c81565b91506f09aa508b5b7a84e1c677de54f3e99bc98102908082046f09aa508b5b7a84e1c677de54f3e99bc91490151715611d865790869160801c90611c76565b91506f31be135f97d08fd981231505542fcfa68102908082046f31be135f97d08fd981231505542fcfa61490151715611d865790869160801c90611c6b565b91506f70d869a156d2a1b890bb3df62baf32f78102908082046f70d869a156d2a1b890bb3df62baf32f71490151715611d865790869160801c90611c61565b91506fa9f746462d870fdf8a65dc1f90e061e58102908082046fa9f746462d870fdf8a65dc1f90e061e51490151715611d865790869160801c90611c57565b91506fd097f3bdfd2022b8845ad8f792aa58258102908082046fd097f3bdfd2022b8845ad8f792aa58251490151715611d865790869160801c90611c4d565b91506fe7159475a2c29b7443b29c7fa6e889d98102908082046fe7159475a2c29b7443b29c7fa6e889d91490151715611d865790869160801c90611c43565b91506ff3392b0822b70005940c7a398e4b70f38102908082046ff3392b0822b70005940c7a398e4b70f31490151715611d865790869160801c90611c39565b91506ff987a7253ac413176f2b074cf7815e548102908082046ff987a7253ac413176f2b074cf7815e541490151715611d865790869160801c90611c2f565b91506ffcbe86c7900a88aedcffc83b479aa3a48102908082046ffcbe86c7900a88aedcffc83b479aa3a41490151715611d865790869160801c90611c25565b91506ffe5dee046a99a2a811c461f1969c30538102908082046ffe5dee046a99a2a811c461f1969c30531490151715611d865790869160801c90611c1b565b91506fff2ea16466c96a3843ec78b326b528618102908082046fff2ea16466c96a3843ec78b326b528611490151715611d865790869160801c90611c12565b91506fff973b41fa98c081472e6896dfb254c08102908082046fff973b41fa98c081472e6896dfb254c01490151715611d865790869160801c90611c09565b91506fffcb9843d60f6159c9db58835c9266448102908082046fffcb9843d60f6159c9db58835c9266441490151715611d865790869160801c90611c00565b91506fffe5caca7e10e4e61c3624eaa0941cd08102908082046fffe5caca7e10e4e61c3624eaa0941cd01490151715611d865790869160801c90611bf7565b91506ffff2e50f5f656932ef12357cf3c7fdcc8102908082046ffff2e50f5f656932ef12357cf3c7fdcc1490151715611d865790869160801c90611bee565b91506ffff97272373d413259a46990580e213a8102908082046ffff97272373d413259a46990580e213a1490151715611d865790869160801c90611be5565b6001600160881b03600160801b611bda565b60405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606490fd5b634e487b7160e01b81526011600452602490fd5b82611bab565b81607f0390607f8211611250576118e9911b916130f4565b60405162461bcd60e51b81526020600482015260016024820152602960f91b6044820152606490fd5b5073fffd8963efd1fc6a506488495d951d5263988d26831061184a565b60405162461bcd60e51b815260206004820152600f60248201526e507269636520746f6f206c6172676560881b6044820152606490fd5b60405162461bcd60e51b815260206004820152601f60248201527f5072696365206d7573742062652067726561746572207468616e207a65726f006044820152606490fd5b634e487b7160e01b81526012600452602490fd5b9092906001600160a01b03166006602160991b0103612368576001600160701b031691670de0b6b3a7640000830292808404670de0b6b3a764000014901517156122025750906001600160701b036123639216906111c8565b6117de565b60405162461bcd60e51b81526020600482015260166024820152750a0deded840daeae6e840c6dedce8c2d2dc40ae8aa8960531b6044820152606490fd5b6123bf915060203d602011610af257610ae3818361118c565b38611785565b6123de915060203d602011610af257610ae3818361118c565b3861174b565b91506060823d606011612435575b816123ff6060938361118c565b8101031261012a57612410826130e0565b90604061241f602085016130e0565b93015163ffffffff81160361012a575038611711565b3d91506123f2565b633b9aca0061244b81613099565b8060601b90808204600160601b14901517156112505704906001600160a01b03821161227a576001600160a01b038216916401000276a38310158061225d571561223457640100000000600160c01b039060201b16806001600160801b03811160071b90811c6001600160401b03811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c9060ff821160031b91821c92600f841160021b93841c94600160038711811b96871c11961717171717171790608082101560001461221c57607e19820190828211611250576118e9911c916130f4565b600080516020613224833981519152546001600160a01b0316330361254a57565b63118cdaa760e01b6000523360045260246000fd5b80511561256c5760200190565b634e487b7160e01b600052603260045260246000fd5b80516001101561256c5760400190565b60208183031261113f578051906001600160401b03821161113f57019080601f8301121561113f578151916001600160401b038311611176578260051b9060208201936125e2604051958661118c565b845260208085019282010192831161113f57602001905b8282106126065750505090565b81518152602091820191016125f9565b906020808351928381520192019060005b8181106126345750505090565b82516001600160a01b0316845260209384019390920191600101612627565b5190811515820361113f57565b519061ffff8216820361113f57565b604080820180516080840180519351630b4c774160e11b81526001600160a01b039283166004820152938216602485015261271060448501529294919391926000929091602090879060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa9586156129bc578396612d1b575b506001600160a01b0386168015612cd757606082019283518015159081612bdc575b505060a083019185835180612b3a575b5050604051633850c7bd60e01b815260e081600481855afa908115610822578791612a59575b50516101008501516001600160a01b039081169291169087908383036129db575b5050505061271061277985516115a6565b049661271061278884516115a6565b9151925160c086015160e0870151975195516040516001600160a01b039384169c7f000000000000000000000000000000000000000000000000000000000000000085169a600294850b99929896909704969095929491930b911661016087016001600160401b038111888210176129c7576040908152908752602087019c8d52612710878201908152606088019889526080880192835260a0880193845260c0880194855260e08801958652610100880196875261012088018b8152426101408a019081529251634418b22b60e11b815298516001600160a01b0390811660048b01529e518f1660248a0152905162ffffff1660448901529751600290810b6064890152915190910b6084870152905160a4860152905160c4850152905160e4840152905161010483015291518716610124820152905161014482015294839086907f000000000000000000000000000000000000000000000000000000000000000016815a9361016492608095f19485156129bc578395612973575b5084602060018060a01b0383511692015192803b1561296f5784929183606492604051968795869463b9955e3960e01b86526004860152602485015260448401525af1801561296457612957575050565b816129619161118c565b50565b6040513d84823e3d90fd5b8480fd5b9094506080813d6080116129b4575b8161298f6080938361118c565b8101031261012d57602081519101516001600160801b0381160361012d579338612906565b3d9150612982565b6040513d85823e3d90fd5b634e487b7160e01b8c52604160045260248cfd5b604092849260c49285519687958694630251596160e31b865230600487015211602485015260646044850152606484015260a060848401528160a48401525af1801561103157612a2e575b808681612768565b604090813d8311612a52575b612a44818361118c565b8101031261296f5738612a26565b503d612a3a565b905060e0813d60e011612b32575b81612a7460e0938361118c565b81010312610e2d576040519060e082018281106001600160401b03821117612b1e5760405280516001600160a01b0381168103612b1a57612b0f9160c0918452612ac0602082016115be565b6020850152612ad160408201612660565b6040850152612ae260608201612660565b6060850152612af360808201612660565b6080850152612b0460a08201611318565b60a085015201612653565b60c082015238612747565b8880fd5b634e487b7160e01b89526041600452602489fd5b3d9150612a67565b835160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482019390935292602092849260449284929091165af1801561082257612ba3575b8690612721565b6020813d602011612bd4575b81612bbc6020938361118c565b81010312610e2d57612bcd90612653565b5038612b9c565b3d9150612baf565b88516001600160a01b031691612c96575b50508651845160405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482019290925291602091839160449183918b91165af1801561103157612c59575b80612711565b6020813d602011612c8e575b81612c726020938361118c565b81010312612c8a57612c8390612653565b5038612c53565b8580fd5b3d9150612c65565b612cd091604051916323b872dd60e01b6020840152336024840152306044840152606483015260648252612ccb60848361118c565b6131c8565b3880612bed565b606460405162461bcd60e51b815260206004820152602060248201527f4c6971756964697479466163746f72793a20706f6f6c206e6f7420666f756e646044820152fd5b612d3591965060203d602011610af257610ae3818361118c565b94386126ef565b6040516370a0823160e01b8152306004820152906001600160a01b0316602082602481845afa9182156114ab57600092613058575b506040516370a0823160e01b8152306004820152916020836024816006602160991b015afa9283156114ab57600093613024575b506040516370a0823160e01b81523060048201529160208360248173b928e5905872bda993a4ac054e1d129e658fadbd5afa9283156114ab57600093612ff0575b506040516331056e5760e21b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316929091602083600481875afa9283156114ab57600093612fcf575b5081612f8a575b50506040516331056e5760e21b8152919050602082600481845afa80156114ab57600494602093600092612f6b575b5080612f22575b50506040516331056e5760e21b815293849182905afa9182156114ab57600092612f01575b5080612ea5575050565b60405163a9059cbb60e01b60208201526001600160a01b0390921660248301526044820152612eff90612ee581606481015b03601f19810183528261118c565b73b928e5905872bda993a4ac054e1d129e658fadbd6131c8565b565b612f1b91925060203d602011610af257610ae3818361118c565b9038612e9b565b60405163a9059cbb60e01b858201526001600160a01b0390921660248301526044820152612f6490612f578160648101612ed7565b6006602160991b016131c8565b3880612e76565b612f83919250843d8611610af257610ae3818361118c565b9038612e6f565b60405163a9059cbb60e01b60208201526001600160a01b03939093166024840152604480840192909252908252612fc79190612ccb60648361118c565b388080612e40565b612fe991935060203d602011610af257610ae3818361118c565b9138612e39565b90926020823d60201161301c575b8161300b6020938361118c565b8101031261012a5750519138612de6565b3d9150612ffe565b90926020823d602011613050575b8161303f6020938361118c565b8101031261012a5750519138612da5565b3d9150613032565b90916020823d602011613084575b816130736020938361118c565b8101031261012a5750519038612d71565b3d9150613066565b9190820180921161125057565b80156130da57600181018082116112505760011c815b8282106130bb57505090565b9091506130d1826130cc81846111c8565b61308c565b60011c906130af565b50600090565b51906001600160701b038216820361113f57565b90607f19820191821360011661125057565b906f028f6481ab7f045a5af012a19d003aa919820191821360011661125057565b9060020b9081156111d25760020b0590565b60ff6000805160206132848339815191525460401c161561315657565b631afcd79f60e31b60005260046000fd5b9061318d575080511561317c57805190602001fd5b63d6bda27560e01b60005260046000fd5b815115806131bf575b61319e575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b15613196565b906000602091828151910182855af1156114ab576000513d61321a57506001600160a01b0381163b155b6131f95750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b600114156131f256fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212209fbf4d8a603cf092b9c4834d9e5232b4cece03604f7ac9cd50a77d38eb50cdb964736f6c634300081b003300000000000000000000000087ecdc1740fcada6d5215d7f0953f4137fb88332