(cherry picked from commit 820a270eca0221bb80c84f5bdc5abb4036560717) (cherry picked from commit 61e7bbbc67f0708e19b264268068018d450707ac)
(cherry picked from commit 65f45f2f0f521eb310f4a33c72875fbe3f422fae)