
;=============================================================================
;
; Copyright (c) Intel Corporation (2013).
;
; INTEL MAKES NO WARRANTY OF ANY KIND REGARDING THE CODE.  THIS CODE IS
; LICENSED ON AN "AS IS" BASIS AND INTEL WILL NOT PROVIDE ANY SUPPORT,
; ASSISTANCE, INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL DOES NOT
; PROVIDE ANY UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY
; DISCLAIMS ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY
; PARTICULAR PURPOSE, OR ANY OTHER WARRANTY.  Intel disclaims all liability,
; including liability for infringement of any proprietary rights, relating to
; use of the code. No license, express or implied, by estoppel or otherwise,
; to any intellectual property rights is granted herein.
;
;=============================================================================

;
; Installation inf for the Intel Corporation graphics adapter.
;
[Version]
Signature="$WINDOWS NT$"
Provider=%Intel%
ClassGUID={4D36E968-E325-11CE-BFC1-08002BE10318}
Class=Display
CatalogFile=igdlh.cat
DriverVer=12/20/2013,10.18.10.3379

; nat27 prepared for NT6x64_PE 06-Jan-2014, mod 06-Jan-2016
; original inf DriverVer=11/26/2013,10.18.10.3366
; Video_IN3_x64(1601)

[SignatureAttributes]
igd10iumd32.dll=SignatureAttributes.PETrust
igd10iumd64.dll=SignatureAttributes.PETrust
igdumdim32.dll=SignatureAttributes.PETrust
igdumdim64.dll=SignatureAttributes.PETrust
igdusc32.dll=SignatureAttributes.PETrust
igdusc64.dll=SignatureAttributes.PETrust

[SignatureAttributes.PETrust]
PETrust=true

[DestinationDirs]
DefaultDestDir      = 11  ; system32
igfx.Miniport       = 12  ; drivers
igfx.UserMode       = 11  ; system32
igfx.UMWow          = 10, SysWow64
IMOLA9.Copy64       = 11  ; system32

;
;
; Driver information
;
[Manufacturer]
%Intel%   = IntelGfx, NTamd64.6.1, NTamd64.6.2, NTamd64.6.3
[IntelGfx.NTamd64.5.1]
; no install on XP
[IntelGfx.NTamd64.6.0]
; no install on Vista
;=====================================================================
;    Windows 7 Install
;=====================================================================
[IntelGfx.NTamd64.6.1]
%iVLVGMT0%     	= iVLV2M_w7, PCI\VEN_8086&DEV_0F31

;=====================================================================
;    Windows 8 Install
;=====================================================================
[IntelGfx.NTamd64.6.2]
%iVLVGMT0%     	= iVLV2M_w8, PCI\VEN_8086&DEV_0F31
;=====================================================================
;    Windows 8.1 Install
;=====================================================================
[IntelGfx.NTamd64.6.3]
%iVLVGMT0%     	= iVLV2M_w81, PCI\VEN_8086&DEV_0F31
;=====================================================================
;  Windows 7 Device Sections
;=====================================================================
[iVLV2M_w7]
FeatureScore=E0
CopyFiles=igfx.Miniport, igfx.UserMode, Opm.Copy, igfx.UMWow, IMOLA9.Copy64
AddReg =  igfx_SoftwareDX11Settings
AddReg =  igfx_SoftwareCommonSettings
DelReg =  igfx_RemoveDeviceSettings

DelReg  = CUI.DelReg
DelReg  = CUISDK.DelReg
DelReg  = OpenGL.DelRegSmch

AddReg  = OpenGL.Not_Installed

DelReg = OpenCL.DelReg

AddReg 	= Common_AddSwSettings
DelReg 	= Common_DelSwSettings
AddReg 	= Common_Mobile_AddSwSettings
DelReg 	= Common_Mobile_DelSwSettings

AddReg	 = PwrCons_VLV2_AddSwSettings
DelReg 	 = PwrCons_Generic_DelSwSettings
AddReg	 = AsyncFlips_VLV2_AddSwSettings
DelReg     = AsyncFlips_VLV2_DelSwSettings
AddReg    = igfx_SLT_NB_AddSwSettings
DelReg     = igfx_SLT_NB_DelSwSettings
AddReg    = Enable3DContexts_IVBM0_AddSwSettings
DelReg    = Enable3DContexts_IVBM0_DelSwSettings
AddReg   = DisplayOptimization_VLV2_AddSwSettings
DelReg    = DisplayOptimization_Generic_DelSwSettings
AddReg   = AvoidPPSOutsideModeSet_AddSwSettings
DelReg   = AvoidPPSOutsideModeSet_DelSwSettings

AddPowerSetting = PowerPlanSettings

[iVLV2M_w7.HW]
AddReg = igfx_MSI_HardwareDeviceSettings

[iVLV2M_w7.GeneralConfigData]
MaximumNumberOfDevices = 2
MaximumDeviceMemoryConfiguration = 512

[iVLV2M_w7.Services]
AddService = igfx, 0x00000002, igfx_Service_Inst
;=====================================================================

;=====================================================================
;  Windows 8 Device Sections
;=====================================================================
[iVLV2M_w8]
FeatureScore=E0
CopyFiles=igfx.Miniport, igfx.UserMode, Opm.Copy, igfx.UMWow, IMOLA9.Copy64  
AddReg =  igfx_SoftwareDX11Settings
AddReg =  igfx_SoftwareCommonSettings
DelReg =  igfx_RemoveDeviceSettings

