Khovanov homology and its generalizations