# This is the official list of 'w32' authors for copyright purposes.

# Names should be added to this file as
#   Name or Organization <email address>
# The email address is not required for organizations.

# Please keep the list sorted.

# Contributors
# ============

Allen Dang <allengnr@gmail.com>
Benny Siegert <bsiegert@gmail.com>
Bruno Bigras <bigras.bruno@gmail.com>
Gerald Rosenberg <gerald.rosenberg@gmail.com>
Michael Henke