Copyright (C) adams. All Rights Reserved.