Copyright (c) 2005-2018 Oracle and/or its affiliates.