Shader "Hidden/TonemappingColorGrading" {
	Properties {
		_MainTex ("Texture", 2D) = "white" {}
	}
	SubShader {
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 34223
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[9];
						vec3 _WhiteBalance;
						vec3 _Lift;
						vec3 _Gamma;
						vec3 _Gain;
						vec3 _ContrastGainGamma;
						float _Vibrance;
						vec3 _HSV;
						vec3 _ChannelMixerRed;
						vec3 _ChannelMixerGreen;
						vec3 _ChannelMixerBlue;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _CurveTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = dot(vec3(0.390404999, 0.549941003, 0.00892631989), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.070841603, 0.963172019, 0.00135775004), u_xlat0.xyz);
					    u_xlat1.z = dot(vec3(0.0231081992, 0.128021002, 0.936245024), u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat1.xyz * _WhiteBalance.xyz;
					    u_xlat1.x = dot(vec3(2.85846996, -1.62879002, -0.0248910002), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(-0.210181996, 1.15820003, 0.000324280991), u_xlat0.xyz);
					    u_xlat1.z = dot(vec3(-0.0418119989, -0.118169002, 1.06867003), u_xlat0.xyz);
					    u_xlat0.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Gamma.xyz;
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = _Lift.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Gain.xyz;
					    u_xlat0.xyw = max(u_xlat0.yzx, vec3(0.0, 0.0, 0.0));
					    u_xlatb1.x = u_xlat0.x>=u_xlat0.y;
					    u_xlat1.x = u_xlatb1.x ? 1.0 : float(0.0);
					    u_xlat2.xy = u_xlat0.yx;
					    u_xlat3.xy = u_xlat0.xy + (-u_xlat2.xy);
					    u_xlat2.z = float(-1.0);
					    u_xlat2.w = float(0.666666687);
					    u_xlat3.z = float(1.0);
					    u_xlat3.w = float(-1.0);
					    u_xlat1 = u_xlat1.xxxx * u_xlat3 + u_xlat2;
					    u_xlatb2 = u_xlat0.w>=u_xlat1.x;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat0.xyz = u_xlat1.xyw;
					    u_xlat1.xyw = u_xlat0.wyx;
					    u_xlat1 = (-u_xlat0) + u_xlat1;
					    u_xlat0 = u_xlat2.xxxx * u_xlat1.yxzw + u_xlat0.yxzw;
					    u_xlat1.x = min(u_xlat0.x, u_xlat0.w);
					    u_xlat1.x = u_xlat0.y + (-u_xlat1.x);
					    u_xlat5.x = u_xlat1.x * 6.0 + 9.99999975e-05;
					    u_xlat12 = (-u_xlat0.x) + u_xlat0.w;
					    u_xlat12 = u_xlat12 / u_xlat5.x;
					    u_xlat8 = u_xlat12 + u_xlat0.z;
					    u_xlat8 = abs(u_xlat8) + _HSV.x;
					    u_xlat12 = floor(u_xlat8);
					    u_xlat8 = (-u_xlat12) + u_xlat8;
					    u_xlat5.xyz = vec3(u_xlat8) + vec3(1.0, 0.666666687, 0.333333343);
					    u_xlat5.xyz = fract(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(6.0, 6.0, 6.0) + vec3(-3.0, -3.0, -3.0);
					    u_xlat5.xyz = abs(u_xlat5.xyz) + vec3(-1.0, -1.0, -1.0);
					    u_xlat5.xyz = clamp(u_xlat5.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat8 = u_xlat0.y + 9.99999975e-05;
					    u_xlat0.x = u_xlat1.x / u_xlat8;
					    u_xlat0.xy = u_xlat0.xy * _HSV.yz;
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat5.xyz + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xzw * u_xlat0.yyy;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = max(u_xlat0.z, u_xlat0.y);
					    u_xlat12 = max(u_xlat12, u_xlat0.x);
					    u_xlat1.x = min(u_xlat0.z, u_xlat0.y);
					    u_xlat1.x = min(u_xlat0.x, u_xlat1.x);
					    u_xlat12 = u_xlat12 + (-u_xlat1.x);
					    u_xlati1 = int((0.0<_Vibrance) ? 0xFFFFFFFFu : uint(0));
					    u_xlati5 = int((_Vibrance<0.0) ? 0xFFFFFFFFu : uint(0));
					    u_xlati1 = (-u_xlati1) + u_xlati5;
					    u_xlat1.x = float(u_xlati1);
					    u_xlat12 = (-u_xlat1.x) * u_xlat12 + 1.0;
					    u_xlat12 = _Vibrance * u_xlat12 + 1.0;
					    u_xlat1.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat0.xyz = u_xlat0.xyz + (-u_xlat1.xxx);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz + u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat0.xyz = u_xlat0.xyz * _ContrastGainGamma.xxx + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlatb1.xyz = lessThan(u_xlat0.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					    u_xlat2.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _ContrastGainGamma.yyy;
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * _ContrastGainGamma.yyy;
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat12 = exp2(_ContrastGainGamma.y);
					    u_xlat12 = u_xlat12 * 0.5;
					    u_xlat2.xyz = (-u_xlat2.xyz) * vec3(u_xlat12) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat0.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat0.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat0.z : u_xlat2.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _ContrastGainGamma.zzz;
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat1.x = dot(u_xlat0.xyz, _ChannelMixerRed.xyz);
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.5);
					    u_xlat2 = texture(_CurveTex, u_xlat1.xy).xywz;
					    u_xlat2.y = float(0.5);
					    u_xlat2.w = float(0.5);
					    u_xlat3 = texture(_CurveTex, u_xlat2.zw);
					    SV_Target0.x = u_xlat3.x;
					    u_xlat9.x = dot(u_xlat0.xyz, _ChannelMixerGreen.xyz);
					    u_xlat2.x = dot(u_xlat0.xyz, _ChannelMixerBlue.xyz);
					    u_xlat0 = texture(_CurveTex, u_xlat2.xy).xywz;
					    u_xlat1 = texture(_CurveTex, u_xlat9.xy);
					    u_xlat0.x = u_xlat1.w;
					    u_xlat0.y = float(0.5);
					    u_xlat0.w = float(0.5);
					    u_xlat1 = texture(_CurveTex, u_xlat0.xy);
					    u_xlat0 = texture(_CurveTex, u_xlat0.zw);
					    SV_Target0.z = u_xlat0.z;
					    SV_Target0.y = u_xlat1.y;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[9];
						vec3 _WhiteBalance;
						vec3 _Lift;
						vec3 _Gamma;
						vec3 _Gain;
						vec3 _ContrastGainGamma;
						float _Vibrance;
						vec3 _HSV;
						vec3 _ChannelMixerRed;
						vec3 _ChannelMixerGreen;
						vec3 _ChannelMixerBlue;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _CurveTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					int u_xlati1;
					bvec3 u_xlatb1;
					vec4 u_xlat2;
					bool u_xlatb2;
					vec4 u_xlat3;
					vec3 u_xlat5;
					int u_xlati5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = dot(vec3(0.390404999, 0.549941003, 0.00892631989), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.070841603, 0.963172019, 0.00135775004), u_xlat0.xyz);
					    u_xlat1.z = dot(vec3(0.0231081992, 0.128021002, 0.936245024), u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat1.xyz * _WhiteBalance.xyz;
					    u_xlat1.x = dot(vec3(2.85846996, -1.62879002, -0.0248910002), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(-0.210181996, 1.15820003, 0.000324280991), u_xlat0.xyz);
					    u_xlat1.z = dot(vec3(-0.0418119989, -0.118169002, 1.06867003), u_xlat0.xyz);
					    u_xlat0.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xyz * _Gamma.xyz;
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = _Lift.xyz * u_xlat1.xyz + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * _Gain.xyz;
					    u_xlat0.xyw = max(u_xlat0.yzx, vec3(0.0, 0.0, 0.0));
					    u_xlatb1.x = u_xlat0.x>=u_xlat0.y;
					    u_xlat1.x = u_xlatb1.x ? 1.0 : float(0.0);
					    u_xlat2.xy = u_xlat0.yx;
					    u_xlat3.xy = u_xlat0.xy + (-u_xlat2.xy);
					    u_xlat2.z = float(-1.0);
					    u_xlat2.w = float(0.666666687);
					    u_xlat3.z = float(1.0);
					    u_xlat3.w = float(-1.0);
					    u_xlat1 = u_xlat1.xxxx * u_xlat3 + u_xlat2;
					    u_xlatb2 = u_xlat0.w>=u_xlat1.x;
					    u_xlat2.x = u_xlatb2 ? 1.0 : float(0.0);
					    u_xlat0.xyz = u_xlat1.xyw;
					    u_xlat1.xyw = u_xlat0.wyx;
					    u_xlat1 = (-u_xlat0) + u_xlat1;
					    u_xlat0 = u_xlat2.xxxx * u_xlat1.yxzw + u_xlat0.yxzw;
					    u_xlat1.x = min(u_xlat0.x, u_xlat0.w);
					    u_xlat1.x = u_xlat0.y + (-u_xlat1.x);
					    u_xlat5.x = u_xlat1.x * 6.0 + 9.99999975e-05;
					    u_xlat12 = (-u_xlat0.x) + u_xlat0.w;
					    u_xlat12 = u_xlat12 / u_xlat5.x;
					    u_xlat8 = u_xlat12 + u_xlat0.z;
					    u_xlat8 = abs(u_xlat8) + _HSV.x;
					    u_xlat12 = floor(u_xlat8);
					    u_xlat8 = (-u_xlat12) + u_xlat8;
					    u_xlat5.xyz = vec3(u_xlat8) + vec3(1.0, 0.666666687, 0.333333343);
					    u_xlat5.xyz = fract(u_xlat5.xyz);
					    u_xlat5.xyz = u_xlat5.xyz * vec3(6.0, 6.0, 6.0) + vec3(-3.0, -3.0, -3.0);
					    u_xlat5.xyz = abs(u_xlat5.xyz) + vec3(-1.0, -1.0, -1.0);
					    u_xlat5.xyz = clamp(u_xlat5.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat5.xyz + vec3(-1.0, -1.0, -1.0);
					    u_xlat8 = u_xlat0.y + 9.99999975e-05;
					    u_xlat0.x = u_xlat1.x / u_xlat8;
					    u_xlat0.xy = u_xlat0.xy * _HSV.yz;
					    u_xlat0.xzw = u_xlat0.xxx * u_xlat5.xyz + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = u_xlat0.xzw * u_xlat0.yyy;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat12 = max(u_xlat0.z, u_xlat0.y);
					    u_xlat12 = max(u_xlat12, u_xlat0.x);
					    u_xlat1.x = min(u_xlat0.z, u_xlat0.y);
					    u_xlat1.x = min(u_xlat0.x, u_xlat1.x);
					    u_xlat12 = u_xlat12 + (-u_xlat1.x);
					    u_xlati1 = int((0.0<_Vibrance) ? 0xFFFFFFFFu : uint(0));
					    u_xlati5 = int((_Vibrance<0.0) ? 0xFFFFFFFFu : uint(0));
					    u_xlati1 = (-u_xlati1) + u_xlati5;
					    u_xlat1.x = float(u_xlati1);
					    u_xlat12 = (-u_xlat1.x) * u_xlat12 + 1.0;
					    u_xlat12 = _Vibrance * u_xlat12 + 1.0;
					    u_xlat1.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat0.xyz = u_xlat0.xyz + (-u_xlat1.xxx);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz + u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.5, -0.5, -0.5);
					    u_xlat0.xyz = u_xlat0.xyz * _ContrastGainGamma.xxx + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlatb1.xyz = lessThan(u_xlat0.xyzx, vec4(0.5, 0.5, 0.5, 0.0)).xyz;
					    u_xlat2.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _ContrastGainGamma.yyy;
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * _ContrastGainGamma.yyy;
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat12 = exp2(_ContrastGainGamma.y);
					    u_xlat12 = u_xlat12 * 0.5;
					    u_xlat2.xyz = (-u_xlat2.xyz) * vec3(u_xlat12) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    {
					        vec4 hlslcc_movcTemp = u_xlat0;
					        hlslcc_movcTemp.x = (u_xlatb1.x) ? u_xlat0.x : u_xlat2.x;
					        hlslcc_movcTemp.y = (u_xlatb1.y) ? u_xlat0.y : u_xlat2.y;
					        hlslcc_movcTemp.z = (u_xlatb1.z) ? u_xlat0.z : u_xlat2.z;
					        u_xlat0 = hlslcc_movcTemp;
					    }
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * _ContrastGainGamma.zzz;
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat1.x = dot(u_xlat0.xyz, _ChannelMixerRed.xyz);
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.5);
					    u_xlat2 = texture(_CurveTex, u_xlat1.xy).xywz;
					    u_xlat2.y = float(0.5);
					    u_xlat2.w = float(0.5);
					    u_xlat3 = texture(_CurveTex, u_xlat2.zw);
					    SV_Target0.x = u_xlat3.x;
					    u_xlat9.x = dot(u_xlat0.xyz, _ChannelMixerGreen.xyz);
					    u_xlat2.x = dot(u_xlat0.xyz, _ChannelMixerBlue.xyz);
					    u_xlat0 = texture(_CurveTex, u_xlat2.xy).xywz;
					    u_xlat1 = texture(_CurveTex, u_xlat9.xy);
					    u_xlat0.x = u_xlat1.w;
					    u_xlat0.y = float(0.5);
					    u_xlat0.w = float(0.5);
					    u_xlat1 = texture(_CurveTex, u_xlat0.xy);
					    u_xlat0 = texture(_CurveTex, u_xlat0.zw);
					    SV_Target0.z = u_xlat0.z;
					    SV_Target0.y = u_xlat1.y;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 91763
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[6];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + _MainTex_TexelSize.xy;
					    u_xlat0 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat0.x = max(u_xlat0.x, 0.00100000005);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.693147182;
					    u_xlat3.xy = vs_TEXCOORD0.xy + (-_MainTex_TexelSize.xy);
					    u_xlat1 = texture(_MainTex, u_xlat3.xy);
					    u_xlat3.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat3.x = max(u_xlat3.x, 0.00100000005);
					    u_xlat3.x = log2(u_xlat3.x);
					    u_xlat0.x = u_xlat3.x * 0.693147182 + u_xlat0.x;
					    u_xlat1 = _MainTex_TexelSize.xyxy * vec4(-1.0, 1.0, 1.0, -1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.zw);
					    u_xlat3.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat3.x = max(u_xlat3.x, 0.00100000005);
					    u_xlat3.x = log2(u_xlat3.x);
					    u_xlat6 = dot(u_xlat2.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6 = max(u_xlat6, 0.00100000005);
					    u_xlat6 = log2(u_xlat6);
					    u_xlat0.x = u_xlat6 * 0.693147182 + u_xlat0.x;
					    u_xlat0.x = u_xlat3.x * 0.693147182 + u_xlat0.x;
					    SV_Target0 = u_xlat0.xxxx * vec4(0.25, 0.25, 0.25, 0.25);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[6];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + _MainTex_TexelSize.xy;
					    u_xlat0 = texture(_MainTex, u_xlat0.xy);
					    u_xlat0.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat0.x = max(u_xlat0.x, 0.00100000005);
					    u_xlat0.x = log2(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.693147182;
					    u_xlat3.xy = vs_TEXCOORD0.xy + (-_MainTex_TexelSize.xy);
					    u_xlat1 = texture(_MainTex, u_xlat3.xy);
					    u_xlat3.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat3.x = max(u_xlat3.x, 0.00100000005);
					    u_xlat3.x = log2(u_xlat3.x);
					    u_xlat0.x = u_xlat3.x * 0.693147182 + u_xlat0.x;
					    u_xlat1 = _MainTex_TexelSize.xyxy * vec4(-1.0, 1.0, 1.0, -1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.zw);
					    u_xlat3.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat3.x = max(u_xlat3.x, 0.00100000005);
					    u_xlat3.x = log2(u_xlat3.x);
					    u_xlat6 = dot(u_xlat2.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6 = max(u_xlat6, 0.00100000005);
					    u_xlat6 = log2(u_xlat6);
					    u_xlat0.x = u_xlat6 * 0.693147182 + u_xlat0.x;
					    u_xlat0.x = u_xlat3.x * 0.693147182 + u_xlat0.x;
					    SV_Target0 = u_xlat0.xxxx * vec4(0.25, 0.25, 0.25, 0.25);
					    return;
					}"
				}
			}
		}
		Pass {
			Blend SrcAlpha OneMinusSrcAlpha, SrcAlpha OneMinusSrcAlpha
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 135919
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _AdaptationSpeed;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + (-_MainTex_TexelSize.xy);
					    u_xlat0 = texture(_MainTex, u_xlat0.xy);
					    u_xlat3.xy = vs_TEXCOORD0.xy + _MainTex_TexelSize.xy;
					    u_xlat1 = texture(_MainTex, u_xlat3.xy);
					    u_xlat0.x = u_xlat0.x + u_xlat1.x;
					    u_xlat1 = _MainTex_TexelSize.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.zw);
					    u_xlat0.x = u_xlat0.x + u_xlat2.x;
					    u_xlat0.x = u_xlat1.x + u_xlat0.x;
					    u_xlat0.x = u_xlat0.x * 0.360673755;
					    SV_Target0.xyz = exp2(u_xlat0.xxx);
					    SV_Target0.w = _AdaptationSpeed * 0.0125000002;
					    SV_Target0.w = clamp(SV_Target0.w, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _AdaptationSpeed;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + (-_MainTex_TexelSize.xy);
					    u_xlat0 = texture(_MainTex, u_xlat0.xy);
					    u_xlat3.xy = vs_TEXCOORD0.xy + _MainTex_TexelSize.xy;
					    u_xlat1 = texture(_MainTex, u_xlat3.xy);
					    u_xlat0.x = u_xlat0.x + u_xlat1.x;
					    u_xlat1 = _MainTex_TexelSize.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.zw);
					    u_xlat0.x = u_xlat0.x + u_xlat2.x;
					    u_xlat0.x = u_xlat1.x + u_xlat0.x;
					    u_xlat0.x = u_xlat0.x * 0.360673755;
					    SV_Target0.xyz = exp2(u_xlat0.xxx);
					    SV_Target0.w = _AdaptationSpeed * 0.0125000002;
					    SV_Target0.w = clamp(SV_Target0.w, 0.0, 1.0);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 225727
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _AdaptationSpeed;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + (-_MainTex_TexelSize.xy);
					    u_xlat0 = texture(_MainTex, u_xlat0.xy);
					    u_xlat3.xy = vs_TEXCOORD0.xy + _MainTex_TexelSize.xy;
					    u_xlat1 = texture(_MainTex, u_xlat3.xy);
					    u_xlat0.x = u_xlat0.x + u_xlat1.x;
					    u_xlat1 = _MainTex_TexelSize.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.zw);
					    u_xlat0.x = u_xlat0.x + u_xlat2.x;
					    u_xlat0.x = u_xlat1.x + u_xlat0.x;
					    u_xlat0.x = u_xlat0.x * 0.360673755;
					    SV_Target0.xyz = exp2(u_xlat0.xxx);
					    SV_Target0.w = _AdaptationSpeed * 0.0125000002;
					    SV_Target0.w = clamp(SV_Target0.w, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _AdaptationSpeed;
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec2 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy + (-_MainTex_TexelSize.xy);
					    u_xlat0 = texture(_MainTex, u_xlat0.xy);
					    u_xlat3.xy = vs_TEXCOORD0.xy + _MainTex_TexelSize.xy;
					    u_xlat1 = texture(_MainTex, u_xlat3.xy);
					    u_xlat0.x = u_xlat0.x + u_xlat1.x;
					    u_xlat1 = _MainTex_TexelSize.xyxy * vec4(1.0, -1.0, -1.0, 1.0) + vs_TEXCOORD0.xyxy;
					    u_xlat2 = texture(_MainTex, u_xlat1.xy);
					    u_xlat1 = texture(_MainTex, u_xlat1.zw);
					    u_xlat0.x = u_xlat0.x + u_xlat2.x;
					    u_xlat0.x = u_xlat1.x + u_xlat0.x;
					    u_xlat0.x = u_xlat0.x * 0.360673755;
					    SV_Target0.xyz = exp2(u_xlat0.xxx);
					    SV_Target0.w = _AdaptationSpeed * 0.0125000002;
					    SV_Target0.w = clamp(SV_Target0.w, 0.0, 1.0);
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 322316
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					void main()
					{
					    SV_Target0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						vec4 unused_0_2;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						vec4 unused_0_2;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[6];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[6];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[8];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[8];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat8 = _MiddleGrey / u_xlat1.x;
					    u_xlat8 = min(u_xlat8, _AdaptationMax);
					    u_xlat8 = max(u_xlat8, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat8 = _MiddleGrey / u_xlat1.x;
					    u_xlat8 = min(u_xlat8, _AdaptationMax);
					    u_xlat8 = max(u_xlat8, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = vec3(u_xlat8) * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat2 = _MiddleGrey / u_xlat1.x;
					    u_xlat2 = min(u_xlat2, _AdaptationMax);
					    u_xlat2 = max(u_xlat2, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    SV_Target0.xyz = u_xlat1.xyz * vec3(u_xlat2) + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					float u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat2 = _MiddleGrey / u_xlat1.x;
					    u_xlat2 = min(u_xlat2, _AdaptationMax);
					    u_xlat2 = max(u_xlat2, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    SV_Target0.xyz = u_xlat1.xyz * vec3(u_xlat2) + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3 = _MiddleGrey / u_xlat1.x;
					    u_xlat3 = min(u_xlat3, _AdaptationMax);
					    u_xlat3 = max(u_xlat3, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat3) + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3 = _MiddleGrey / u_xlat1.x;
					    u_xlat3 = min(u_xlat3, _AdaptationMax);
					    u_xlat3 = max(u_xlat3, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat3) + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat1.xyz = u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat1.xyz = u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_3;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat1.xyz = u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_3;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat1.xyz = u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat1.xyz = u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat1.xyz = u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.x = _InternalLutParams.y;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat2.xyz = u_xlat2.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat4.xyz = u_xlat2.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat6.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat6.xy;
					    u_xlat3.x = u_xlat4.x * _InternalLutParams.y + u_xlat3.y;
					    u_xlat4.x = u_xlat2.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.y = float(0.0);
					    u_xlat9.y = float(0.0);
					    u_xlat8.xy = u_xlat1.xy + u_xlat3.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat8.xy);
					    u_xlat3.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat4.xxx * u_xlat3.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.x = _InternalLutParams.y;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy).zxyw;
					    u_xlat2.xyz = u_xlat2.xyz;
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat4.xyz = u_xlat2.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat6.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat6.xy;
					    u_xlat3.x = u_xlat4.x * _InternalLutParams.y + u_xlat3.y;
					    u_xlat4.x = u_xlat2.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.y = float(0.0);
					    u_xlat9.y = float(0.0);
					    u_xlat8.xy = u_xlat1.xy + u_xlat3.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat8.xy);
					    u_xlat3.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat4.xyz = u_xlat4.xxx * u_xlat3.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat4.xyz;
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat6 = _MiddleGrey / u_xlat1.x;
					    u_xlat6 = min(u_xlat6, _AdaptationMax);
					    u_xlat6 = max(u_xlat6, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat6 = _MiddleGrey / u_xlat1.x;
					    u_xlat6 = min(u_xlat6, _AdaptationMax);
					    u_xlat6 = max(u_xlat6, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = _MiddleGrey / u_xlat1.x;
					    u_xlat1.x = min(u_xlat1.x, _AdaptationMax);
					    u_xlat1.x = max(u_xlat1.x, _AdaptationMin);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat2.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = _MiddleGrey / u_xlat1.x;
					    u_xlat1.x = min(u_xlat1.x, _AdaptationMax);
					    u_xlat1.x = max(u_xlat1.x, _AdaptationMin);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat2.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat6 = _MiddleGrey / u_xlat1.x;
					    u_xlat6 = min(u_xlat6, _AdaptationMax);
					    u_xlat6 = max(u_xlat6, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat6 = _MiddleGrey / u_xlat1.x;
					    u_xlat6 = min(u_xlat6, _AdaptationMax);
					    u_xlat6 = max(u_xlat6, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = _MiddleGrey / u_xlat1.x;
					    u_xlat1.x = min(u_xlat1.x, _AdaptationMax);
					    u_xlat1.x = max(u_xlat1.x, _AdaptationMin);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat2.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = _MiddleGrey / u_xlat1.x;
					    u_xlat1.x = min(u_xlat1.x, _AdaptationMax);
					    u_xlat1.x = max(u_xlat1.x, _AdaptationMin);
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat2.zxy;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						vec4 unused_0_2;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat1.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xyz) + u_xlat0.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						vec4 unused_0_2;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat1.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xyz) + u_xlat0.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[6];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[6];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat1.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[8];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[8];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[7];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3 = _MiddleGrey / u_xlat1.x;
					    u_xlat3 = min(u_xlat3, _AdaptationMax);
					    u_xlat3 = max(u_xlat3, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat3) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[5];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3 = _MiddleGrey / u_xlat1.x;
					    u_xlat3 = min(u_xlat3, _AdaptationMax);
					    u_xlat3 = max(u_xlat3, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat3) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3 = _MiddleGrey / u_xlat1.x;
					    u_xlat3 = min(u_xlat3, _AdaptationMax);
					    u_xlat3 = max(u_xlat3, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat3) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[4];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3 = _MiddleGrey / u_xlat1.x;
					    u_xlat3 = min(u_xlat3, _AdaptationMax);
					    u_xlat3 = max(u_xlat3, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat1.xyz * vec3(u_xlat3) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_3;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat1.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xyz) + u_xlat0.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_3;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat1.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xyz) + u_xlat0.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat1.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xyz) + u_xlat0.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.zxy * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat2.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat1.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat0.xyz = (-u_xlat1.xyz) + u_xlat0.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 unused_0_2;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[6];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						vec4 unused_0_2[3];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 363790
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    SV_Target0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = clamp(SV_Target0.xyz, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    SV_Target0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = clamp(SV_Target0.xyz, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    SV_Target0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = clamp(SV_Target0.xyz, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    SV_Target0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = clamp(SV_Target0.xyz, 0.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat8 = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat8 = u_xlat1.x * _InternalLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat8 = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat8 = u_xlat1.x * _InternalLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat8 = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat8 = u_xlat1.x * _InternalLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat8 = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat8 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat8 = u_xlat1.x * _InternalLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    u_xlat3.xyz = u_xlat1.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat1.xyz = u_xlat2.xyz / u_xlat1.xyz;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat3.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = clamp(u_xlat3.xyz, 0.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(2.50999999, 2.50999999, 2.50999999) + vec3(0.0299999993, 0.0299999993, 0.0299999993);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(2.43000007, 2.43000007, 2.43000007) + vec3(0.589999974, 0.589999974, 0.589999974);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.140000001, 0.140000001, 0.140000001);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 394281
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    SV_Target0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    SV_Target0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    SV_Target0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    SV_Target0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    SV_Target0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    SV_Target0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    SV_Target0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    SV_Target0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    SV_Target0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    SV_Target0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    SV_Target0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    SV_Target0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = _MiddleGrey / u_xlat1.x;
					    u_xlat3.x = min(u_xlat3.x, _AdaptationMax);
					    u_xlat3.x = max(u_xlat3.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = _MiddleGrey / u_xlat1.x;
					    u_xlat3.x = min(u_xlat3.x, _AdaptationMax);
					    u_xlat3.x = max(u_xlat3.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat4.x = _MiddleGrey / u_xlat1.x;
					    u_xlat4.x = min(u_xlat4.x, _AdaptationMax);
					    u_xlat4.x = max(u_xlat4.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat4.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat4.x = _MiddleGrey / u_xlat1.x;
					    u_xlat4.x = min(u_xlat4.x, _AdaptationMax);
					    u_xlat4.x = max(u_xlat4.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat4.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat2.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[5];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat4;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat4 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat4;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = _MiddleGrey / u_xlat1.x;
					    u_xlat3.x = min(u_xlat3.x, _AdaptationMax);
					    u_xlat3.x = max(u_xlat3.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = _MiddleGrey / u_xlat1.x;
					    u_xlat3.x = min(u_xlat3.x, _AdaptationMax);
					    u_xlat3.x = max(u_xlat3.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat3.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat3.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat3.xyz);
					    u_xlat3.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat3.xy = u_xlat1.xy / u_xlat3.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat9 = (-u_xlat3.x) + 1.0;
					    u_xlat3.z = (-u_xlat3.y) + u_xlat9;
					    u_xlat1.y = 0.5;
					    u_xlat1 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat3.xz = u_xlat3.xz * u_xlat1.yy;
					    u_xlat1.xz = u_xlat3.xz / u_xlat3.yy;
					    u_xlat2.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat1.xyz);
					    u_xlat2.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat1.xyz);
					    u_xlat2.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat1.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat4.x = _MiddleGrey / u_xlat1.x;
					    u_xlat4.x = min(u_xlat4.x, _AdaptationMax);
					    u_xlat4.x = max(u_xlat4.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat4.xxx * u_xlat1.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat6;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat4.x = _MiddleGrey / u_xlat1.x;
					    u_xlat4.x = min(u_xlat4.x, _AdaptationMax);
					    u_xlat4.x = max(u_xlat4.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat4.xyz = u_xlat4.xxx * u_xlat1.xyz;
					    u_xlat4.xyz = u_xlat4.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat4.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat4.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat4.xyz);
					    u_xlat4.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat4.xy = u_xlat1.xy / u_xlat4.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat12 = (-u_xlat4.x) + 1.0;
					    u_xlat4.z = (-u_xlat4.y) + u_xlat12;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat4.xz = u_xlat4.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat4.xz / u_xlat4.yy;
					    u_xlat3.x = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat3.y = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat3.z = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat1.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat1.xy;
					    u_xlat12 = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat2.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat9.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat9.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat6;
					vec2 u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat6 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat6;
					    u_xlat1.y = float(0.5);
					    u_xlat7.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat2.x = u_xlat3.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat7.x = _InternalLutParams.y;
					    u_xlat3.xy = u_xlat7.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						float _ToneCurveRange;
						vec4 unused_0_4[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _ToneCurve;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat8;
					vec2 u_xlat9;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat1.z = dot(vec3(0.0241187997, 0.122817799, 0.844426632), u_xlat0.xyz);
					    u_xlat1.x = dot(vec3(0.514136374, 0.323878586, 0.160363764), u_xlat0.xyz);
					    u_xlat1.y = dot(vec3(0.265067995, 0.670234263, 0.0640915707), u_xlat0.xyz);
					    u_xlat0.x = dot(vec3(1.0, 1.0, 1.0), u_xlat1.xyz);
					    u_xlat0.xy = u_xlat1.xy / u_xlat0.xx;
					    u_xlat1.x = u_xlat1.y * _ToneCurveRange;
					    u_xlat8 = (-u_xlat0.x) + 1.0;
					    u_xlat0.z = (-u_xlat0.y) + u_xlat8;
					    u_xlat1.y = float(0.5);
					    u_xlat9.y = float(0.0);
					    u_xlat2 = texture(_ToneCurve, u_xlat1.xy).yxzw;
					    u_xlat0.xz = u_xlat0.xz * u_xlat2.yy;
					    u_xlat2.xz = u_xlat0.xz / u_xlat0.yy;
					    u_xlat0.y = dot(vec3(2.56509995, -1.16649997, -0.398600012), u_xlat2.xyz);
					    u_xlat0.y = clamp(u_xlat0.y, 0.0, 1.0);
					    u_xlat0.z = dot(vec3(-1.02170002, 1.9777, 0.0439000018), u_xlat2.xyz);
					    u_xlat0.z = clamp(u_xlat0.z, 0.0, 1.0);
					    u_xlat0.x = dot(vec3(0.0753000006, -0.254299998, 1.18920004), u_xlat2.xyz);
					    u_xlat0.x = clamp(u_xlat0.x, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat4.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat9.x = _InternalLutParams.y;
					    u_xlat4.xy = u_xlat9.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat1.x = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat3.x = _UserLutParams.y;
					    u_xlat3.y = 0.0;
					    u_xlat5.xy = u_xlat2.xz + u_xlat3.xy;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat5.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 476915
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat3.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    SV_Target0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat3.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    SV_Target0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat3.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat3.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    SV_Target0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    SV_Target0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    SV_Target0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _Exposure + _Exposure;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = _Exposure + _Exposure;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xxx;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = _Exposure + _Exposure;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xxx;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = _Exposure + _Exposure;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xxx;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = _Exposure + _Exposure;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xxx;
					    u_xlat1.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat3.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat3.xyz = u_xlat3.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat3.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432) + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat9) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = _Exposure + _Exposure;
					    u_xlat0.xyz = vec3(u_xlat12) * u_xlat0.xyz;
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.0500000007, 0.0500000007, 0.0500000007);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.00400000019, 0.00400000019, 0.00400000019);
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.150000006, 0.150000006, 0.150000006) + vec3(0.5, 0.5, 0.5);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz + vec3(-0.0666666701, -0.0666666701, -0.0666666701);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.37906432, 1.37906432, 1.37906432);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 526253
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    SV_Target0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat1.xyz = log2(u_xlat0.zxy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    SV_Target0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.zxy * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 0.00392156886;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat3.xyz = max(u_xlat3.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat3.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat3.xyz * u_xlat3.xyz + (-u_xlat0.xxx);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 0.00392156886;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz + (-vec3(u_xlat9));
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure) + vec3(-0.00400000019, -0.00400000019, -0.00400000019);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(0.5, 0.5, 0.5);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(6.19999981, 6.19999981, 6.19999981) + vec3(1.70000005, 1.70000005, 1.70000005);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0599999987, 0.0599999987, 0.0599999987);
					    u_xlat0.xyz = u_xlat1.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat0.xyz;
					    u_xlat0.xyz = min(u_xlat0.xyz, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 635438
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    SV_Target0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    SV_Target0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = max(u_xlat2.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat6;
					float u_xlat8;
					void main()
					{
					    u_xlat0.x = _UserLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = max(u_xlat2.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat8 = floor(u_xlat6.x);
					    u_xlat3.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat3.xy;
					    u_xlat3.x = u_xlat8 * _UserLutParams.y + u_xlat3.y;
					    u_xlat8 = u_xlat2.x * _UserLutParams.z + (-u_xlat8);
					    u_xlat0.xy = u_xlat0.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = vec3(u_xlat8) * u_xlat0.xyw + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = exp2((-u_xlat2.xyz));
					    u_xlat2.xyz = (-u_xlat2.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = exp2((-u_xlat2.xyz));
					    u_xlat2.xyz = (-u_xlat2.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = exp2((-u_xlat3.xyz));
					    u_xlat3.xyz = (-u_xlat3.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = exp2((-u_xlat3.xyz));
					    u_xlat3.xyz = (-u_xlat3.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    SV_Target0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    SV_Target0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = _MiddleGrey / u_xlat1.x;
					    u_xlat2.x = min(u_xlat2.x, _AdaptationMax);
					    u_xlat2.x = max(u_xlat2.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Exposure);
					    u_xlat2.xyz = exp2((-u_xlat2.xyz));
					    u_xlat2.xyz = (-u_xlat2.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = _MiddleGrey / u_xlat1.x;
					    u_xlat2.x = min(u_xlat2.x, _AdaptationMax);
					    u_xlat2.x = max(u_xlat2.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat2.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Exposure);
					    u_xlat2.xyz = exp2((-u_xlat2.xyz));
					    u_xlat2.xyz = (-u_xlat2.xyz) + vec3(1.0, 1.0, 1.0);
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = _MiddleGrey / u_xlat1.x;
					    u_xlat3.x = min(u_xlat3.x, _AdaptationMax);
					    u_xlat3.x = max(u_xlat3.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat3.xyz = exp2((-u_xlat3.xyz));
					    u_xlat3.xyz = (-u_xlat3.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = _MiddleGrey / u_xlat1.x;
					    u_xlat3.x = min(u_xlat3.x, _AdaptationMax);
					    u_xlat3.x = max(u_xlat3.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat3.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat3.xyz = exp2((-u_xlat3.xyz));
					    u_xlat3.xyz = (-u_xlat3.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat1.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = exp2((-u_xlat1.xyz));
					    u_xlat1.xyz = (-u_xlat1.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xyz = max(u_xlat1.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Exposure);
					    u_xlat2.xyz = exp2((-u_xlat2.xyz));
					    u_xlat2.xyz = (-u_xlat2.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(_Exposure);
					    u_xlat2.xyz = exp2((-u_xlat2.xyz));
					    u_xlat2.xyz = (-u_xlat2.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat3.xyz = exp2((-u_xlat3.xyz));
					    u_xlat3.xyz = (-u_xlat3.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat3.xyz * vec3(_Exposure);
					    u_xlat3.xyz = exp2((-u_xlat3.xyz));
					    u_xlat3.xyz = (-u_xlat3.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat6 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat6 = fract(u_xlat6);
					    u_xlat6 = u_xlat6 * 52.9829178;
					    u_xlat6 = fract(u_xlat6);
					    u_xlat0.xyz = (-vec3(u_xlat6)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat6 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat6 = fract(u_xlat6);
					    u_xlat6 = u_xlat6 * 52.9829178;
					    u_xlat6 = fract(u_xlat6);
					    u_xlat0.xyz = (-vec3(u_xlat6)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = u_xlat0.zxy * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat1.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat1.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat0.z * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat0.xyz = exp2((-u_xlat0.xyz));
					    u_xlat0.xyz = (-u_xlat0.xyz) + vec3(1.0, 1.0, 1.0);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 680585
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					float u_xlat1;
					float u_xlat3;
					float u_xlat5;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat3 = u_xlat1 * _Exposure;
					    u_xlat5 = u_xlat1 * _Exposure + 1.0;
					    u_xlat3 = u_xlat3 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat3);
					    SV_Target0.w = u_xlat0.w;
					    SV_Target0.xyz = u_xlat0.xyz / vec3(u_xlat1);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					float u_xlat1;
					float u_xlat3;
					float u_xlat5;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat3 = u_xlat1 * _Exposure;
					    u_xlat5 = u_xlat1 * _Exposure + 1.0;
					    u_xlat3 = u_xlat3 / u_xlat5;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(u_xlat3);
					    SV_Target0.w = u_xlat0.w;
					    SV_Target0.xyz = u_xlat0.xyz / vec3(u_xlat1);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat4.x = u_xlat1.x * _Exposure;
					    u_xlat7 = u_xlat1.x * _Exposure + 1.0;
					    u_xlat4.x = u_xlat4.x / u_xlat7;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz / u_xlat1.xxx;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.x = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat4.x = u_xlat1.x * _Exposure;
					    u_xlat7 = u_xlat1.x * _Exposure + 1.0;
					    u_xlat4.x = u_xlat4.x / u_xlat7;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat4.xxx;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz / u_xlat1.xxx;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat4 = u_xlat2.x * _Exposure;
					    u_xlat6 = u_xlat2.x * _Exposure + 1.0;
					    u_xlat4 = u_xlat4 / u_xlat6;
					    u_xlat1.xyz = vec3(u_xlat4) * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz / u_xlat2.xxx;
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec2 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat4;
					float u_xlat6;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat4 = u_xlat2.x * _Exposure;
					    u_xlat6 = u_xlat2.x * _Exposure + 1.0;
					    u_xlat4 = u_xlat4 / u_xlat6;
					    u_xlat1.xyz = vec3(u_xlat4) * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat2.xyz = u_xlat1.xyz / u_xlat2.xxx;
					    SV_Target0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6 = u_xlat3.x * _Exposure;
					    u_xlat9 = u_xlat3.x * _Exposure + 1.0;
					    u_xlat6 = u_xlat6 / u_xlat9;
					    u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xxx;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6 = u_xlat3.x * _Exposure;
					    u_xlat9 = u_xlat3.x * _Exposure + 1.0;
					    u_xlat6 = u_xlat6 / u_xlat9;
					    u_xlat1.xyz = vec3(u_xlat6) * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat3.xyz = u_xlat1.xyz / u_xlat3.xxx;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    SV_Target0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat6 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat6 = fract(u_xlat6);
					    u_xlat6 = u_xlat6 * 52.9829178;
					    u_xlat6 = fract(u_xlat6);
					    SV_Target0.xyz = (-vec3(u_xlat6)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat6 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat6 = fract(u_xlat6);
					    u_xlat6 = u_xlat6 * 52.9829178;
					    u_xlat6 = fract(u_xlat6);
					    SV_Target0.xyz = (-vec3(u_xlat6)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat9 = u_xlat6 * _Exposure;
					    u_xlat2.x = u_xlat6 * _Exposure + 1.0;
					    u_xlat9 = u_xlat9 / u_xlat2.x;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat6);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat9 = u_xlat6 * _Exposure;
					    u_xlat2.x = u_xlat6 * _Exposure + 1.0;
					    u_xlat9 = u_xlat9 / u_xlat2.x;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat6);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					float u_xlat10;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6.x = u_xlat2.x * _Exposure;
					    u_xlat10 = u_xlat2.x * _Exposure + 1.0;
					    u_xlat6.x = u_xlat6.x / u_xlat10;
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat6.xxx;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat2.xxx;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					float u_xlat10;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6.x = u_xlat2.x * _Exposure;
					    u_xlat10 = u_xlat2.x * _Exposure + 1.0;
					    u_xlat6.x = u_xlat6.x / u_xlat10;
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat6.xxx;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat2.xxx;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat9 = u_xlat6 * _Exposure;
					    u_xlat2.x = u_xlat6 * _Exposure + 1.0;
					    u_xlat9 = u_xlat9 / u_xlat2.x;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat6);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat6;
					float u_xlat9;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat0.y = 0.0;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat6 = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat9 = u_xlat6 * _Exposure;
					    u_xlat2.x = u_xlat6 * _Exposure + 1.0;
					    u_xlat9 = u_xlat9 / u_xlat2.x;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / vec3(u_xlat6);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat6 = floor(u_xlat4.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat6 * _InternalLutParams.y + u_xlat2.y;
					    u_xlat6 = u_xlat1.x * _InternalLutParams.z + (-u_xlat6);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat1 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat0.xyw = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = vec3(u_xlat6) * u_xlat0.xyw + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					float u_xlat10;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6.x = u_xlat2.x * _Exposure;
					    u_xlat10 = u_xlat2.x * _Exposure + 1.0;
					    u_xlat6.x = u_xlat6.x / u_xlat10;
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat6.xxx;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat2.xxx;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec3 u_xlat6;
					vec2 u_xlat8;
					float u_xlat10;
					void main()
					{
					    u_xlat0.x = _InternalLutParams.y;
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.x = dot(u_xlat1.xyz, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat6.x = u_xlat2.x * _Exposure;
					    u_xlat10 = u_xlat2.x * _Exposure + 1.0;
					    u_xlat6.x = u_xlat6.x / u_xlat10;
					    u_xlat1.xyz = u_xlat1.zxy * u_xlat6.xxx;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.xyz = u_xlat1.xyz / u_xlat2.xxx;
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _InternalLutParams.zzz;
					    u_xlat5.x = floor(u_xlat5.x);
					    u_xlat2.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _InternalLutParams.xy + u_xlat2.xy;
					    u_xlat2.x = u_xlat5.x * _InternalLutParams.y + u_xlat2.y;
					    u_xlat1.x = u_xlat1.x * _InternalLutParams.z + (-u_xlat5.x);
					    u_xlat0.y = float(0.0);
					    u_xlat8.y = float(0.0);
					    u_xlat0.xy = u_xlat0.xy + u_xlat2.xz;
					    u_xlat2 = texture(_InternalLutTex, u_xlat2.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat0.xy);
					    u_xlat5.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat1.xyz = u_xlat1.xxx * u_xlat5.xyz + u_xlat2.xyz;
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat1.xyz;
					    u_xlat2.xyz = max(u_xlat1.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat2.xyz = log2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat2.xyz = exp2(u_xlat2.xyz);
					    u_xlat2.xyz = u_xlat2.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat2.xyz = clamp(u_xlat2.xyz, 0.0, 1.0);
					    u_xlat6.xyz = u_xlat2.xyz * _UserLutParams.zzz;
					    u_xlat0.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat6.yz * _UserLutParams.xy + u_xlat0.xy;
					    u_xlat0.x = floor(u_xlat6.x);
					    u_xlat3.x = u_xlat0.x * _UserLutParams.y + u_xlat3.y;
					    u_xlat0.x = u_xlat2.x * _UserLutParams.z + (-u_xlat0.x);
					    u_xlat8.x = _UserLutParams.y;
					    u_xlat4.xy = u_xlat8.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat3 = texture(_UserLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat2.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat2.xyz + (-u_xlat1.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat0.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    SV_Target0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.0396819152, 0.45802179, 0.00609653955));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						vec4 unused_0_4;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					float u_xlat5;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = dot(u_xlat2.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat3 = u_xlat1.x * _Exposure;
					    u_xlat5 = u_xlat1.x * _Exposure + 1.0;
					    u_xlat3 = u_xlat3 / u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(u_xlat3);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat1.xxx;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[5];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					float u_xlat5;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = dot(u_xlat2.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat3 = u_xlat1.x * _Exposure;
					    u_xlat5 = u_xlat1.x * _Exposure + 1.0;
					    u_xlat3 = u_xlat3 / u_xlat5;
					    u_xlat2.xyz = u_xlat2.xyz * vec3(u_xlat3);
					    u_xlat2.xyz = u_xlat2.xyz / u_xlat1.xxx;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat2.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = dot(u_xlat3.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat4.x = u_xlat1.x * _Exposure;
					    u_xlat7 = u_xlat1.x * _Exposure + 1.0;
					    u_xlat4.x = u_xlat4.x / u_xlat7;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat4.xxx;
					    u_xlat3.xyz = u_xlat3.xyz / u_xlat1.xxx;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec3 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat7;
					float u_xlat9;
					void main()
					{
					    u_xlat0.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat0.x = dot(u_xlat0.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat0.x = u_xlat0.x * 52.9829178;
					    u_xlat0.x = fract(u_xlat0.x);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat1.x = dot(u_xlat3.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat4.x = u_xlat1.x * _Exposure;
					    u_xlat7 = u_xlat1.x * _Exposure + 1.0;
					    u_xlat4.x = u_xlat4.x / u_xlat7;
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat4.xxx;
					    u_xlat3.xyz = u_xlat3.xyz / u_xlat1.xxx;
					    u_xlat0.xyz = (-u_xlat0.xxx) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat3.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat6 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat6 = fract(u_xlat6);
					    u_xlat6 = u_xlat6 * 52.9829178;
					    u_xlat6 = fract(u_xlat6);
					    u_xlat0.xyz = (-vec3(u_xlat6)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[4];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					float u_xlat3;
					float u_xlat6;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat2.xyz = u_xlat2.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat2.xyz;
					    u_xlat6 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat6 * _Exposure;
					    u_xlat3 = u_xlat6 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat3;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat6);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat6 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat6 = fract(u_xlat6);
					    u_xlat6 = u_xlat6 * 52.9829178;
					    u_xlat6 = fract(u_xlat6);
					    u_xlat0.xyz = (-vec3(u_xlat6)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[3];
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.xyz * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.xyz, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4.x = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat4.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat4.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat9 = floor(u_xlat4.x);
					    u_xlat2.x = u_xlat9 * _UserLutParams.y + u_xlat2.y;
					    u_xlat9 = u_xlat1.x * _UserLutParams.z + (-u_xlat9);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat9) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_5;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 unused_0_4;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 unused_0_2[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					float u_xlat9;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat3.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat3.xyz = u_xlat1.zxy * u_xlat3.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat3.xyz = u_xlat3.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz;
					    u_xlat9 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat9 * _Exposure;
					    u_xlat4 = u_xlat9 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat4;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat9);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat3.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat3.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat3.x = floor(u_xlat3.x);
					    u_xlat1.x = u_xlat3.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat3.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat3.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat3.xy);
					    u_xlat3.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat3.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat9 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat9 = fract(u_xlat9);
					    u_xlat9 = u_xlat9 * 52.9829178;
					    u_xlat9 = fract(u_xlat9);
					    u_xlat0.xyz = (-vec3(u_xlat9)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 unused_0_3[2];
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat12 = dot(u_xlat0.yzx, vec3(0.219999999, 0.707000017, 0.0710000023));
					    u_xlat1.x = u_xlat12 * _Exposure;
					    u_xlat5.x = u_xlat12 * _Exposure + 1.0;
					    u_xlat1.x = u_xlat1.x / u_xlat5.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat0.xyz = u_xlat0.xyz / vec3(u_xlat12);
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 752342
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					float u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1 = _NeutralTonemapperParams2.z * u_xlat1 + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1;
					    u_xlat1 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-vec3(u_xlat1)) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    SV_Target0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					float u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1 = _NeutralTonemapperParams2.z * u_xlat1 + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1;
					    u_xlat1 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-vec3(u_xlat1)) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    SV_Target0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1.x);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1.x);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1.x);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec2 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1.x);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1.x);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					float u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4 = _NeutralTonemapperParams2.z * u_xlat4 + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4 = u_xlat4 / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4 = u_xlat4 + (-u_xlat1.x);
					    u_xlat4 = float(1.0) / u_xlat4;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.xyz * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = vec3(u_xlat4) * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = vec3(u_xlat4) * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    SV_Target0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    SV_Target0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat8;
					vec2 u_xlat10;
					float u_xlat12;
					void main()
					{
					    u_xlat0.x = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat4.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat0.x;
					    u_xlat8.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat4.x = _NeutralTonemapperParams2.z * u_xlat4.x + u_xlat8.x;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat8.y;
					    u_xlat4.x = u_xlat4.x / u_xlat1.x;
					    u_xlat1.x = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat4.x = u_xlat4.x + (-u_xlat1.x);
					    u_xlat4.x = float(1.0) / u_xlat4.x;
					    u_xlat2 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat5.xyz = u_xlat2.zxy * vec3(_Exposure);
					    SV_Target0.w = u_xlat2.w;
					    u_xlat5.xyz = u_xlat4.xxx * u_xlat5.xyz;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + u_xlat0.xxx;
					    u_xlat2.xyz = u_xlat5.xyz * u_xlat2.xyz + u_xlat8.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat5.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xzw = u_xlat5.xyz * u_xlat3.xyz + u_xlat8.yyy;
					    u_xlat0.xzw = u_xlat2.xyz / u_xlat0.xzw;
					    u_xlat0.xzw = (-u_xlat1.xxx) + u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat4.xxx * u_xlat0.xzw;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    SV_Target0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat1.xyz = max(u_xlat0.zxy, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = log2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat1.xyz = exp2(u_xlat1.xyz);
					    u_xlat1.xyz = u_xlat1.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat1.xyz = clamp(u_xlat1.xyz, 0.0, 1.0);
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat2.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat2.xyz = u_xlat1.xyz * u_xlat2.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat1.xyz = u_xlat1.xyz * u_xlat2.xyz + (-u_xlat0.xyz);
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[3];
					};
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec3 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.xyz * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_4;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5[2];
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec3 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec4 unused_0_5;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.xyz * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.xyz * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.xyz;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat2.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat2.x = u_xlat12 * _UserLutParams.y + u_xlat2.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat1.x = _UserLutParams.y;
					    u_xlat1.y = 0.0;
					    u_xlat1.xy = u_xlat1.xy + u_xlat2.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat2.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_6;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6[2];
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						vec4 unused_0_7;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat1.xyz = u_xlat0.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat1.xyz = u_xlat0.zxy * u_xlat1.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat0.xyz = u_xlat0.zxy * u_xlat1.xyz;
					    SV_Target0.w = u_xlat0.w;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_5;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[3];
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 unused_0_6;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec3 u_xlat3;
					vec3 u_xlat4;
					vec2 u_xlat5;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = 0.0;
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat2 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat2.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    SV_Target0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "ENABLE_COLOR_GRADING" "ENABLE_DITHERING" "ENABLE_EYE_ADAPTATION" "ENABLE_USER_LUT" "UNITY_COLORSPACE_GAMMA" "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform PGlobals {
						vec4 unused_0_0[2];
						vec4 _MainTex_TexelSize;
						float _Exposure;
						vec4 _NeutralTonemapperParams1;
						vec4 _NeutralTonemapperParams2;
						vec3 _InternalLutParams;
						vec4 _UserLutParams;
						float _MiddleGrey;
						float _AdaptationMin;
						float _AdaptationMax;
					};
					uniform  sampler2D _MainTex;
					uniform  sampler2D _LumTex;
					uniform  sampler2D _InternalLutTex;
					uniform  sampler2D _UserLutTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					vec4 u_xlat2;
					vec4 u_xlat3;
					vec3 u_xlat4;
					vec3 u_xlat5;
					vec2 u_xlat10;
					float u_xlat12;
					float u_xlat13;
					void main()
					{
					    u_xlat0 = texture(_LumTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = _MiddleGrey / u_xlat0.x;
					    u_xlat0.x = min(u_xlat0.x, _AdaptationMax);
					    u_xlat0.x = max(u_xlat0.x, _AdaptationMin);
					    u_xlat1 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat4.xyz = u_xlat1.zxy * vec3(0.305306017, 0.305306017, 0.305306017) + vec3(0.682171106, 0.682171106, 0.682171106);
					    u_xlat4.xyz = u_xlat1.zxy * u_xlat4.xyz + vec3(0.0125228781, 0.0125228781, 0.0125228781);
					    u_xlat4.xyz = u_xlat4.xyz * u_xlat1.zxy;
					    SV_Target0.w = u_xlat1.w;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz;
					    u_xlat0.xyz = u_xlat0.xyz * vec3(_Exposure);
					    u_xlat12 = _NeutralTonemapperParams1.y * _NeutralTonemapperParams1.z;
					    u_xlat1.x = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + u_xlat12;
					    u_xlat5.xy = _NeutralTonemapperParams1.ww * _NeutralTonemapperParams2.xy;
					    u_xlat1.x = _NeutralTonemapperParams2.z * u_xlat1.x + u_xlat5.x;
					    u_xlat13 = _NeutralTonemapperParams1.x * _NeutralTonemapperParams2.z + _NeutralTonemapperParams1.y;
					    u_xlat13 = _NeutralTonemapperParams2.z * u_xlat13 + u_xlat5.y;
					    u_xlat1.x = u_xlat1.x / u_xlat13;
					    u_xlat13 = _NeutralTonemapperParams2.x / _NeutralTonemapperParams2.y;
					    u_xlat1.x = (-u_xlat13) + u_xlat1.x;
					    u_xlat1.x = float(1.0) / u_xlat1.x;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat1.xxx;
					    u_xlat2.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + vec3(u_xlat12);
					    u_xlat2.xyz = u_xlat0.xyz * u_xlat2.xyz + u_xlat5.xxx;
					    u_xlat3.xyz = _NeutralTonemapperParams1.xxx * u_xlat0.xyz + _NeutralTonemapperParams1.yyy;
					    u_xlat0.xyz = u_xlat0.xyz * u_xlat3.xyz + u_xlat5.yyy;
					    u_xlat0.xyz = u_xlat2.xyz / u_xlat0.xyz;
					    u_xlat0.xyz = (-vec3(u_xlat13)) + u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat1.xxx * u_xlat0.xyz;
					    u_xlat0.xyz = u_xlat0.xyz / _NeutralTonemapperParams2.www;
					    u_xlat0.xyz = clamp(u_xlat0.xyz, 0.0, 1.0);
					    u_xlat4.xyz = u_xlat0.xyz * _InternalLutParams.zzz;
					    u_xlat4.x = floor(u_xlat4.x);
					    u_xlat0.x = u_xlat0.x * _InternalLutParams.z + (-u_xlat4.x);
					    u_xlat1.xy = _InternalLutParams.xy * vec2(0.5, 0.5);
					    u_xlat1.yz = u_xlat4.yz * _InternalLutParams.xy + u_xlat1.xy;
					    u_xlat1.x = u_xlat4.x * _InternalLutParams.y + u_xlat1.y;
					    u_xlat2.x = _InternalLutParams.y;
					    u_xlat2.y = float(0.0);
					    u_xlat10.y = float(0.0);
					    u_xlat4.xy = u_xlat1.xz + u_xlat2.xy;
					    u_xlat1 = texture(_InternalLutTex, u_xlat1.xz);
					    u_xlat3 = texture(_InternalLutTex, u_xlat4.xy);
					    u_xlat4.xyz = (-u_xlat1.xyz) + u_xlat3.xyz;
					    u_xlat0.xyz = u_xlat0.xxx * u_xlat4.xyz + u_xlat1.xyz;
					    u_xlat1.xy = vs_TEXCOORD0.xy / _MainTex_TexelSize.xy;
					    u_xlat12 = dot(u_xlat1.xy, vec2(0.0671105608, 0.00583714992));
					    u_xlat12 = fract(u_xlat12);
					    u_xlat12 = u_xlat12 * 52.9829178;
					    u_xlat12 = fract(u_xlat12);
					    u_xlat0.xyz = (-vec3(u_xlat12)) * vec3(0.00392156886, 0.00392156886, 0.00392156886) + u_xlat0.xyz;
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat0.xyz = log2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(0.416666657, 0.416666657, 0.416666657);
					    u_xlat0.xyz = exp2(u_xlat0.xyz);
					    u_xlat0.xyz = u_xlat0.xyz * vec3(1.05499995, 1.05499995, 1.05499995) + vec3(-0.0549999997, -0.0549999997, -0.0549999997);
					    u_xlat0.xyz = max(u_xlat0.xyz, vec3(0.0, 0.0, 0.0));
					    u_xlat1.xyz = min(u_xlat0.zxy, vec3(1.0, 1.0, 1.0));
					    u_xlat5.xyz = u_xlat1.xyz * _UserLutParams.zzz;
					    u_xlat2.xy = _UserLutParams.xy * vec2(0.5, 0.5);
					    u_xlat3.yz = u_xlat5.yz * _UserLutParams.xy + u_xlat2.xy;
					    u_xlat12 = floor(u_xlat5.x);
					    u_xlat3.x = u_xlat12 * _UserLutParams.y + u_xlat3.y;
					    u_xlat12 = u_xlat1.x * _UserLutParams.z + (-u_xlat12);
					    u_xlat10.x = _UserLutParams.y;
					    u_xlat1.xy = u_xlat10.xy + u_xlat3.xz;
					    u_xlat2 = texture(_UserLutTex, u_xlat3.xz);
					    u_xlat1 = texture(_UserLutTex, u_xlat1.xy);
					    u_xlat1.xyz = (-u_xlat2.xyz) + u_xlat1.xyz;
					    u_xlat1.xyz = vec3(u_xlat12) * u_xlat1.xyz + u_xlat2.xyz;
					    u_xlat1.xyz = (-u_xlat0.xyz) + u_xlat1.xyz;
					    SV_Target0.xyz = _UserLutParams.www * u_xlat1.xyz + u_xlat0.xyz;
					    return;
					}"
				}
			}
		}
		Pass {
			ZTest Always
			ZWrite Off
			Cull Off
			Fog {
				Mode Off
			}
			GpuProgramID 814747
			Program "vp" {
				SubProgram "d3d11 " {
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityPerFrame {
						vec4 unused_1_0[17];
						mat4x4 unity_MatrixVP;
						vec4 unused_1_2[2];
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					vec4 u_xlat1;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlat1 = u_xlat0.yyyy * unity_MatrixVP[1];
					    u_xlat1 = unity_MatrixVP[0] * u_xlat0.xxxx + u_xlat1;
					    u_xlat1 = unity_MatrixVP[2] * u_xlat0.zzzz + u_xlat1;
					    gl_Position = unity_MatrixVP[3] * u_xlat0.wwww + u_xlat1;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"vs_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
					#if HLSLCC_ENABLE_UNIFORM_BUFFERS
					#define UNITY_UNIFORM
					#else
					#define UNITY_UNIFORM uniform
					#endif
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					layout(std140) uniform UnityPerDraw {
						mat4x4 unity_ObjectToWorld;
						vec4 unused_0_1[7];
					};
					layout(std140) uniform UnityStereoGlobals {
						vec4 unused_1_0[24];
						mat4x4 unity_StereoMatrixVP[2];
						vec4 unused_1_2[40];
					};
					layout(std140) uniform UnityStereoEyeIndex {
						int unity_StereoEyeIndex;
					};
					in  vec4 in_POSITION0;
					in  vec2 in_TEXCOORD0;
					out vec2 vs_TEXCOORD0;
					vec4 u_xlat0;
					int u_xlati1;
					vec4 u_xlat2;
					void main()
					{
					    u_xlat0 = in_POSITION0.yyyy * unity_ObjectToWorld[1];
					    u_xlat0 = unity_ObjectToWorld[0] * in_POSITION0.xxxx + u_xlat0;
					    u_xlat0 = unity_ObjectToWorld[2] * in_POSITION0.zzzz + u_xlat0;
					    u_xlat0 = u_xlat0 + unity_ObjectToWorld[3];
					    u_xlati1 = unity_StereoEyeIndex << 2;
					    u_xlat2 = u_xlat0.yyyy * unity_StereoMatrixVP[(u_xlati1 + 1) / 4][(u_xlati1 + 1) % 4];
					    u_xlat2 = unity_StereoMatrixVP[u_xlati1 / 4][u_xlati1 % 4] * u_xlat0.xxxx + u_xlat2;
					    u_xlat2 = unity_StereoMatrixVP[(u_xlati1 + 2) / 4][(u_xlati1 + 2) % 4] * u_xlat0.zzzz + u_xlat2;
					    gl_Position = unity_StereoMatrixVP[(u_xlati1 + 3) / 4][(u_xlati1 + 3) % 4] * u_xlat0.wwww + u_xlat2;
					    vs_TEXCOORD0.xy = in_TEXCOORD0.xy;
					    return;
					}"
				}
			}
			Program "fp" {
				SubProgram "d3d11 " {
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					ivec2 u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = u_xlat0.x * 256.0;
					    u_xlat0.x = floor(u_xlat0.x);
					    u_xlat1.x = vs_TEXCOORD0.x * 256.0;
					    u_xlat0.y = floor(u_xlat1.x);
					    u_xlati0.xy = ivec2(u_xlat0.xy);
					    u_xlatb0 = u_xlati0.y==u_xlati0.x;
					    u_xlat0.x = u_xlatb0 ? 1.0 : float(0.0);
					    u_xlat1.xyz = (-vs_TEXCOORD0.xxx) + vec3(1.0, 0.0, 0.0);
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat1.xyz + vs_TEXCOORD0.xxx;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
				SubProgram "d3d11 " {
					Keywords { "UNITY_SINGLE_PASS_STEREO" }
					"ps_4_0
					
					#version 330
					#extension GL_ARB_explicit_attrib_location : require
					#extension GL_ARB_explicit_uniform_location : require
					
					#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
					#if UNITY_SUPPORTS_UNIFORM_LOCATION
					#define UNITY_LOCATION(x) layout(location = x)
					#define UNITY_BINDING(x) layout(binding = x, std140)
					#else
					#define UNITY_LOCATION(x)
					#define UNITY_BINDING(x) layout(std140)
					#endif
					uniform  sampler2D _MainTex;
					in  vec2 vs_TEXCOORD0;
					layout(location = 0) out vec4 SV_Target0;
					vec4 u_xlat0;
					ivec2 u_xlati0;
					bool u_xlatb0;
					vec3 u_xlat1;
					void main()
					{
					    u_xlat0 = texture(_MainTex, vs_TEXCOORD0.xy);
					    u_xlat0.x = u_xlat0.x * 256.0;
					    u_xlat0.x = floor(u_xlat0.x);
					    u_xlat1.x = vs_TEXCOORD0.x * 256.0;
					    u_xlat0.y = floor(u_xlat1.x);
					    u_xlati0.xy = ivec2(u_xlat0.xy);
					    u_xlatb0 = u_xlati0.y==u_xlati0.x;
					    u_xlat0.x = u_xlatb0 ? 1.0 : float(0.0);
					    u_xlat1.xyz = (-vs_TEXCOORD0.xxx) + vec3(1.0, 0.0, 0.0);
					    SV_Target0.xyz = u_xlat0.xxx * u_xlat1.xyz + vs_TEXCOORD0.xxx;
					    SV_Target0.w = 1.0;
					    return;
					}"
				}
			}
		}
	}
}