DelReg  = CUI.DelReg
DelReg  = CUISDK.DelReg
DelReg  = OpenGL.DelRegSmch

AddReg  = OpenGL.Not_Installed

DelReg = OpenCL.DelReg

AddReg 	= Common_AddSwSettings
DelReg 	= Common_DelSwSettings
AddReg 	= Common_Mobile_AddSwSettings
DelReg 	= Common_Mobile_DelSwSettings

AddReg	 = PwrCons_VLV2_AddSwSettings
DelReg 	 = PwrCons_Generic_DelSwSettings
AddReg	 = AsyncFlips_VLV2_AddSwSettings
DelReg     = AsyncFlips_VLV2_DelSwSettings
AddReg    = igfx_SLT_NB_AddSwSettings
DelReg     = igfx_SLT_NB_DelSwSettings
AddReg    = Enable3DContexts_IVBM0_AddSwSettings
DelReg    = Enable3DContexts_IVBM0_DelSwSettings
AddReg   = DisplayOptimization_VLV2_AddSwSettings
DelReg    = DisplayOptimization_Generic_DelSwSettings
AddReg   = AvoidPPSOutsideModeSet_AddSwSettings
DelReg   = AvoidPPSOutsideModeSet_DelSwSettings

AddPowerSetting = PowerPlanSettings

[iVLV2M_w8.HW]
AddReg = igfx_MSI_HardwareDeviceSettings

[iVLV2M_w8.GeneralConfigData]
MaximumNumberOfDevices = 2
MaximumDeviceMemoryConfiguration = 512

[iVLV2M_w8.Services]
AddService = igfx, 0x00000002, igfx_Service_Inst
;=====================================================================

;=====================================================================
;  Windows 8.1 Device Sections
;=====================================================================
[iVLV2M_w81]
FeatureScore=DA
CopyFiles=igfx.Miniport, igfx.UserMode, Opm.Copy, igfx.UMWow, IMOLA9.Copy64  
AddReg =  igfx_SoftwareDX11Settings
AddReg =  igfx_SoftwareCommonSettings
DelReg =  igfx_RemoveDeviceSettings

DelReg  = CUI.DelReg
DelReg  = CUISDK.DelReg
DelReg  = OpenGL.DelRegSmch

AddReg  = OpenGL.Not_Installed

DelReg = OpenCL.DelReg

AddReg 	= Common_AddSwSettings
DelReg 	= Common_DelSwSettings
AddReg 	= Common_Mobile_AddSwSettings
DelReg 	= Common_Mobile_DelSwSettings

AddReg	 = PwrCons_VLV2_AddSwSettings
DelReg 	 = PwrCons_Generic_DelSwSettings
AddReg	 = AsyncFlips_VLV2_AddSwSettings
DelReg     = AsyncFlips_VLV2_DelSwSettings
AddReg    = igfx_SLT_NB_AddSwSettings
DelReg     = igfx_SLT_NB_DelSwSettings
AddReg    = Enable3DContexts_IVBM0_AddSwSettings
DelReg    = Enable3DContexts_IVBM0_DelSwSettings
AddReg   = DisplayOptimization_VLV2_AddSwSettings
DelReg    = DisplayOptimization_Generic_DelSwSettings
AddReg   = AvoidPPSOutsideModeSet_AddSwSettings
DelReg   = AvoidPPSOutsideModeSet_DelSwSettings

AddReg = igfx_MC_AddSwSettings
DelReg  = igfx_MC_DelSwSettings

AddPowerSetting = PowerPlanSettings

[iVLV2M_w81.HW]
AddReg = igfx_MSI_HardwareDeviceSettings

[iVLV2M_w81.GeneralConfigData]
MaximumNumberOfDevices = 2
MaximumDeviceMemoryConfiguration = 512

[iVLV2M_w81.Services]
AddService = igfx, 0x00000002, igfx_Service_Inst
;=====================================================================
;=====================================================================
; End Device Sections
;=====================================================================

;
; File sections
;
[CUI.DelFiles]
igfxres.dll,,,1

[igfx.Miniport]
igdkmd64.sys

[igfx.UserMode]
igd10iumd64.dll,,,0x00004000  ; COPYFLG_IN_USE_TRY_RENAME
igdusc64.dll,,,0x00004000  ; COPYFLG_IN_USE_TRY_RENAME

[IMOLA9.COPY64]
igdumdim64.dll,,,0x00004000	; COPYFLG_IN_USE_TRY_RENAME

[igfx.UMWow]
igdusc32.dll,,,0x00004000  ; COPYFLG_IN_USE_TRY_RENAME
igd10iumd32.dll,,,0x00004000  ; COPYFLG_IN_USE_TRY_RENAME
igdumdim32.dll,,,0x00004000      ; COPYFLG_IN_USE_TRY_RENAME

[Opm.Copy]

;
; OpenGL Not Installed
;
[OpenGL.Not_Installed]
HKR,,    OpenGLInstalled,        %REG_DWORD%,     0x00      ; Open GL drivers not installed

