Copyright (c) 2004-2019 Satoshi Suzuki All rights Reserved