cfccdb2923cec84c37939acc228affe0ddc31cd30736dbddbaa4b433fa9c41cdb305c1a8f539c94a377c54456eccaa2d22d74ccf965bece23fa0ced62dd8e3bbbd26b24cbf9b3e8c4726c1cf9f313b36db013dfdbdd34d5c2af5439790dd4efc75686b2aab8e13679b31035f6e6529b488a7d92a24e5cff5f3af83d4f50a7049cccf570b6c62dd472ee0e956346524b6e1b4074e197afa68b4c288597d23ca3e929467a318fdfe9eeb934d0dc2a2b49b96bfa76314ae66e49e51632de5c9b45163728f91b3ad68eccd94d52b9ac107cc64b2e4d93bc8af4a2c046d5576d0cf6316fbc3196b118a010b22ad72a9b6f44360839822f9d5fdc21bac947f13c90319c66da664e0ffb178cf0d