[OpenGL.DelRegSmch]
HKR,, _oglapp_etqw.exe, %REG_DWORD%, 1
HKR,, _oglapp_cinebench r10.exe, %REG_DWORD%, 1
HKR,, _oglapp_cinebench r10 64bit.exe, %REG_DWORD%, 1
HKR,, _oglapp_UT2004.exe
HKR,, _oglapp_Photoshop.exe
HKR,, _oglapp_GpuCapsViewer.exe
HKR,, _oglapp_brink.exe
HKR,, _oglapp_ugraf.exe

[OpenCL.DelReg]
HKLM,"SOFTWARE\Khronos\OpenCL\Vendors",igdrcl64.dll
HKLM,"SOFTWARE\Wow6432Node\Khronos\OpenCL\Vendors",igdrcl32.dll

[CUI.DelReg]
HKLM,%CUIDeviceIndependentKey%
HKLM,%DisplayKey%
; Delete old style cui/driver share key
HKLM,%CUIDriverOldShareKey%
; Delete old style cui keys which are device dependent
HKLM,Software\INTEL\igfxcui
HKR,igfxdiag
HKR,igfxeud
HKR,igfxcfg
HKR,igfxcpl
HKR,igfxpph
HKR,igfxsrvc
HKR,igfxhk
HKR,hkcmd
HKR,igfxtray
HKR,shellex\PropertySheetHandlers
HKR,, Display1_EnableLFPPrimaryInDDC
;
; Delete the CUI registry entry which registers for winlogon events
;
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\igfxcui"
;=====================================================================
;
; Service Installation
;

[igfx_Service_Inst]
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Video
ServiceBinary  = %12%\igdkmd64.sys

;
; DX11 Capable SKUS
;
[igfx_SoftwareDX11Settings]
HKR,, InstalledDisplayDrivers,     %REG_MULTI_SZ%, igdumdim64, igd10iumd64, igd10iumd64, igdumdim32, igd10iumd32, igd10iumd32
HKR,, UserModeDriverName,        %REG_MULTI_SZ%, igdumdim64.dll, igd10iumd64.dll, igd10iumd64.dll
HKR,, UserModeDriverNameWow,  %REG_MULTI_SZ%, igdumdim32.dll, igd10iumd32.dll, igd10iumd32.dll

[igfx_MC_DelSwSettings]
HKR,, MiracastDriverName

;=====================================================================
; Common Device Settings
;=====================================================================
[igfx_SoftwareCommonSettings]
HKR,, UserModeDriverGUID,       %REG_SZ%, "{6C4BE3D5-831A-42ED-AA62-2AEB34C8CBA4}"
HKR,, MultifunctionSupported,   %REG_DWORD%,    1
HKR,, VgaCompatible,            %REG_DWORD%,    0
HKR,, NativeResolution,         %REG_DWORD%,    1
HKR,, NativeBPP,                %REG_DWORD%,    1
HKR,, ConfigID,                 %REG_DWORD%,    0
HKR,, PC_Release_Major,         %REG_DWORD%,    15           ;Dummy value
HKR,, PC_Release_Minor,         %REG_DWORD%,    26             ;
HKR,, BIOSHPDSupport,           %REG_DWORD%,    00
HKR,, EnableFakeTV,             %REG_DWORD%,    01
HKR,, EnableFakeCRT,            %REG_DWORD%,    01
HKR,, IntelDefaultPers,         %REG_DWORD%,    00
HKR,, ApplyNativeMode,          %REG_DWORD%,    00
HKR,, MPOFeatureEnable,         %REG_DWORD%,    01

; Overlay Specific 
HKR,, Disable_OverlayDSQualityEnhancement,  %REG_DWORD%,     0

; Rotation Specific
HKR,,   Display1_EnableRotation,    %REG_DWORD%,    0x1
HKR,,   Display1_RotationCaps,      %REG_DWORD%,    0x7     ;Portrait, Inverted Landscape, Inverted Portrait
HKR,,   Display2_RotationCaps,      %REG_DWORD%,    0x7     ;Portrait, Inverted Landscape, Inverted Portrait
HKR,,   Display1_IndependentRotation,    %REG_DWORD%,    0x00
HKR,,   Display1_EnableIndependentRotation,    %REG_DWORD%,    0x00
HKR,,   Display1_EnableIDDC_WA,               %REG_DWORD%,    0x00
HKR,,   RotationSPLCase,    %REG_DWORD%,    0x00
HKR,,   SmoothRotationSupport,    %REG_DWORD%,    0x00
HKR,,   Display_EnableSF,    %REG_DWORD%,    0x00
HKR,,   Display_ReservePFForLFP,    %REG_DWORD%,    0x00

; Event Manager Specific
;HKR,,    DisplayPriority,        0x00000001,     0x08, 0x80, 0x01, 0x10, 0x04, 0x40, 0x02, 0x20 ;descending
;HKR,,    EDIDDefaultXX,        %REG_DWORD%,    0x320
;HKR,,    EDIDDefaultYY,        %REG_DWORD%,    0x258
;HKR,,    EDIDDefaultRR,        %REG_DWORD%,    0x3c
;HKR,,    EDIDDefaultBPP,        %REG_DWORD%,    0x20
;HKR,,    LegacyDefaultXX,        %REG_DWORD%,    0x320
;HKR,,    LegacyDefaultYY,        %REG_DWORD%,    0x258
;HKR,,    LegacyDefaultRR,        %REG_DWORD%,    0x3c
;HKR,,    LegacyDefaultBPP,        %REG_DWORD%,    0x20

HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers",UseXPModel,%REG_DWORD%,0
HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Scheduler",EnablePreemption,%REG_DWORD%,1

