The icons in this repository are herefore released into the Public Domain.
