(cherry picked from commit 5ebf2817e58e1be8214dc1916a694a912075aa0a) (cherry picked from commit 9656ee4ee763dc48435ba8bb3ac9b10f6b306fe3)