Copyright (C) vivid All rights reserved.