uniform vec4 _BumpMap_ST;
attribute vec4 TANGENT;
void main ()
{
  vec3 binormal_1;
  binormal_1 = (((gl_Normal.yzx * TANGENT.zxy) - (gl_Normal.zxy * TANGENT.yzx)) * TANGENT.w);
  mat3 tmpvar_2;
  tmpvar_2[0].x = TANGENT.x;
  tmpvar_2[0].y = binormal_1.x;
  tmpvar_2[0].z = gl_Normal.x;
  tmpvar_2[1].x = TANGENT.y;
  tmpvar_2[1].y = binormal_1.y;
  tmpvar_2[1].z = gl_Normal.y;
  tmpvar_2[2].x = TANGENT.z;
  tmpvar_2[2].y = binormal_1.z;
  tmpvar_2[2].z = gl_Normal.z;
  gl_Position = (gl_ModelViewProjectionMatrix * gl_Vertex);
  vec4 tmpvar_3;
  tmpvar_3.zw = vec2(0.0, 0.0);
  tmpvar_3.xy = ((gl_MultiTexCoord0.xy * _BumpMap_ST.xy) + _BumpMap_ST.zw);
  gl_TexCoord[0] = tmpvar_3;
  vec4 tmpvar_4;
  tmpvar_4.w = 0.0;
  tmpvar_4.xyz = (tmpvar_2 * gl_ModelViewMatrixInverseTranspose[0].xyz);
  gl_TexCoord[1] = tmpvar_4;
  vec4 tmpvar_5;
  tmpvar_5.w = 0.0;
  tmpvar_5.xyz = (tmpvar_2 * gl_ModelViewMatrixInverseTranspose[1].xyz);
  gl_TexCoord[2] = tmpvar_5;
  vec4 tmpvar_6;
  tmpvar_6.w = 0.0;
  tmpvar_6.xyz = (tmpvar_2 * gl_ModelViewMatrixInverseTranspose[2].xyz);
  gl_TexCoord[3] = tmpvar_6;
}


// stats: 14 alu 0 tex 0 flow
// inputs: 4
//  #0: gl_MultiTexCoord0 (high float) 4x1 [-1] loc 8
//  #1: gl_Normal (high float) 3x1 [-1] loc 2
//  #2: gl_Vertex (high float) 4x1 [-1] loc 0
//  #3: TANGENT (high float) 4x1 [-1]
// uniforms: 3 (total size: 0)
//  #0: gl_ModelViewMatrixInverseTranspose (high float) 4x4 [-1]
//  #1: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #2: _BumpMap_ST (high float) 4x1 [-1]
