(cherry picked from commit f8bed5e9a7d1ece127fb3da123bbfc26ada0016f) (cherry picked from commit 98c3544e9407e3e1dfae9806d4a8181508952bed)