Copyright (c) , All rights reserved. This software may be used, modified, copied, distributed, and sold, in both source and binary form provided that the above copyright and these terms are retained, verbatim, as the first lines of this file. Under no circumstances is the author responsible for the proper functioning of this software, nor does the author assume any responsibility for damages incurred with its use.