[igfx_MSI_HardwareDeviceSettings]   ; MSI Support
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1

[igfx_RemoveDeviceSettings]
HKR,, VgaCompatible
HKR,, NativeResolution
HKR,, NativeBPP
HKR,, ConfigID
HKR,, PC_Release_Major
HKR,, PC_Release_Minor
HKR,, ApplyNativeMode
HKR,, MPOFeatureEnable

; Overlay Specific 
HKR,, Disable_OverlayDSQualityEnhancement

; Rotation Specific
HKR,,   Display1_EnableRotation
HKR,,   Display1_RotationCaps
HKR,,   Display2_RotationCaps
HKR,,   Display1_IndependentRotation
HKR,,   Display1_EnableIndependentRotation
HKR,,   Display1_EnableIDDC_WA
HKR,,   RotationSPLCase
HKR,,   SmoothRotationSupport

; Event Manager Specific
HKR,,    DisplayPriority
HKR,,     EDIDDefaultXX
HKR,,    EDIDDefaultYY
HKR,,    EDIDDefaultRR
HKR,,    EDIDDefaultBPP
HKR,,    LegacyDefaultXX
HKR,,    LegacyDefaultYY
HKR,,    LegacyDefaultRR
HKR,,    LegacyDefaultBPP

HKR,,    AStatePersistence
HKR,,    PerUserPersistence
HKR,,    UseBIOSDataforDock
HKR,,    HpDock
HKR,,    TMM_Active
HKR,,    RequestSig
HKR,,    RequestedXRes
HKR,,    RequestedYRes
HKR,,    RequestedBPP
HKR,,    RequestedRate

HKR,,    HotKeyPersistence
HKR,,    HotKeyPersistMDS
HKR,,    LidPersistence
HKR,,    DockPersistence
HKR,,    HotPlugPersistence
HKR,,    PowerPersistence
HKR,,    EdidPersistence
HKR,,    LFPAlwaysPrimary
HKR,,    OpenGLInstalled

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;  Common RegKey Sections
;  Many of the legacy RegKey sections have been combined into single sections called by 
;  the Device Sections. The original old RegKey section names are  preserved for 
;  documentation. Example  ; <-NonEDIDMode_AddSwSettings-> is the comment for 
;  [NonEDIDMode_AddSwSettings]
;  DO NOT touch these. DO NOT try to make them work as before.
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;=====================================================================
; Common AddReg Section
;=====================================================================
[Common_AddSwSettings]

; <-NonEDIDMode_AddSwSettings-> 
HKR,, TotalDTDCount, %REG_DWORD%, 0      ; This shows number of DTDs to be used. ;  0-- Disable the feature.
;Following keys have 20 bytes (18 byte DTD + 2 Byte flags)
;the 2 bytes are as follows
; First byte
;Bit 0 -> 8Bpp Support Bit; 0-Disabled, 1-Enabled
;Bit 1 -> 16Bpp Support Bit; 0-Disabled, 1-Enabled
;Bit 2 -> 32Bpp Support Bit; 0-Disabled, 1-Enabled
;Bit 3 ->	 Bit 3 Reserved for any new BPP mask.
;Bit 4 -> Bit for DFP Support ; 0-Disabled, 1-Enabled
;Bit 5 -> Bit for CRT Support ; 0-Disabled, 1-Enabled
;Bit 6-7 -> Bits 7-6 Reserved for Device Masks, must be 0
;Second Byte
;Bit 0 -> DTD timing is added forcefully, even if timing is present in EDID.
;Bit 1-7 -> Reserved Bits for any new masks
HKR,, DTD_1,%REG_BINARY%, 01,1D,80,18,71,1C,16,20,58,2C,1A,00,00,00,00,00,00,86,37,01        ;1920x1080@60...Interlaced
HKR,, DTD_2, %REG_BINARY%, 01,1D,80,D0,72,1C,16,20,10,2C,1A,80,00,00,00,00,00,86,37, 01        ;1920x1080@50...Interlaced
HKR,, DTD_3,%REG_BINARY%, 01,1D,00,BC,52,D0,1E,20,B8,28,25,40,00,00,00,00,00,04,37, 01        ;1280x720@50....Non-interlaced
HKR,, DTD_4, %REG_BINARY%, 01,1D,00,72,51,D0,1E,20,6E,28,25,00,00,00,00,00,00,06,37,01        ;1280x720@60....Non-interlaced
HKR,, DTD_5,%REG_BINARY%, 00, 00, 00 ,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00    ;Fifth DTD

; <-CRTHotPlugDefaultVrefVoltage_AddSwSettings->
HKR,, Display1_EnableCRTHotPlugDefaultVrefVoltage,    %REG_DWORD%, 1      ; 1 - Enable(Default Value) and 0 - Disable(Customized Value)

; <-DelayedDetectionForDP_AddSwSettings-> 
HKR,, DelayedDetectionForDP,%REG_DWORD%, 500          ; Delay in ms Range - 0 - 1000

; <-DelayedDetectionForHDMI_AddSwSettings-> 
HKR,, DelayedDetectionForHDMI,%REG_DWORD%, 1000      ; Delay in ms Range - 0 - 1000

; <-EnableHDMIUnderScan_AddSwSettings->  
HKR,, EnableHDMIUnderScan,%REG_DWORD%, 1        ; 1 - UnderScan and 0 - OverScan 

