// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include <verrsrc.h>

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION @MAJOR@,@MINOR@,@BUILD@,@PATCH@
 PRODUCTVERSION @MAJOR@,@MINOR@,@BUILD@,@PATCH@
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "CompanyName", "@COMPANY_FULLNAME@"
            VALUE "FileDescription", "@PRODUCT_FULLNAME@"
            VALUE "FileVersion", "@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
            VALUE "InternalName", "@INTERNAL_NAME@"
            VALUE "LegalCopyright", "@COPYRIGHT@"
            VALUE "OriginalFilename", "@ORIGINAL_FILENAME@"
            VALUE "ProductName", "@PRODUCT_FULLNAME@"
            VALUE "ProductVersion", "@MAJOR@.@MINOR@.@BUILD@.@PATCH@"
            VALUE "CompanyShortName", "@COMPANY_SHORTNAME@"
            VALUE "ProductShortName", "@PRODUCT_SHORTNAME@"
            VALUE "LastChange", "@LASTCHANGE@"
            VALUE "Official Build", "@OFFICIAL_BUILD@"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END
