(cherry picked from commit 472c4339008259fc1c9d157b10178c8ce86da09b)
(cherry picked from commit 832f70733b48f1bd7f409d9165c3c09fb5648b3d)