;    OPTIONS FOR HOTPLUG THROUGH INF
;2 - Apply selected logic selected in VBT
;0 - Disable Hot Plug
;1 - Enable Hot Plug
;NOTE: Enable "INF_VBT_Override_EnableFeature" flag to use below given INF entries
; <-INFHotPlug_AddSwSettings->
HKR,, HotPlug_DVO_SDVO,%REG_DWORD%, 2 
HKR,, HotPlug_CRT,%REG_DWORD%, 2

; <-OEMStaticMode_AddSwSettings->
HKR,, TotalStaticModes, %REG_DWORD%, 0    ; This shows number of Static modes to be used.
;TotalStaticModes = 0-->Disable the feature.
;Following keys have 8 bytes:
; 2B XRes + 2B YRes
; + 2B RRMask (Bit 0 - 60, 1 -70, 2 - 72, 3 - 75, 4 - 85,5 - 100,6 - 120,7-15 reserved)
; + 1B BppMask(Bit 0 - 8bpp,1 - 16bpp,2 - 32bpp, 3-7 reserved)
; + 1B reserved.
; all values in Hex; l->low byte, h->high byte
;Examples:
;                                   xl xh yl yh rl rh bp Rv
;HKR,, STATIC_MODE_1,%REG_BINARY%, 20,03,58,02,03,00,07,0F ;8x6 60,70
;HKR,, STATIC_MODE_2,%REG_BINARY%, 20,03,58,02,20,00,04,0F ;8x6 100 : 32bpp

; <-MediaRefreshRateMode_AddSwSettings->
HKR,, MediaRefreshRateMask, %REG_DWORD%, 0 ; Mask to enable media refresh rates BIT0 - LFP BIT1-7 :Reserved

; <-HDMI_VSI_AddSwSettings->
HKR,, SPDIFVendorName,%REG_SZ%, "Intel" ; max 8 characters
HKR,, SPDIFVendorDesc,%REG_SZ%, "9xxxx" ; max 16 characters
HKR,, HDMI_OptionalIFPriority,%REG_DWORD%, 0x21 ; default to priority 1 for SPD Infoframe and priority 2 for VS Infoframe
HKR,, HDMI_SupportCEA861D,%REG_DWORD%, 0 ;To enable support for 861D spec, 1-Support IT Content and RGB Quantization, 0- No 861D support. Default to 0.

; <-Underscan_AddSwSettings->
;HDMI
HKR,, Display1_AddUnderscanPercentageHDMI,%REG_DWORD%, 0  ; 0 - default 7.5% under scan and OEM's can give under scan like 8,9 an 10 ..

; <-IncFixedSegWA_AddSwSettings->
HKR,, IncreaseFixedSegment,%REG_DWORD%, 0   ; 0 - disabled, 1- enabled  
      
; <-DeepColorHDMI_AddSwSettings->
HKR,, DeepColorHDMIDisable,%REG_DWORD%, 0 ; 0- Enable Deep Color, 1 - Disable Deep Color

; <-WGFeature_AddSwSettings->
HKR,, WideGamutFeatureEnable,%REG_DWORD%, 0x00 ; 0x01- Enable for LFP, 0x02 - Enable for DP, 0x04 - Enable for HDMI... 
; When Wide Gamut feature is enabled, Hue and Saturation feature is disabled and xvYCC / Ycbcr is also disabled on HDMI

;<-NarrowGamut_AddSwSettings->
HKR,,   NarrowGamutSplitGammaEnable,    %REG_DWORD%,    0x00 ;0x1 - Enable 0x0 - Disable 
;For Enabling Split Gamma in Narrow Gamut Feature , by default its disabled

; <-PdTogglingTimer_AddSwSettings->
HKR,, PdTogglingTimerValue,%REG_DWORD%, 0xBF ;increasing the delay value.

; <-eDPNoFLT_AddSwSettings
;If this Registry is set to 1 then it will ignore the Fast Link Training and will always do Normal Link Training everytime
HKR,, NoFastLinkTrainingForeDP, %REG_DWORD%, 1

; <-igfx_TPV_AddSwSettings
HKR,, TPVSolutionEnabled,       %REG_DWORD%,    1
HKR,, MAXViews,                 %REG_DWORD%,    2 
HKR,, MAXDevicesInView,         %REG_DWORD%,    2 
HKR,, MAXIntelDevicesActive,    %REG_DWORD%,    2 
HKR,, MAXOtherDevicesActive,    %REG_DWORD%,    4
HKR,, IsExtCloneSuppt,          %REG_DWORD%,    0

;=====================================================================
; Common Mobile AddReg Section
;=====================================================================
[Common_Mobile_AddSwSettings]
; <-PNM_AddSwSettings->
HKR,, PNMClkDeviation, %REG_DWORD%, 0   ;Clock deviation value which is multiplied by 10.
HKR,, PNMFlags, %REG_DWORD%, 0   ; Bit0:Downward Deviation, Bit1: Upward Deviation. Bit2-31: Reserved.

; <-General_AddSwSettings->
HKR,, ModeEnumerationPreference,%REG_DWORD%, 0xFFFFFFFF     ; BitMask for Displays. If Set to 1, it indicates OEM Mode is preferred over EDID.
; Default Value is OEM is preferred over EDID
; Bit 0- CRT:Bit 2- DFP:Bit 1 and 3 reserved.

