390 txs
4.6k calls
constructor
constructor(address arcadiaFactory, address positionManager, address cLFactory, address poolImplementation, address rewardToken, address stakedSlipstreamAm, address stakedSlipstreamWrapper)
functions
accountInfo
viewfunction accountInfo(address account) view returns (uint64 maxClaimFee, uint64 maxSwapFee, uint64 upperSqrtPriceDeviation, uint64 lowerSqrtPriceDeviation, uint64 minLiquidityRatio)
accountToInitiator
viewfunction accountToInitiator(address owner, address account) view returns (address initiator)
ARCADIA_FACTORY
viewfunction ARCADIA_FACTORY() view returns (address)
isPoolBalanced
purefunction isPoolBalanced(uint256 sqrtPrice, tuple cache) pure returns (bool isBalanced)
isPositionManager
viewfunction isPositionManager(address positionManager) view returns (bool)
metaData
viewfunction metaData(address account) view returns (bytes data)
onERC721Received
purefunction onERC721Received(address, address, uint256, bytes) pure returns (bytes4)
compound
nonpayablefunction compound(address account_, tuple initiatorParams)
executeAction
nonpayablefunction executeAction(bytes actionTargetData) returns (tuple depositData)
setAccountInfo
nonpayablefunction setAccountInfo(address account_, address initiator, uint256 maxClaimFee, uint256 maxSwapFee, uint256 maxTolerance, uint256 minLiquidityRatio, bytes metaData_)
uniswapV3SwapCallback
nonpayablefunction uniswapV3SwapCallback(int256 amount0Delta, int256 amount1Delta, bytes data)
events
AccountInfoSet
event AccountInfoSet(address indexed account, address indexed initiator)
Compound
event Compound(address indexed account, address indexed positionManager, uint256 id)
FeePaid
event FeePaid(address indexed account, address indexed receiver, address indexed asset, uint256 amount)
YieldClaimed
event YieldClaimed(address indexed account, address indexed asset, uint256 amount)
errors
InsufficientLiquidity
error InsufficientLiquidity()
InvalidInitiator
error InvalidInitiator()
InvalidPositionManager
error InvalidPositionManager()
InvalidRouter
error InvalidRouter()
InvalidValue
error InvalidValue()
NotAnAccount
error NotAnAccount()
OnlyAccount
error OnlyAccount()
OnlyAccountOwner
error OnlyAccountOwner()
OnlyPool
error OnlyPool()
Reentered
error Reentered()
UnbalancedPool
error UnbalancedPool()
creation bytecode
0x610160604052348015610010575f5ffd5b5060405161545638038061545683398101604081905261002f91610080565b6001600160a01b0396871660805294861660c05292851660a05290841660e0528316610100528216610120521661014052610101565b80516001600160a01b038116811461007b575f5ffd5b919050565b5f5f5f5f5f5f5f60e0888a031215610096575f5ffd5b61009f88610065565b96506100ad60208901610065565b95506100bb60408901610065565b94506100c960608901610065565b93506100d760808901610065565b92506100e560a08901610065565b91506100f360c08901610065565b905092959891949750929550565b60805160a05160c05160e0516101005161012051610140516152866101d05f395f6103e501525f6103aa01525f81816117200152818161175c015281816117e701528181611c7801526121a101525f818161106601526118b001525f8181610421015281816111e10152818161164d015281816116ea01528181611ac101528181611ec1015281816120bd015281816124e601528181612542015281816125f0015281816126d4015261273701525f818161108701526118d101525f81816101ec01526104b501526152865ff3fe60806040526004361061009d575f3560e01c80637d5ad9cd116100625780637d5ad9cd146101bc5780638cffa277146101db578063a129568d1461020e578063a7310b581461023a578063a89d6dd4146102d2578063fa461e33146102f1575f5ffd5b80630686ddd9146100a85780630a73e391146100dd5780631204f5251461010c578063150b7a02146101635780633d692da11461019b575f5ffd5b366100a457005b5f5ffd5b3480156100b3575f5ffd5b506100c76100c23660046142c4565b610310565b6040516100d4919061430d565b60405180910390f35b3480156100e8575f5ffd5b506100fc6100f73660046142c4565b6103a7565b60405190151581526020016100d4565b348015610117575f5ffd5b5061014b61012636600461431f565b600360209081525f92835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020016100d4565b34801561016e575f5ffd5b5061018261017d36600461439a565b61045b565b6040516001600160e01b031990911681526020016100d4565b3480156101a6575f5ffd5b506101ba6101b5366004614407565b61046d565b005b3480156101c7575f5ffd5b506101ba6101d636600461448f565b6107e7565b3480156101e6575f5ffd5b5061014b7f000000000000000000000000000000000000000000000000000000000000000081565b348015610219575f5ffd5b5061022d6102283660046144d7565b610a7d565b6040516100d491906145e6565b348015610245575f5ffd5b506102986102543660046142c4565b600160208190525f918252604090912080549101546001600160401b0380831692600160401b8104821692600160801b8204831692600160c01b9092048216911685565b604080516001600160401b03968716815294861660208601529285169284019290925283166060830152909116608082015260a0016100d4565b3480156102dd575f5ffd5b506100fc6102ec366004614665565b61102e565b3480156102fc575f5ffd5b506101ba61030b3660046146f5565b61104a565b60026020525f90815260409020805461032890614743565b80601f016020809104026020016040519081016040528092919081815260200182805461035490614743565b801561039f5780601f106103765761010080835404028352916020019161039f565b820191905f5260205f20905b81548152906001019060200180831161038257829003601f168201915b505050505081565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316148061041957507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061045557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b92915050565b630a85bd0160e11b5b95945050505050565b5f546001600160a01b0316156104965760405163b5dfd9e560e01b815260040160405180910390fd5b604051630972932760e21b81526001600160a01b0389811660048301527f000000000000000000000000000000000000000000000000000000000000000016906325ca4c9c90602401602060405180830381865afa1580156104fa573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e919061478a565b61053b57604051630ea8370b60e41b815260040160405180910390fd5b5f886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610579573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061059d91906147a3565b9050336001600160a01b038216146105c8576040516312272fd360e11b815260040160405180910390fd5b670de0b6b3a76400008711806105e55750670de0b6b3a764000086115b806105f75750670de0b6b3a764000085115b806106095750670de0b6b3a764000084115b1561062757604051632a9ffab760e21b815260040160405180910390fd5b6001600160a01b038181165f9081526003602090815260408083208d8516845282529182902080546001600160a01b031916938c1693909317909255805160a0810182526001600160401b038a8116825289169281019290925281016106af61069888670de0b6b3a76400006147d2565b6106aa90670de0b6b3a76400006147e5565b61111b565b6001600160401b031681526020016106d261069888670de0b6b3a76400006147fc565b6001600160401b0390811682528681166020928301526001600160a01b038c165f9081526001808452604080832086518154888801518985015160608b01519389166fffffffffffffffffffffffffffffffff1990931692909217600160401b91891691909102176001600160801b0316600160801b918816919091026001600160c01b031617600160c01b9187169190910217815560809096015195909101805467ffffffffffffffff1916959093169490941790915560029091522061079b838583614853565b50876001600160a01b0316896001600160a01b03167febc70f7c8d6a67b19e15e968cb908d21719e8ff9a778a71171fba931a618d05260405160405180910390a3505050505050505050565b5f546001600160a01b0316156108105760405163b5dfd9e560e01b815260040160405180910390fd5b336001600160a01b031660035f846001600160a01b0316638da5cb5b6040518163ffffffff1660e01b81526004016020604051808303815f875af115801561085a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e91906147a3565b6001600160a01b03908116825260208083019390935260409182015f908120878316825290935291205416146108c7576040516317fb43e560e31b815260040160405180910390fd5b6108d76100f760208301836142c4565b6108f45760405163ed5f09f160e01b815260040160405180910390fd5b5f80546001600160a01b0319166001600160a01b0384161781558080610920606085016040860161492b565b6001600160801b0316118061094c57505f610941608085016060860161492b565b6001600160801b0316115b156109855761097f61096160208501856142c4565b6109716040860160208701614965565b6001600160601b03166111bf565b90925090505b5f610a0a61099660208601866142c4565b6109a66040870160208801614965565b6001600160601b031685856109c160608a0160408b0161492b565b6001600160801b03166109da60808b0160608c0161492b565b6001600160801b0316338b6040516020016109f69291906149ff565b604051602081830303815290604052611261565b60405162b9252f60e41b81529091506001600160a01b03861690630b9252f090610a3a9030908590600401614ae0565b5f604051808303815f87803b158015610a51575f5ffd5b505af1158015610a63573d5f5f3e3d5ffd5b50505f80546001600160a01b031916905550505050505050565b610aa86040518060800160405280606081526020016060815260200160608152602001606081525090565b5f546001600160a01b03163314610ad25760405163f3f6425d60e01b815260040160405180910390fd5b335f908152600160208181526040808420815160a08101835281546001600160401b038082168352600160401b8204811695830195909552600160801b8104851693820193909352600160c01b90920483166060830152909201541660808201529080610b4185870187614b7b565b8051855160a0830151939550919350916001600160401b0391821691161180610b83575083602001516001600160401b03168260c001516001600160401b0316115b15610ba157604051632a9ffab760e21b815260040160405180910390fd5b5f610bb98284602001516001600160601b03166115dd565b90505f816101200151516001600160401b03811115610bda57610bda6145f8565b604051908082528060200260200182016040528015610c03578160200160208202803683370190505b50905083604001516001600160801b0316815f81518110610c2657610c26614c6b565b60200260200101818152505083606001516001600160801b031681600181518110610c5357610c53614c6b565b6020026020010181815250505f81516001600160401b03811115610c7957610c796145f8565b604051908082528060200260200182016040528015610ca2578160200160208202803683370190505b5090505f610cb5888588608001516119f8565b9050610cc68461010001518261102e565b610ce357604051633a8bf65960e01b815260040160405180910390fd5b610cfd838387878a60a001516001600160401b0316611abf565b610d088386866120bb565b5f610dd789608001516001600160401b0316866040015162ffffff168960c001516001600160401b031688610100015186604001516001600160a01b031687606001516001600160a01b0316895f81518110610d6657610d66614c6b565b60200260200101518b5f81518110610d8057610d80614c6b565b6020026020010151610d9291906147fc565b8a600181518110610da557610da5614c6b565b60200260200101518c600181518110610dc057610dc0614c6b565b6020026020010151610dd291906147fc565b612258565b805190915015610e14578060200151835f81518110610df857610df8614c6b565b60200260200101818151610e0c91906147d2565b905250610e44565b806020015183600181518110610e2c57610e2c614c6b565b60200260200101818151610e4091906147d2565b9052505b610e52848489888587612364565b610e5b85612471565b6001600160a01b03166101008601819052610e76908361102e565b610e9357604051633a8bf65960e01b815260040160405180910390fd5b5f5f825f0151610efb57845f81518110610eaf57610eaf614c6b565b6020026020010151865f81518110610ec957610ec9614c6b565b6020026020010151610edb91906147fc565b86600181518110610eee57610eee614c6b565b6020026020010151610f55565b855f81518110610f0d57610f0d614c6b565b602002602001015185600181518110610f2857610f28614c6b565b602002602001015187600181518110610f4357610f43614c6b565b6020026020010151610f5591906147fc565b91509150610f6686898985856124e1565b82604001518760e001516001600160801b03161015610f985760405163bb55fd2760e01b815260040160405180910390fd5b610fa38689896126d2565b5f610fb18b88888c8c612803565b9050610fc98989602001518a61012001518a85612aa9565b9c50886001600160a01b0316336001600160a01b03167f6c7e7d4cb83a668aef31739dd35dc3fc3d5f31d62b69e438b7b24d35b40dcc638a6020015160405161101491815260200190565b60405180910390a350505050505050505050505092915050565b80515f90831180156110435750816020015183105b9392505050565b5f808061105984860186614c8d565b91945092509050336110ae7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000868686612d95565b6001600160a01b0316146110d557604051634b60273560e01b815260040160405180910390fd5b5f8713156110f6576110f16001600160a01b0384163389612e62565b611112565b5f861315611112576111126001600160a01b0383163388612e62565b50505050505050565b60b581600160881b81106111345760409190911b9060801c5b690100000000000000000081106111505760209190911b9060401c5b6501000000000081106111685760109190911b9060201c5b6301000000811061117e5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60405163133f757160e31b8152600481018290525f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906399fbab889060240161018060405180830381865afa158015611227573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124b9190614ceb565b50979e969d50959b505050505050505050505050565b606060018415611279578061127581614dc1565b9150505b831561128d578061128981614dc1565b9150505b5f816001600160401b038111156112a6576112a66145f8565b6040519080825280602002602001820160405280156112cf578160200160208202803683370190505b5090505f826001600160401b038111156112eb576112eb6145f8565b604051908082528060200260200182016040528015611314578160200160208202803683370190505b5090505f836001600160401b03811115611330576113306145f8565b604051908082528060200260200182016040528015611359578160200160208202803683370190505b5090505f846001600160401b03811115611375576113756145f8565b60405190808252806020026020018201604052801561139e578160200160208202803683370190505b5090508c845f815181106113b4576113b4614c6b565b60200260200101906001600160a01b031690816001600160a01b0316815250508b835f815181106113e7576113e7614c6b565b6020026020010181815250506001825f8151811061140757611407614c6b565b6020026020010181815250506002815f8151811061142757611427614c6b565b6020908102919091010152600189156114b2578b8560018151811061144e5761144e614c6b565b60200260200101906001600160a01b031690816001600160a01b031681525050898360018151811061148257611482614c6b565b6020026020010181815250506001826001815181106114a3576114a3614c6b565b60209081029190910101525060025b881561152b578a8582815181106114cb576114cb614c6b565b60200260200101906001600160a01b031690816001600160a01b031681525050888382815181106114fe576114fe614c6b565b602002602001018181525050600182828151811061151e5761151e614c6b565b6020026020010181815250505b5f6040518060800160405280878152602001868152602001858152602001848152509050606061157c6040518060800160405280606081526020016060815260200160608152602001606081525090565b61159e6040518060600160405280606081526020015f81526020015f81525090565b838282858f6040516020016115b7959493929190614dd9565b6040516020818303038152906040529a5050505050505050505050979650505050505050565b60408051610140810182525f80825281830181905260608083018290526080830182905260a0830182905260c0830182905260e08301829052610100830182905261012083015260208201849052915163133f757160e31b81526004810184905290919081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906399fbab889060240161018060405180830381865afa158015611693573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b79190614ceb565b505050506001600160801b031660e08b0152600290810b60a08b015290810b60c08a01520b6060880152909450925050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03908116908616148061175457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061179057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316145b156117bd57604080516002808252606082018352909160208301908036833750505061012084015261183a565b604080516003808252608082019092529060208201606080368337505050610120840181905280517f00000000000000000000000000000000000000000000000000000000000000009190600290811061181957611819614c6b565b60200260200101906001600160a01b031690816001600160a01b0316815250505b818361012001515f8151811061185257611852614c6b565b60200260200101906001600160a01b031690816001600160a01b0316815250508083610120015160018151811061188b5761188b614c6b565b60200260200101906001600160a01b031690816001600160a01b0316815250506118fc7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084848760600151612d95565b6001600160a01b031680845260408051633850c7bd60e01b81529051633850c7bd9160048082019260c0929091908290030181865afa158015611941573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119659190614eb5565b5050505060020b60808501526001600160a01b0390811661010085015283516040805163ddca3f4360e01b81529051919092169163ddca3f439160048083019260209291908290030181865afa1580156119c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e59190614f2a565b62ffffff16604084015250909392505050565b604080516080810182525f8082526020820181905291810182905260608101919091526040518060800160405280611a5086606001516001600160401b0316670de0b6b3a764000086612ee49092919063ffffffff16565b8152602001611a7f86604001516001600160401b0316670de0b6b3a764000086612ee49092919063ffffffff16565b8152602001611a918560c00151612eff565b6001600160a01b03168152602001611aac8560a00151612eff565b6001600160a01b03169052949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611e55576020820151604051630ae169a560e41b81525f916001600160a01b0386169163ae169a5091611b2d9160040190815260200190565b6020604051808303815f875af1158015611b49573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6d9190614f4c565b90505f611b838284670de0b6b3a7640000612ee4565b90508651600303611c76578187600281518110611ba257611ba2614c6b565b6020026020010151611bb491906147d2565b8187600281518110611bc857611bc8614c6b565b6020026020010151611bda91906147d2565b88600281518110611bed57611bed614c6b565b6020026020010188600281518110611c0757611c07614c6b565b6020026020010182815250828152505050836101200151600281518110611c3057611c30614c6b565b60200260200101516001600160a01b0316336001600160a01b03165f5160206152315f395f51905f5284604051611c6991815260200190565b60405180910390a3611e4e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168461012001515f81518110611cb757611cb7614c6b565b60200260200101516001600160a01b031603611d6a5781875f81518110611ce057611ce0614c6b565b6020026020010151611cf291906147d2565b81875f81518110611d0557611d05614c6b565b6020026020010151611d1791906147d2565b885f81518110611d2957611d29614c6b565b60200260200101885f81518110611d4257611d42614c6b565b60200260200101828152508281525050508361012001515f81518110611c3057611c30614c6b565b8187600181518110611d7e57611d7e614c6b565b6020026020010151611d9091906147d2565b8187600181518110611da457611da4614c6b565b6020026020010151611db691906147d2565b88600181518110611dc957611dc9614c6b565b6020026020010188600181518110611de357611de3614c6b565b6020026020010182815250828152505050836101200151600181518110611e0c57611e0c614c6b565b60200260200101516001600160a01b0316336001600160a01b03165f5160206152315f395f51905f5284604051611e4591815260200190565b60405180910390a35b50506120b4565b604080516080810182526020848101518252309082019081526001600160801b0382840181815260608401828152945163fc6f786560e01b81529351600485015291516001600160a01b039081166024850152915181166044840152925190921660648201525f9182917f00000000000000000000000000000000000000000000000000000000000000009091169063fc6f78659060840160408051808303815f875af1158015611f08573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f2c9190614f63565b9150915081875f81518110611f4357611f43614c6b565b60200260200101818151611f5791906147d2565b9052508651819088906001908110611f7157611f71614c6b565b60200260200101818151611f8591906147d2565b905250611f9b8284670de0b6b3a7640000612ee4565b865f81518110611fad57611fad614c6b565b60200260200101818151611fc191906147d2565b905250611fd78184670de0b6b3a7640000612ee4565b86600181518110611fea57611fea614c6b565b60200260200101818151611ffe91906147d2565b90525061012084015180515f9061201757612017614c6b565b60200260200101516001600160a01b0316336001600160a01b03165f5160206152315f395f51905f528460405161205091815260200190565b60405180910390a383610120015160018151811061207057612070614c6b565b60200260200101516001600160a01b0316336001600160a01b03165f5160206152315f395f51905f52836040516120a991815260200190565b60405180910390a350505b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614612253576020810151604051630852cd8d60e31b81525f916001600160a01b038516916342966c68916121299160040190815260200190565b6020604051808303815f875af1158015612145573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121699190614f4c565b9050801561225157835160030361219f57808460028151811061218e5761218e614c6b565b602002602001018181525050612251565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168261012001515f815181106121e0576121e0614c6b565b60200260200101516001600160a01b0316036122255780845f8151811061220957612209614c6b565b6020026020010181815161221d91906147d2565b905250612251565b808460018151811061223957612239614c6b565b6020026020010181815161224d91906147d2565b9052505b505b505050565b6122876040518060a001604052805f151581526020015f81526020015f81526020015f81526020015f81525090565b64e8d4a51000880287015f80806122a28a8a8a8a8a896131b7565b9250925092505f5f6122ec8c8c8c886122c4576122bf878e6147d2565b6122ce565b6122ce888e6147fc565b896122e2576122dd898e6147fc565b6132d8565b6122dd888e6147d2565b6001600160801b031690506123148f670de0b6b3a764000083612ee49092919063ffffffff16565b91505f905061232c848e670de0b6b3a7640000612ee4565b6040805160a08101825296151587526020870182905286019290925250909103606083015260808201529a9950505050505050505050565b606082015115612469578360e00151515f03612456575f612432835f0151856040015162ffffff166123958761338d565b876101000151866040015187606001518c5f815181106123b7576123b7614c6b565b60200260200101518e5f815181106123d1576123d1614c6b565b60200260200101516123e391906147fc565b8d6001815181106123f6576123f6614c6b565b60200260200101518f60018151811061241157612411614c6b565b602002602001015161242391906147fc565b8b606001518c608001516133f1565b9050805f036124415750612469565b6124508785855f0151846134ba565b50612469565b6124698684845f01518760e001516136fb565b505050505050565b5f815f01516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160c060405180830381865afa1580156124b1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124d59190614eb5565b50939695505050505050565b61253d7f0000000000000000000000000000000000000000000000000000000000000000838561012001515f8151811061251d5761251d614c6b565b60200260200101516001600160a01b03166139479092919063ffffffff16565b61257a7f00000000000000000000000000000000000000000000000000000000000000008285610120015160018151811061251d5761251d614c6b565b6040805160c081018252602080860151825281018481528183018481525f60608401818152608085018281524260a08701908152965163219f5d1760e01b81529551600487015293516024860152915160448501529051606484015290516084830152915160a482015281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063219f5d179060c4016060604051808303815f875af1158015612636573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265a9190614f85565b6001600160801b0390921660e08801528851909350909150829088905f9061268457612684614c6b565b6020026020010181815161269891906147fc565b90525086518190889060019081106126b2576126b2614c6b565b602002602001018181516126c691906147fc565b90525050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161461225357602081015160405163095ea7b360e01b81526001600160a01b03848116600483015260248201929092527f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044015f604051808303815f87803b15801561277a575f5ffd5b505af115801561278c573d5f5f3e3d5ffd5b505050602082015160405163140e25ad60e31b81526001600160a01b038516925063a0712d68916127c39160040190815260200190565b6020604051808303815f875af11580156127df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122519190614f4c565b602081015160405163095ea7b360e01b815233600482015260248101919091525f906001600160a01b0384169063095ea7b3906044015f604051808303815f87803b158015612850575f5ffd5b505af1158015612862573d5f5f3e3d5ffd5b505050505f600191505f5b8651811015612a9e57836101200151818151811061288d5761288d614c6b565b602002602001015191508581815181106128a9576128a9614c6b565b60200260200101518782815181106128c3576128c3614c6b565b60200260200101511115612976578581815181106128e3576128e3614c6b565b60200260200101518782815181106128fd576128fd614c6b565b602002602001015161290f91906147fc565b87828151811061292157612921614c6b565b6020026020010181815250506129643388838151811061294357612943614c6b565b6020026020010151846001600160a01b03166139479092919063ffffffff16565b8261296e81614dc1565b9350506129ce565b86818151811061298857612988614c6b565b60200260200101518682815181106129a2576129a2614c6b565b6020026020010181815250505f8782815181106129c1576129c1614c6b565b6020026020010181815250505b5f8682815181106129e1576129e1614c6b565b60200260200101511115612a2657612a2688878381518110612a0557612a05614c6b565b6020026020010151846001600160a01b0316612e629092919063ffffffff16565b816001600160a01b0316886001600160a01b0316336001600160a01b03167f1b37fcc57f4b6029ca7b3a70af0104811f67c72fe73e8043575f03a01e056631898581518110612a7757612a77614c6b565b6020026020010151604051612a8e91815260200190565b60405180910390a460010161286d565b505095945050505050565b612ad46040518060800160405280606081526020016060815260200160608152602001606081525090565b5f826001600160401b03811115612aed57612aed6145f8565b604051908082528060200260200182016040528015612b16578160200160208202803683370190505b5090505f836001600160401b03811115612b3257612b326145f8565b604051908082528060200260200182016040528015612b5b578160200160208202803683370190505b5090505f846001600160401b03811115612b7757612b776145f8565b604051908082528060200260200182016040528015612ba0578160200160208202803683370190505b5090505f856001600160401b03811115612bbc57612bbc6145f8565b604051908082528060200260200182016040528015612be5578160200160208202803683370190505b50905089845f81518110612bfb57612bfb614c6b565b60200260200101906001600160a01b031690816001600160a01b03168152505088835f81518110612c2e57612c2e614c6b565b6020026020010181815250506001825f81518110612c4e57612c4e614c6b565b6020026020010181815250506002815f81518110612c6e57612c6e614c6b565b6020026020010181815250506001861115612d6d5760015f5b8851811015612d6a575f898281518110612ca357612ca3614c6b565b60200260200101511115612d6257898181518110612cc357612cc3614c6b565b6020026020010151868381518110612cdd57612cdd614c6b565b60200260200101906001600160a01b031690816001600160a01b031681525050888181518110612d0f57612d0f614c6b565b6020026020010151848381518110612d2957612d29614c6b565b6020026020010181815250506001838381518110612d4957612d49614c6b565b602090810291909101015281612d5e81614dc1565b9250505b600101612c87565b50505b6040805160808101825294855260208501939093529183015260608201529695505050505050565b5f826001600160a01b0316846001600160a01b031610612db3575f5ffd5b604080516001600160a01b038087166020830152851691810191909152600283900b6060820152612e589087906080016040516020818303038152906040528051906020012087604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b8152606093841b60148201526f5af43d82803e903d91602b57fd5bf3ff60801b6028820152921b6038830152604c8201526037808220606c830152605591012090565b9695505050505050565b5f60405163a9059cbb60e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806122515760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064015b60405180910390fd5b5f825f190484118302158202612ef8575f5ffd5b5091020490565b60020b5f60ff82901d80830118620d89e8811115612f2857612f286345c3193d60e11b846139bc565b7001fffcb933bd6fad37aa2d162d1a5940016001821602600160801b186002821615612f64576ffff97272373d413259a46990580e213a0260801c5b6004821615612f83576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612fa2576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612fc1576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612fe0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612fff576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561301e576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561303e576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561305e576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561307e576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561309e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156130be576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156130de576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156130fe576f70d869a156d2a1b890bb3df62baf32f70260801c5b61800082161561311e576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561313f576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561315f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561317e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561319b576b048a170391f7dc42444e8fa20260801c5b5f8413156131a7575f19045b63ffffffff0160201c9392505050565b5f5f5f8689106131dc57600192508591506131d589600188876139cb565b90506132cc565b8789116131f2578491506131d5895f87876139cb565b5f6131fe8a8a8a613a27565b90505f61320d8b60018a613a6f565b90505f61321a82896147d2565b90505f61323089670de0b6b3a764000084612ee4565b90508381101561328557600196505f613255858a670de0b6b3a7640000819003612ee4565b670de0b6b3a764000001905061326e8286038483612ee4565b95505061327e8d6001878b613ac3565b95506132c7565b5f96508661329c858a670de0b6b3a7640000612ee4565b670de0b6b3a76400000390506132b58583038483612ee4565b9650506132c48d5f888b6139cb565b94505b505050505b96509650969350505050565b5f836001600160a01b0316856001600160a01b031611156132f7579293925b846001600160a01b0316866001600160a01b03161161332a5761332361331e868686613b1d565b613b76565b9050610464565b836001600160a01b0316866001600160a01b0316101561337f575f613350878686613b1d565b90505f61335e878986613b90565b90506133768183106133705781613b76565b82613b76565b92505050610464565b612e5861331e868685613b90565b5f815f01516001600160a01b0316631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133cd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104559190614fb9565b5f8080805b60648110156134a55761340d8e8e8e8e8a8a613bc9565b9250886001600160a01b0316836001600160a01b03161061343e576134348d8d8d8b613c72565b93505050506134ac565b896001600160a01b0316836001600160a01b031611613463576134348d8d8d8a613cae565b6134708e8e8e8e87613cdf565b90965094506134858e8b8b8b8b8b8b8a613d59565b90975095509150811561349d578493505050506134ac565b6001016133f6565b5083925050505b9a9950505050505050505050565b82515f9081906001600160a01b031663128acb0830866134d987614fd4565b88613502576134fd600173fffd8963efd1fc6a506488495d951d5263988d26614fee565b613512565b6135126401000276a3600161500d565b8a61012001515f8151811061352957613529614c6b565b60200260200101518b610120015160018151811061354957613549614c6b565b60200260200101518c6060015160405160200161358a939291906001600160a01b03938416815291909216602082015260029190910b604082015260600190565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016135b995949392919061502c565b60408051808303815f875af11580156135d4573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135f89190614f63565b91509150836136335761360a82614fd4565b865f8151811061361c5761361c614c6b565b602002602001015161362e91906147d2565b613658565b81865f8151811061364657613646614c6b565b602002602001015161365891906147fc565b865f8151811061366a5761366a614c6b565b602002602001018181525050836136a657808660018151811061368f5761368f614c6b565b60200260200101516136a191906147fc565b6136d4565b6136af81614fd4565b866001815181106136c2576136c2614c6b565b60200260200101516136d491906147d2565b866001815181106136e7576136e7614c6b565b602002602001018181525050505050505050565b5f5f5f838060200190518101906137129190615066565b92509250925061376e8383876137475788610120015160018151811061373a5761373a614c6b565b602002602001015161375e565b8861012001515f8151811061251d5761251d614c6b565b6001600160a01b03169190613947565b5f5f846001600160a01b03168360405161378891906150f6565b5f604051808303815f865af19150503d805f81146137c1576040519150601f19603f3d011682016040523d82523d5f602084013e6137c6565b606091505b50915091508181906137eb5760405162461bcd60e51b8152600401612edb919061430d565b508761012001515f8151811061380357613803614c6b565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613851573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138759190614f4c565b895f8151811061388757613887614c6b565b6020026020010181815250508761012001516001815181106138ab576138ab614c6b565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156138f9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061391d9190614f4c565b8960018151811061393057613930614c6b565b602002602001018181525050505050505050505050565b816014528060345263095ea7b360601b5f5260205f604460105f875af13d1560015f511417166139b3575f60345263095ea7b360601b5f525f38604460105f875af1508060345260205f604460105f875af13d1560015f511417166139b357633e3f8f735f526004601cfd5b5f603452505050565b815f528060020b60045260245ffd5b5f6001600160801b038511156139df575f5ffd5b5f6139f7670de0b6b3a7640000848103908690612ee4565b905084613a1557613a1081600160c01b6002890a613ebe565b612e58565b612e58816002880a600160c01b613ebe565b5f6001600160801b03841115613a3b575f5ffd5b8284035f836002870a81613a5157613a5161510c565b0460028702869003039050612e5882670de0b6b3a764000083612ee4565b5f82613a9d57613a9882613a886002600160601b615203565b613a93600288615203565b613ebe565b613abb565b613abb82613aac600287615203565b613a936002600160601b615203565b949350505050565b5f6001600160801b03851115613ad7575f5ffd5b5f84613af457613aef846002880a600160c01b613ebe565b613b06565b613b0684600160c01b6002890a613ebe565b9050612e5881670de0b6b3a7640000858103612ee4565b5f826001600160a01b0316846001600160a01b03161115613b3c579192915b5f613b5e856001600160a01b0316856001600160a01b0316600160601b613ebe565b905061046483828787036001600160a01b0316613ebe565b806001600160801b0381168114613b8b575f5ffd5b919050565b5f826001600160a01b0316846001600160a01b03161115613baf579192915b613abb82600160601b8686036001600160a01b0316613ebe565b5f80613bdc84620f424089810390612ee4565b90505f5f8915613c1a57613bf38789856001613f5a565b6001600160a01b03169150613c0a8789875f614049565b6001600160a01b03169050613c4a565b613c268789875f613f5a565b6001600160a01b03169150613c3e8789856001614049565b6001600160a01b031690505b89613c6757613c628183016002808206151591040190565b6134ac565b6002828201046134ac565b5f80613c8583620f424088810390614127565b90505f613c958587846001613f5a565b9050613ca38186885f61414a565b979650505050505050565b5f80613cc183620f424088810390614127565b90505f613cd18587846001614049565b9050613ca38582885f614196565b5f5f8615613d1d575f613cf58486886001614196565b9050613d0781620f4240898103614127565b9250613d158486885f61414a565b915050613d4f565b5f613d2b858588600161414a565b9050613d3d81620f4240898103614127565b9250613d4b8585885f614196565b9150505b9550959350505050565b5f5f5f5f5f8c15613d9457613d7e868c8a8d11613d76575f613b1d565b8a8d03613b1d565b9150613d8d8c87898c01613b90565b9050613dc0565b613da1868c898d01613b1d565b9150613dbd8c878a8c11613db5575f613b90565b8a8c03613b90565b90505b5f818310613de057613ddb82670de0b6b3a764000085612ee4565b613df3565b613df383670de0b6b3a764000084612ee4565b670de0b6b3a7640000039050620f4240811082841015613e5d575f613e238f8a613e1c88613b76565b600161414a565b90508f613e3557808c039a508a613e56565b8b8111613e4e57613e498a6009600a612ee4565b613e52565b8b81035b9950895b5050613ea9565b5f613e73898f613e6c87613b76565b6001614196565b90508f613e9f578c8111613e9357613e8e8a6009600a612ee4565b613e97565b8c81035b995089613ea6565b808d039a508a5b50505b9e989d50969b50969950505050505050505050565b5f838302815f1985870982811083820303915050808411613edd575f5ffd5b805f03613eef57508290049050611043565b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f825f03613f69575083613abb565b600160601b600160e01b03606085901b168215614003576001600160a01b03861684810290858281613f9d57613f9d61510c565b0403613fcd57818101828110613fcb57613fc183896001600160a01b03168361424e565b9350505050613abb565b505b50613ffb8185613fe66001600160a01b038a1683615211565b613ff091906147d2565b808204910615150190565b915050613abb565b6001600160a01b03861684810290858204148183111661402a5763f5c787f15f526004601cfd5b808203613fc1614044846001600160a01b038b168461424e565b61427e565b5f81156140ac575f6001600160a01b0384111561407d5761407884600160601b876001600160801b0316613ebe565b614094565b6140946001600160801b038616606086901b615211565b9050613ffb614044826001600160a01b0389166147d2565b5f6001600160a01b038411156140d9576140d484600160601b876001600160801b031661424e565b6140f6565b6140f6606085901b6001600160801b038716808204910615150190565b9050806001600160a01b0387161161411557634323a5555f526004601cfd5b6001600160a01b038616039050613abb565b5f825f19048411830215820261413b575f5ffd5b50910281810615159190040190565b5f6001600160a01b038481169086160360ff81901d90810118600160601b6001600160801b03851661417d818484613ebe565b9350845f83858409111684019350505050949350505050565b5f836001600160a01b0316856001600160a01b031611156141b5579293925b6001600160a01b0385166141cf5762bfc9215f526004601cfd5b600160601b600160e01b03606084901b166001600160a01b03868603168361422257866001600160a01b031661420f8383896001600160a01b0316613ebe565b8161421c5761421c61510c565b04613ca3565b613ca36142398383896001600160a01b031661424e565b886001600160a01b0316808204910615150190565b5f61425a848484613ebe565b9050818061426a5761426a61510c565b838509156110435760010180611043575f5ffd5b806001600160a01b0381168114613b8b57613b8b6393dafdf160e01b805f5260045ffd5b6001600160a01b03811681146142b6575f5ffd5b50565b8035613b8b816142a2565b5f602082840312156142d4575f5ffd5b8135611043816142a2565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61104360208301846142df565b5f5f60408385031215614330575f5ffd5b823561433b816142a2565b9150602083013561434b816142a2565b809150509250929050565b5f5f83601f840112614366575f5ffd5b5081356001600160401b0381111561437c575f5ffd5b602083019150836020828501011115614393575f5ffd5b9250929050565b5f5f5f5f5f608086880312156143ae575f5ffd5b85356143b9816142a2565b945060208601356143c9816142a2565b93506040860135925060608601356001600160401b038111156143ea575f5ffd5b6143f688828901614356565b969995985093965092949392505050565b5f5f5f5f5f5f5f5f60e0898b03121561441e575f5ffd5b8835614429816142a2565b97506020890135614439816142a2565b965060408901359550606089013594506080890135935060a0890135925060c08901356001600160401b0381111561446f575f5ffd5b61447b8b828c01614356565b999c989b5096995094979396929594505050565b5f5f604083850312156144a0575f5ffd5b82356144ab816142a2565b915060208301356001600160401b038111156144c5575f5ffd5b8301610100818603121561434b575f5ffd5b5f5f602083850312156144e8575f5ffd5b82356001600160401b038111156144fd575f5ffd5b61450985828601614356565b90969095509350505050565b5f8151808452602084019350602083015f5b82811015614545578151865260209586019590910190600101614527565b5093949350505050565b8051608080845281519084018190525f9160200190829060a08601905b808310156145975783516001600160a01b03168252602093840193600193909301929091019061456c565b506020850151925085810360208701526145b18184614515565b92505050604083015184820360408601526145cc8282614515565b915050606083015184820360608601526104648282614515565b602081525f611043602083018461454f565b634e487b7160e01b5f52604160045260245ffd5b60405161010081016001600160401b038111828210171561462f5761462f6145f8565b60405290565b604051601f8201601f191681016001600160401b038111828210171561465d5761465d6145f8565b604052919050565b5f5f82840360a0811215614677575f5ffd5b833592506080601f198201121561468c575f5ffd5b50604051608081016001600160401b03811182821017156146af576146af6145f8565b60409081526020858101358352908501359082015260608401356146d2816142a2565b604082015260808401356146e5816142a2565b6060820152919491935090915050565b5f5f5f5f60608587031215614708575f5ffd5b843593506020850135925060408501356001600160401b0381111561472b575f5ffd5b61473787828801614356565b95989497509550505050565b600181811c9082168061475757607f821691505b60208210810361477557634e487b7160e01b5f52602260045260245ffd5b50919050565b80518015158114613b8b575f5ffd5b5f6020828403121561479a575f5ffd5b6110438261477b565b5f602082840312156147b3575f5ffd5b8151611043816142a2565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610455576104556147be565b8082028115828204841417610455576104556147be565b81810381811115610455576104556147be565b601f82111561225357805f5260205f20601f840160051c810160208510156148345750805b601f840160051c820191505b818110156120b4575f8155600101614840565b6001600160401b0383111561486a5761486a6145f8565b61487e836148788354614743565b8361480f565b5f601f8411600181146148af575f85156148985750838201355b5f19600387901b1c1916600186901b1783556120b4565b5f83815260208120601f198716915b828110156148de57868501358255602094850194600190920191016148be565b50868210156148fa575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160801b03811681146142b6575f5ffd5b8035613b8b8161490c565b5f6020828403121561493b575f5ffd5b81356110438161490c565b6001600160601b03811681146142b6575f5ffd5b8035613b8b81614946565b5f60208284031215614975575f5ffd5b813561104381614946565b80356001600160401b0381168114613b8b575f5ffd5b5f5f8335601e198436030181126149ab575f5ffd5b83016020810192503590506001600160401b038111156149c9575f5ffd5b803603821315614393575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160a01b0383168152604060208201525f8235614a1e816142a2565b6001600160a01b03166040830152614a386020840161495a565b6001600160601b03166060830152614a5260408401614920565b6001600160801b03166080830152614a6c60608401614920565b6001600160801b03811660a084015250608083013560c0830152614a9260a08401614980565b6001600160401b031660e0830152614aac60c08401614980565b6001600160401b0316610100830152614ac860e0840184614996565b610100610120850152612e58610140850182846149d7565b6001600160a01b03831681526040602082018190525f90613abb908301846142df565b5f6001600160401b03821115614b1b57614b1b6145f8565b50601f01601f191660200190565b5f82601f830112614b38575f5ffd5b8135614b4b614b4682614b03565b614635565b818152846020838601011115614b5f575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f60408385031215614b8c575f5ffd5b8235614b97816142a2565b915060208301356001600160401b03811115614bb1575f5ffd5b83016101008186031215614bc3575f5ffd5b614bcb61460c565b614bd4826142b9565b8152614be26020830161495a565b6020820152614bf360408301614920565b6040820152614c0460608301614920565b606082015260808281013590820152614c1f60a08301614980565b60a0820152614c3060c08301614980565b60c082015260e08201356001600160401b03811115614c4d575f5ffd5b614c5987828501614b29565b60e08301525080925050509250929050565b634e487b7160e01b5f52603260045260245ffd5b8060020b81146142b6575f5ffd5b5f5f5f60608486031215614c9f575f5ffd5b8335614caa816142a2565b92506020840135614cba816142a2565b91506040840135614cca81614c7f565b809150509250925092565b8051613b8b81614c7f565b8051613b8b8161490c565b5f5f5f5f5f5f5f5f5f5f5f5f6101808d8f031215614d07575f5ffd5b8c51614d1281614946565b60208e0151909c50614d23816142a2565b60408e0151909b50614d34816142a2565b60608e0151909a50614d45816142a2565b60808e0151909950614d5681614c7f565b9750614d6460a08e01614cd5565b9650614d7260c08e01614cd5565b9550614d8060e08e01614ce0565b6101008e01516101208f015191965094509250614da06101408e01614ce0565b9150614daf6101608e01614ce0565b90509295989b509295989b509295989b565b5f60018201614dd257614dd26147be565b5060010190565b60a081525f614deb60a083018861454f565b8281036020840152614dfd818861454f565b8381036040850152865160608083528151908301819052919250602001905f9060808401905b80831015614e5a57835180516001600160a01b03168352602090810151818401529093019260019290920191604090910190614e23565b5060208901516020850152604089015160408501528581036060870152614e8181896142df565b93505050508281036080840152614e9881856142df565b98975050505050505050565b805161ffff81168114613b8b575f5ffd5b5f5f5f5f5f5f60c08789031215614eca575f5ffd5b8651614ed5816142a2565b6020880151909650614ee681614c7f565b9450614ef460408801614ea4565b9350614f0260608801614ea4565b9250614f1060808801614ea4565b9150614f1e60a0880161477b565b90509295509295509295565b5f60208284031215614f3a575f5ffd5b815162ffffff81168114611043575f5ffd5b5f60208284031215614f5c575f5ffd5b5051919050565b5f5f60408385031215614f74575f5ffd5b505080516020909101519092909150565b5f5f5f60608486031215614f97575f5ffd5b8351614fa28161490c565b602085015160409095015190969495509392505050565b5f60208284031215614fc9575f5ffd5b81516110438161490c565b5f600160ff1b8201614fe857614fe86147be565b505f0390565b6001600160a01b038281168282160390811115610455576104556147be565b6001600160a01b038181168382160190811115610455576104556147be565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f90613ca3908301846142df565b5f5f5f60608486031215615078575f5ffd5b8351615083816142a2565b6020850151604086015191945092506001600160401b038111156150a5575f5ffd5b8401601f810186136150b5575f5ffd5b80516150c3614b4682614b03565b8181528760208385010111156150d7575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b634e487b7160e01b5f52601260045260245ffd5b6001815b600184111561515b5780850481111561513f5761513f6147be565b600184161561514d57908102905b60019390931c928002615124565b935093915050565b5f8261517157506001610455565b8161517d57505f610455565b8160018114615193576002811461519d576151b9565b6001915050610455565b60ff8411156151ae576151ae6147be565b50506001821b610455565b5060208310610133831016604e8410600b84101617156151dc575081810a610455565b6151e85f198484615120565b805f19048211156151fb576151fb6147be565b029392505050565b5f61104360ff841683615163565b5f8261522b57634e487b7160e01b5f52601260045260245ffd5b50049056fef3055bc8d92d9c8d2f12b45d112dd345cd2cfd17292b8d65c5642ac6f912dfd7a264697066735822122005b7bec57afd8daf52f72055ef59a313c07ee427cb7218e658085a33eda5901364736f6c634300081b0033000000000000000000000000da14fdd72345c4d2511357214c5b89a919768e59000000000000000000000000827922686190790b37229fd06084350e74485b720000000000000000000000005e7bb104d84c7cb9b682aac2f3d509f5f406809a000000000000000000000000ec8e5342b19977b4ef8892e02d8daecfa1315831000000000000000000000000940181a94a35a4569e4529a3cdfb74e38fd986310000000000000000000000001dc7a0f5336f52724b650e39174cfcbbedd67bf1000000000000000000000000d74339e0f10fce96894916b93e5cc7de89c98272