Copyright (c) 2009 Nexedi KK and Contributors Copyright (c) 2009 Nexedi SA and Contributors