; <-PwrCons_DPS_AddSwSettings->
HKR,, DPSCheckboxDefault,%REG_DWORD%, 0x1
HKR,, DPSBaseLoRRValue,%REG_DWORD%, 0x0
HKR,, Display1_DPSPanel_Type,%REG_DWORD%, 0xFF ;Normal/Static DRRS = 0, Seamless = 2, or Disable INF option = 0xFF
HKR,, DPSMotionArtifactMitigation,%REG_DWORD%, 0x1
HKR,, SupportForStaticDRRS,%REG_DWORD%, 0x0

; <-DynamicMediaRefreshRate_AddSwSettings->
HKR,, MediaRefreshRateSupport,%REG_DWORD%, 0x3F     ;  bit7: reserved(0), bit6: reserved(0), bit5: 60 Hz , bit4: 50 Hz
                                                    ;  bit3: 48 Hz, bit2: 30 Hz, bit1: 25 Hz, bit0: 24 Hz

; <-IntLVDSSwing_AddSwSettings->
;0x00 - Medium - Data and Clk Swing set to 298 mV
;0x01 - High - Data and Clk Swing set to 320 mV
;0x02 - Low1 - Data and Clk Swing set to 144 mV
;0x04 - Low2 - Data and Clk Swing set to 170 mV
;0x08 - Low3 - Data and Clk Swing set to 196 mV
;0x10 - Low4 - Data and Clk Swing set to 220 mV
;0x20 - Low5 - Data and Clk Swing set to 247 mV
;0x40 - Low6 - Data and Clk Swing set to 273 mV
HKR,, IntLVDSSwingSetting,%REG_DWORD%, 0x00 

;=====================================================================
; Common Desktop AddReg Section
;=====================================================================
[Common_DT_AddSwSettings]
; <-FakeEDID_AddSwSettings->
;EDID modified with private DTD for 357MHz max pixel rate, for eDP on Port D
HKR,, FakeEDID_14_0_af0d_1723,%REG_BINARY%,0,FF,FF,FF,FF,FF,FF,0,D,AF,23,17,0,0,0,0,2,15,1,4,95,26,15,78,2,D1,F5,93,5D,59,90,26,1D,50,54,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1D,36,80,A0,70,38,1E,40,2E,1E,24,0,7E,D7,10,0,0,18,0,0,0,5,0,74,8B,80,50,70,38,97,41,8,40,6,0,0,0,0,0,FE,0,43,4D,49,A,20,20,20,20,20,20,20,20,20,0,0,0,FE,0,4E,31,37,33,48,48,46,2D,45,32,31,20,20,0,39
HKR,, ReadEDIDFromRegistry, %REG_DWORD%, 1

;=====================================================================
; Common DelReg Section
;=====================================================================
[Common_DelSwSettings]

; <-NonEDIDMode_DelSwSettings 
HKR,, TotalDTDCount
HKR,, DTD_1
HKR,, DTD_2
HKR,, DTD_3
HKR,, DTD_4
HKR,, DTD_5
; <-CRTHotPlugDefaultVrefVoltage_DelSwSettings 
HKR,, Display1_EnableCRTHotPlugDefaultVrefVoltage

; <-DelayedDetectionForDP_DelSwSettings 
HKR,, DelayedDetectionForDP

; <-DelayedDetectionForHDMI_DelSwSettings 
HKR,, DelayedDetectionForHDMI

; <-EnableHDMIUnderScan_DelSwSettings  
HKR,, EnableHDMIUnderScan 

; <-INFVBTOverride_DelSwSettings 
HKR,, INF_VBT_Override_EnableFeature

; <-INFHotPlug_DelSwSettings 
HKR,,HotPlug_DVO_SDVO
HKR,,HotPlug_CRT

; <-OEMStaticMode_DelSwSettings 
;HKR,, STATIC_MODE_1
;HKR,, STATIC_MODE_2

; <-MediaRefreshRateMode_DelSwSettings 
HKR,, MediaRefreshRateMask

; <-HDMI_VSI_DelSwSettings 
HKR,, SPDIFVendorName
HKR,, SPDIFVendorDesc
HKR,, HDMI_OptionalIFPriority
HKR,, HDMI_SupportCEA861D

; <-HotPlug_DelSwSettings 
HKR,, Display1_DVIHotPlugWAFlag

; <-Underscan_DelSwSettings 
HKR,, Display1_AddUnderscanPercentageHDMI

; <-IncFixedSegWA_DelSwSettings 
HKR,, IncreaseFixedSegment

; <-DeepColorHDMI_DelSwSettings 
HKR,, DeepColorHDMIDisable

; <-WGFeature_DelSwSettings 
HKR,, WideGamutFeatureEnable

;<-NarrowGamut_DelSwSettings>
HKR,,   NarrowGamutSplitGammaEnable

; <-PdTogglingTimer_DelSwSettings 
HKR,, PdTogglingTimerValue

; <-DualLFPRCR_DelSwSettings 
HKR,, DualLFPEnable

; <-eDPNoFLT_DelSwSettings
HKR,, NoFastLinkTrainingForeDP

; <-igfx_TPV_DelSwSettings
HKR,, TPVSolutionEnabled
HKR,, MAXViews
HKR,, MAXDevicesInView
HKR,, MAXIntelDevicesActive
HKR,, MAXOtherDevicesActive
HKR,, IsExtCloneSuppt

