varying vec4 xlv_FOG;
attribute vec4 TANGENT;
uniform vec4 unity_Scale;
uniform vec4 unity_SHC;
uniform vec4 unity_SHBr;
uniform vec4 unity_SHBg;
uniform vec4 unity_SHBb;
uniform vec4 unity_SHAr;
uniform vec4 unity_SHAg;
uniform vec4 unity_SHAb;
uniform vec3 unity_LightColor3;
uniform vec3 unity_LightColor2;
uniform vec3 unity_LightColor1;
uniform vec3 unity_LightColor0;
uniform vec4 unity_4LightPosZ0;
uniform vec4 unity_4LightPosY0;
uniform vec4 unity_4LightPosX0;
uniform vec4 unity_4LightAtten0;
uniform vec4 _WorldSpaceLightPos0;
uniform vec3 _WorldSpaceCameraPos;
uniform mat4 _World2Object;
uniform vec4 _ProjectionParams;
uniform mat4 _Object2World;
uniform vec4 _MainTex_ST;
uniform vec4 _BumpMap_ST;
void main ()
{
  vec4 tmpvar_1;
  vec4 tmpvar_2;
  tmpvar_2 = (gl_ModelViewProjectionMatrix * gl_Vertex);
  tmpvar_1.xy = ((gl_MultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_1.zw = ((gl_MultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  mat3 tmpvar_3;
  tmpvar_3[0] = _Object2World[0].xyz;
  tmpvar_3[1] = _Object2World[1].xyz;
  tmpvar_3[2] = _Object2World[2].xyz;
  vec3 tmpvar_4;
  tmpvar_4 = (tmpvar_3 * (gl_Normal * unity_Scale.w));
  vec3 tmpvar_5;
  tmpvar_5 = (cross (gl_Normal, TANGENT.xyz) * TANGENT.w);
  mat3 tmpvar_6;
  tmpvar_6[0].x = TANGENT.x;
  tmpvar_6[0].y = tmpvar_5.x;
  tmpvar_6[0].z = gl_Normal.x;
  tmpvar_6[1].x = TANGENT.y;
  tmpvar_6[1].y = tmpvar_5.y;
  tmpvar_6[1].z = gl_Normal.y;
  tmpvar_6[2].x = TANGENT.z;
  tmpvar_6[2].y = tmpvar_5.z;
  tmpvar_6[2].z = gl_Normal.z;
  vec4 tmpvar_7;
  tmpvar_7.w = 1.0;
  tmpvar_7.xyz = _WorldSpaceCameraPos;
  vec4 tmpvar_8;
  tmpvar_8.w = 1.0;
  tmpvar_8.xyz = tmpvar_4;
  vec3 x2;
  vec3 x1;
  x1.x = dot (unity_SHAr, tmpvar_8);
  x1.y = dot (unity_SHAg, tmpvar_8);
  x1.z = dot (unity_SHAb, tmpvar_8);
  vec4 tmpvar_9;
  tmpvar_9 = (tmpvar_4.xyzz * tmpvar_4.yzzx);
  x2.x = dot (unity_SHBr, tmpvar_9);
  x2.y = dot (unity_SHBg, tmpvar_9);
  x2.z = dot (unity_SHBb, tmpvar_9);
  vec3 tmpvar_10;
  tmpvar_10 = (_Object2World * gl_Vertex).xyz;
  vec4 tmpvar_11;
  tmpvar_11 = (unity_4LightPosX0 - tmpvar_10.x);
  vec4 tmpvar_12;
  tmpvar_12 = (unity_4LightPosY0 - tmpvar_10.y);
  vec4 tmpvar_13;
  tmpvar_13 = (unity_4LightPosZ0 - tmpvar_10.z);
  vec4 tmpvar_14;
  tmpvar_14 = (((tmpvar_11 * tmpvar_11) + (tmpvar_12 * tmpvar_12)) + (tmpvar_13 * tmpvar_13));
  vec4 tmpvar_15;
  tmpvar_15 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_11 * tmpvar_4.x) + (tmpvar_12 * tmpvar_4.y)) + (tmpvar_13 * tmpvar_4.z)) * inversesqrt (tmpvar_14))) * (1.0/((1.0 + (tmpvar_14 * unity_4LightAtten0)))));
  vec4 o_i0;
  vec4 tmpvar_16;
  tmpvar_16 = (tmpvar_2 * 0.5);
  o_i0 = tmpvar_16;
  vec2 tmpvar_17;
  tmpvar_17.x = tmpvar_16.x;
  tmpvar_17.y = (tmpvar_16.y * _ProjectionParams.x);
  o_i0.xy = (tmpvar_17 + tmpvar_16.w);
  o_i0.zw = tmpvar_2.zw;
  gl_Position = tmpvar_2;
  vec4 tmpvar_18;
  tmpvar_18.yzw = vec3(0.0, 0.0, 0.0);
  tmpvar_18.x = tmpvar_2.z;
  xlv_FOG = tmpvar_18;
  gl_TexCoord[0] = tmpvar_1;
  vec4 tmpvar_19;
  tmpvar_19.w = 0.0;
  tmpvar_19.xyz = (tmpvar_6 * (((_World2Object * tmpvar_7).xyz * unity_Scale.w) - gl_Vertex.xyz));
  gl_TexCoord[1] = tmpvar_19;
  vec4 tmpvar_20;
  tmpvar_20.w = 0.0;
  tmpvar_20.xyz = (tmpvar_6 * (_World2Object * _WorldSpaceLightPos0).xyz);
  gl_TexCoord[2] = tmpvar_20;
  vec4 tmpvar_21;
  tmpvar_21.w = 0.0;
  tmpvar_21.xyz = (((x1 + x2) + (unity_SHC.xyz * ((tmpvar_4.x * tmpvar_4.x) - (tmpvar_4.y * tmpvar_4.y)))) + ((((unity_LightColor0 * tmpvar_15.x) + (unity_LightColor1 * tmpvar_15.y)) + (unity_LightColor2 * tmpvar_15.z)) + (unity_LightColor3 * tmpvar_15.w)));
  gl_TexCoord[3] = tmpvar_21;
  gl_TexCoord[4] = o_i0;
}

