þ:    ?               POINT_COOKIE   SHADOWS_CUBE   UNITY_HDR_ON  !!GLES


#ifdef VERTEX

attribute vec4 _glesVertex;
attribute vec3 _glesNormal;
uniform highp vec4 _ProjectionParams;
uniform highp mat4 glstate_matrix_mvp;
uniform highp mat4 glstate_matrix_modelview0;
uniform highp float _LightAsQuad;
varying highp vec4 xlv_TEXCOORD0;
varying highp vec3 xlv_TEXCOORD1;
void main ()
{
  highp vec4 tmpvar_1;
  tmpvar_1 = (glstate_matrix_mvp * _glesVertex);
  highp vec4 o_2;
  highp vec4 tmpvar_3;
  tmpvar_3 = (tmpvar_1 * 0.5);
  highp vec2 tmpvar_4;
  tmpvar_4.x = tmpvar_3.x;
  tmpvar_4.y = (tmpvar_3.y * _ProjectionParams.x);
  o_2.xy = (tmpvar_4 + tmpvar_3.w);
  o_2.zw = tmpvar_1.zw;
  gl_Position = tmpvar_1;
  xlv_TEXCOORD0 = o_2;
  xlv_TEXCOORD1 = mix (((glstate_matrix_modelview0 * _glesVertex).xyz * vec3(-1.0, -1.0, 1.0)), _glesNormal, vec3(_LightAsQuad));
}



#endif
#ifdef FRAGMENT

uniform highp vec3 _WorldSpaceCameraPos;
uniform highp vec4 _ProjectionParams;
uniform highp vec4 _ZBufferParams;
uniform highp vec4 _LightPositionRange;
uniform mediump vec4 _LightShadowData;
uniform highp sampler2D _CameraDepthTexture;
uniform highp vec4 _LightPos;
uniform highp vec4 _LightColor;
uniform highp mat4 _CameraToWorld;
uniform highp mat4 _LightMatrix0;
uniform sampler2D _LightTextureB0;
uniform lowp samplerCube _LightTexture0;
uniform highp samplerCube _ShadowMapTexture;
uniform mediump vec4 unity_LightGammaCorrectionConsts;
uniform sampler2D _CameraGBufferTexture0;
uniform sampler2D _CameraGBufferTexture1;
uniform sampler2D _CameraGBufferTexture2;
varying highp vec4 xlv_TEXCOORD0;
varying highp vec3 xlv_TEXCOORD1;
void main ()
{
  mediump vec4 gbuffer2_1;
  mediump vec4 gbuffer1_2;
  mediump vec4 gbuffer0_3;
  mediump vec3 tmpvar_4;
  highp float atten_5;
  mediump vec3 lightDir_6;
  highp vec2 tmpvar_7;
  tmpvar_7 = (xlv_TEXCOORD0.xy / xlv_TEXCOORD0.w);
  highp vec4 tmpvar_8;
  tmpvar_8 = texture2D (_CameraDepthTexture, tmpvar_7);
  highp vec4 tmpvar_9;
  tmpvar_9.w = 1.0;
  tmpvar_9.xyz = ((xlv_TEXCOORD1 * (_ProjectionParams.z / xlv_TEXCOORD1.z)) * (1.0/((
    (_ZBufferParams.x * tmpvar_8.x)
   + _ZBufferParams.y))));
  highp vec3 tmpvar_10;
  tmpvar_10 = (_CameraToWorld * tmpvar_9).xyz;
  highp vec3 tmpvar_11;
  tmpvar_11 = (tmpvar_10 - _LightPos.xyz);
  highp vec3 tmpvar_12;
  tmpvar_12 = -(normalize(tmpvar_11));
  lightDir_6 = tmpvar_12;
  highp float tmpvar_13;
  tmpvar_13 = (dot (tmpvar_11, tmpvar_11) * _LightPos.w);
  lowp float tmpvar_14;
  tmpvar_14 = texture2D (_LightTextureB0, vec2(tmpvar_13)).w;
  atten_5 = tmpvar_14;
  highp float tmpvar_15;
  tmpvar_15 = ((sqrt(
    dot (tmpvar_11, tmpvar_11)
  ) * _LightPositionRange.w) * 0.97);
  highp vec4 tmpvar_16;
  tmpvar_16 = textureCube (_ShadowMapTexture, tmpvar_11);
  highp float tmpvar_17;
  tmpvar_17 = dot (tmpvar_16, vec4(1.0, 0.003921569, 1.53787e-05, 6.030863e-08));
  mediump float tmpvar_18;
  if ((tmpvar_17 < tmpvar_15)) {
    tmpvar_18 = _LightShadowData.x;
  } else {
    tmpvar_18 = 1.0;
  };
  highp vec4 tmpvar_19;
  tmpvar_19.w = 1.0;
  tmpvar_19.xyz = tmpvar_10;
  lowp vec4 tmpvar_20;
  highp vec3 P_21;
  P_21 = (_LightMatrix0 * tmpvar_19).xyz;
  tmpvar_20 = textureCube (_LightTexture0, P_21);
  highp float tmpvar_22;
  tmpvar_22 = ((atten_5 * tmpvar_18) * tmpvar_20.w);
  atten_5 = tmpvar_22;
  lowp vec4 tmpvar_23;
  tmpvar_23 = texture2D (_CameraGBufferTexture0, tmpvar_7);
  gbuffer0_3 = tmpvar_23;
  lowp vec4 tmpvar_24;
  tmpvar_24 = texture2D (_CameraGBufferTexture1, tmpvar_7);
  gbuffer1_2 = tmpvar_24;
  lowp vec4 tmpvar_25;
  tmpvar_25 = texture2D (_CameraGBufferTexture2, tmpvar_7);
  gbuffer2_1 = tmpvar_25;
  highp vec3 tmpvar_26;
  tmpvar_26 = (_LightColor.xyz * tmpvar_22);
  tmpvar_4 = tmpvar_26;
  mediump vec3 tmpvar_27;
  tmpvar_27 = normalize(((gbuffer2_1.xyz * 2.0) - 1.0));
  highp vec3 tmpvar_28;
  tmpvar_28 = normalize((tmpvar_10 - _WorldSpaceCameraPos));
  mediump vec3 viewDir_29;
  viewDir_29 = -(tmpvar_28);
  mediump vec3 tmpvar_30;
  tmpvar_30 = normalize((lightDir_6 + viewDir_29));
  mediump float tmpvar_31;
  tmpvar_31 = max (0.0, dot (lightDir_6, tmpvar_30));
  mediump float tmpvar_32;
  tmpvar_32 = (1.0 - gbuffer1_2.w);
  mediump float tmpvar_33;
  mediump float tmpvar_34;
  tmpvar_34 = (10.0 / log2((
    ((1.0 - tmpvar_32) * 0.968)
   + 0.03)));
  tmpvar_33 = (tmpvar_34 * tmpvar_34);
  mediump vec4 tmpvar_35;
  tmpvar_35.w = 1.0;
  tmpvar_35.xyz = (((gbuffer0_3.xyz + 
    ((((tmpvar_33 + 1.0) * pow (
      max (0.0, dot (tmpvar_27, tmpvar_30))
    , tmpvar_33)) / ((
      (unity_LightGammaCorrectionConsts.z * (((tmpvar_31 * tmpvar_31) * gbuffer1_2.w) + (tmpvar_32 * tmpvar_32)))
     * tmpvar_31) + 0.0001)) * gbuffer1_2.xyz)
  ) * tmpvar_4) * max (0.0, dot (tmpvar_27, lightDir_6)));
  gl_FragData[0] = tmpvar_35;
}



#endif                          