;=====================================================================
; Common Mobile DelReg Section
;=====================================================================
[Common_Mobile_DelSwSettings]
; <-PNM_DelSwSettings 
HKR,, PNMClkDeviation
HKR,, PNMFlags

; <-PwrCons_DPS_DelSwSettings 
HKR,, DPSCheckboxDefault
HKR,, DPSControlMode
HKR,, DPSBaseLoRRValue
HKR,, Display1_DPSPanel_Type
HKR,, DPSMotionArtifactMitigation
HKR,, SupportForStaticDRRS

; <-DynamicMediaRefreshRate_DelSwSettings
HKR,, MediaRefreshRateSupport

; <-FakeISV_DelSwSettings 
HKR,, FakeISV

; <-IntLVDSSwing_DelSwSettings 
HKR,, IntLVDSSwingSetting

; <-General_DelSwSettings 
HKR,, ModeEnumerationPreference

;=====================================================================
; Common Desktop DelReg Section
;=====================================================================
[Common_DT_DelSwSettings]
; <-FakeEDID_DelSwSettings 
HKR,, FakeEDID_14_0_af0d_1723
HKR,, ReadEDIDFromRegistry

;=====================================================================
;  Device Specific RegKeys Section
;=====================================================================

[Enable3DContexts_IVBM0_AddSwSettings]
; Game apps settings
HKR,, SupportAIL, %REG_DWORD%, 1
HKR,, @fifa.exe, %REG_DWORD%, 1
HKR,, @mnc.exe, %REG_DWORD%, 1
HKR,, @bf3.exe, %REG_DWORD%, 1
HKR,, @bf2.exe, %REG_DWORD%, 1
HKR,, @CivilizationV_DX11.exe, %REG_DWORD%, 1
HKR,, @NFS11.exe, %REG_DWORD%, 1
HKR,, @SSFIV.exe, %REG_DWORD%, 1
HKR,, @CoJGunslinger.exe, %REG_DWORD%, 1
HKR,, @F1_2012.exe, %REG_DWORD%, 1
HKR,, @Dishonored.exe, %REG_DWORD%, 1
HKR,, @AAGame.exe, %REG_DWORD%, 1
HKR,, @gta_sa.exe, %REG_DWORD%, 1

[Enable3DContexts_IVBM0_DelSwSettings]
; Game apps settings
HKR,, SupportAIL
HKR,, @fifa.exe 
HKR,, @mnc.exe
HKR,, @bf3.exe
HKR,, @bf2.exe
HKR,, @CivilizationV_DX11.exe 
HKR,, @NFS11.exe 
HKR,, @SSFIV.exe 
HKR,, @CoJGunslinger.exe 
HKR,, @F1_2012.exe, %REG_DWORD%
HKR,, @Dishonored.exe, %REG_DWORD%
HKR,, @AAGame.exe, %REG_DWORD%
HKR,, @gta_sa.exe, %REG_DWORD%

[XVYCCFeature_AddSwSettings]
HKR,, XVYCCFeatureEnable,%REG_DWORD%, 0x01 ; 0x00- Disable, 0x01 - Enable... 
                       ; When XVYCC feature is enabled, on corresponding display Hue and Saturation feature is disabled
[XVYCCFeature_DelSwSettings]
HKR,, XVYCCFeatureEnable

[AUDIOWOVIDEOSupport_AddSwSettings]
HKR,, AudioWoVideoSupport,%REG_DWORD%, 0x01 ; 0x01- Enable, 0x00 - Disable
HKR,, AudioWoVideoStatus,%REG_DWORD%, 0x00 ; 0x01- Enable, 0x00 - Disable 

[AUDIOWOVIDEOSupport_DelSwSettings]
HKR,, AudioWoVideoSupport
HKR,, AudioWoVideoStatus

[AUDIOPERSISTENCE_AddSwSettings]
HKR,, DefaultAudioPolicyForClone,%REG_DWORD%, 0x01  ; 0x01- Cloned Audio Policy, 0x02 - Independent Audio Policy
HKR,, DefaultAudioPolicyForEDS,%REG_DWORD%, 0x02     ; 0x01- Cloned Audio Policy, 0x02 - Independent Audio Policy
HKR,, DriverUpgradeKey,%REG_DWORD%, 0x01                  ; 0x01 - Driver Upgrade , Other values - Reboot
HKR,, AudioPointAggregationDelay,%REG_DWORD%, 0x0F ; Delay in ms
HKR,, BasicAudioSupportForHDMI,%REG_DWORD%, 0x0    ; Default is 0. OEMs to make it one to explicitly check for this bit.
HKR,, AudioControllerEnableDelay,%REG_DWORD%, 0x1F4 ;Delay in ms
HKR,, AudioDisableInCSSupport,%REG_DWORD%, 0x0 ; 0x0 - No audio disabling in CS. 0x1 - OEMS have to explicitly set it to 1.

[AUDIOPERSISTENCE_DelSwSettings]
HKR,, DefaultAudioPolicyForClone
HKR,, DefaultAudioPolicyForEDS
HKR,, DriverUpgradeKey
HKR,, AudioPointAggregationDelay
HKR,, BasicAudioSupportForHDMI
HKR,, AudioControllerEnableDelay
HKR,, AudioDisableInCSSupport

[AUDIO_DT_WA_AddSwSettings]
HKR,, KeepAudioHwEnableInDT,%REG_DWORD%, 0x00 ; 0x01- Enable, 0x00 - Disable

