module.exports = "// https://codepen.io/timseverien/pen/EmJNOR?editors=0010\nvec3 snoiseVec3( vec3 x ){\n	float s  = snoise(vec3( x ));\n	float s1 = snoise(vec3( x.y - 19.1 , x.z + 33.4 , x.x + 47.2 ));\n	float s2 = snoise(vec3( x.z + 74.2 , x.x - 124.5 , x.y + 99.4 ));\n	vec3 c = vec3( s , s1 , s2 );\n	return c;\n}\n\nvec3 curlNoise( vec3 p ){\n	const float e = .1;\n	vec3 dx = vec3( e   , 0.0 , 0.0 );\n	vec3 dy = vec3( 0.0 , e   , 0.0 );\n	vec3 dz = vec3( 0.0 , 0.0 , e   );\n\n	vec3 p_x0 = snoiseVec3( p - dx );\n	vec3 p_x1 = snoiseVec3( p + dx );\n	vec3 p_y0 = snoiseVec3( p - dy );\n	vec3 p_y1 = snoiseVec3( p + dy );\n	vec3 p_z0 = snoiseVec3( p - dz );\n	vec3 p_z1 = snoiseVec3( p + dz );\n\n	float x = p_y1.z - p_y0.z - p_z1.y + p_z0.y;\n	float y = p_z1.x - p_z0.x - p_x1.z + p_x0.z;\n	float z = p_x1.y - p_x0.y - p_y1.x + p_y0.x;\n\n	const float divisor = 1.0 / ( 2.0 * e );\n	return normalize( vec3( x , y , z ) * divisor );\n}";
