Ukraine’s port of Mariupol holds out against all odds