[AUDIO_DT_WA_DelSwSettings]
HKR,, KeepAudioHwEnableInDT

[AvoidPPSOutsideModeSet_AddSwSettings]
HKR,, AvoidPPSOutsideModeSet, %REG_DWORD%, 0x1 

[AvoidPPSOutsideModeSet_DelSwSettings]
HKR,, AvoidPPSOutsideModeSet

[PwrCons_VLV2_AddSwSettings]
HKR,, FeatureTestControl,%REG_DWORD%, 0xF000 

[DisplayOptimization_VLV2_AddSwSettings]
;BIT0: Fastmodeset,  BIT1 : T3 Optimization, BIT2 : Power off optimization
HKR,, DisplayOptimizations, %REG_DWORD%, 0x19 

[AsyncFlips_VLV2_AddSwSettings]
HKR,, Display1_DisableAsyncFlips,%REG_DWORD%, 1          ; 1 - Disable and 0 - Enable

[AsyncFlips_VLV2_DelSwSettings]
HKR,, Display1_DisableAsyncFlips


[PwrCons_Generic_DelSwSettings]
HKR,, FeatureTestControl

[PwrCons_UserPolicy_DelSwSettings]
HKR,, ACPowerPolicyVersion
HKR,, DCPowerPolicyVersion
HKR,, PowerAcPolicy
HKR,, PowerDcPolicy
HKR,, ACUserPreferencePolicy
HKR,, DCUserPreferencePolicy
HKR,, ACSettingIndex
HKR,, DCSettingIndex
HKR,, TurboAcPolicy
HKR,, TurboDcPolicy
HKR,, PowerDpstAggressivenessLevel
HKR,, PowerGpsAggressivenessLevel

[DisplayOptimization_Generic_DelSwSettings]
HKR,, DisplayOptimizations
;
; Auto Notebook\Slate Convertible Specific Settings
;
[igfx_SLT_NB_AddSwSettings]
;HKR,, ConvertibleSupport,       %REG_DWORD%,    0
;HKR,, KeySltDockSupport,        %REG_DWORD%,    0
;HKR,, KeyButtonSupport,         %REG_DWORD%,    0

[igfx_SLT_NB_DelSwSettings]
;HKR,, ConvertibleSupport
;HKR,, KeySltDockSupport
;HKR,, KeyButtonSupport

;=====================================================================
; End Device specific settings
;=====================================================================

;=====================================================================
; Source file information
;=====================================================================
[SourceDisksNames]
1 = %DiskId%

[SourceDisksFiles]
igdkmd64.sys  = 1
igd10iumd32.dll = 1
igd10iumd64.dll = 1
igdusc32.dll = 1
igdusc64.dll = 1
igdumdim32.dll = 1
igdumdim64.dll = 1

[CUISDK.DelReg]
HKR,Igfxext
;  
; End CUI Registry Sections
;
[PowerPlanSettings]
;Intel Graphics Power Plan
Subgroup = {44F3BECA-A7C0-460e-9DF2-BB8B99E0CBA6}, "Intel(R) Graphics Settings", "Configure Intel(R) Graphics Settings"
Setting = {3619C3F2-AFB2-4afc-B0E9-E7FEF372DE36},"Intel(R) Graphics Power Plan", "Configure Intel(R) Graphics Power Plan"

Value = 0, "Maximum Battery Life", "Maximum Battery Life", %REG_DWORD%, 0
Value = 1, "Balanced", "Balanced", %REG_DWORD%, 1
Value = 2, "Maximum Performance", "Maximum Performance", %REG_DWORD%, 2

Default = %GUID_MAX_POWER_SAVINGS%, %AC%, 0
Default = %GUID_MAX_POWER_SAVINGS%, %DC%, 0
Default = %GUID_TYPICAL_POWER_SAVINGS%, %AC%, 1
Default = %GUID_TYPICAL_POWER_SAVINGS%, %DC%, 1 
Default = %GUID_MIN_POWER_SAVINGS%, %AC%, 2
Default = %GUID_MIN_POWER_SAVINGS%, %DC%, 2

[Strings]
;DPPE
GUID_MAX_POWER_SAVINGS = "{a1841308-3541-4fab-bc81-f71556f20b4a}"
GUID_TYPICAL_POWER_SAVINGS = "{381b4222-f694-41f0-9685-ff5bb260df2e}"
GUID_MIN_POWER_SAVINGS = "{8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}"
AC = 0
DC = 1

;
; Customizable Strings
;
CUIDeviceIndependentKey="Software\Intel\Display\igfxcui"
DisplayKey="Software\Intel\Display"
CUIDriverOldShareKey="Software\Intel\CUI"
;
; Non-Localizable Strings
;
REG_SZ         = 0x00000000
REG_SZNAT      = 0x00020007
REG_MULTI_SZ   = 0x00010000
REG_DWORD      = 0x00010001
REG_BINARY     = 0x00000001
SERVICEROOT    = "System\CurrentControlSet\Services"
;
; Localizable Strings
;
DiskId      	 = "Intel(R) Graphics Media Accelerator Driver for Windows"
Intel        		= "Intel Corporation"
iVLVGMT0    	= "(PE64) Intel(R) Bay Trail HD Graphics"
;
; Do not modify or copy the following line
; set SIGNING_KEY_VERSION=2
;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 