(cherry picked from commit 169085319b8b76641f8b9f6840a3fef06d221e2b) (cherry picked from commit 3418c56bcf4bbddaf483bdaa1a15a8bbc4039bfe)