1/* DO NOT MODIFY - automatically generated by generate_builtins.py */
2/*
3 * Copyright © 2010 Intel Corporation
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
14 * Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
23 */
24
25#include <stdio.h>
26#include "main/core.h" /* for struct gl_shader */
27#include "glsl_parser_extras.h"
28#include "ir_reader.h"
29#include "program.h"
30#include "ast.h"
31
32extern "C" struct gl_shader *
33_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
34
35gl_shader *
36read_builtins(GLenum target, const char *protos, const char **functions, unsigned count)
37{
38   struct gl_context fakeCtx;
39   fakeCtx.API = API_OPENGL;
40   fakeCtx.Const.GLSLVersion = 140;
41   fakeCtx.Extensions.ARB_ES2_compatibility = true;
42   fakeCtx.Const.ForceGLSLExtensionsWarn = false;
43   gl_shader *sh = _mesa_new_shader(NULL, 0, target);
44   struct _mesa_glsl_parse_state *st =
45      new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh);
46
47   st->language_version = 140;
48   st->symbols->language_version = 140;
49   st->ARB_texture_rectangle_enable = true;
50   st->EXT_texture_array_enable = true;
51   st->OES_EGL_image_external_enable = true;
52   st->ARB_shader_bit_encoding_enable = true;
53   _mesa_glsl_initialize_types(st);
54
55   sh->ir = new(sh) exec_list;
56   sh->symbols = st->symbols;
57
58   /* Read the IR containing the prototypes */
59   _mesa_glsl_read_ir(st, sh->ir, protos, true);
60
61   /* Read ALL the function bodies, telling the IR reader not to scan for
62    * prototypes (we've already created them).  The IR reader will skip any
63    * signature that does not already exist as a prototype.
64    */
65   for (unsigned i = 0; i < count; i++) {
66      _mesa_glsl_read_ir(st, sh->ir, functions[i], false);
67
68      if (st->error) {
69         printf("error reading builtin: %.35s ...\n", functions[i]);
70         printf("Info log:\n%s\n", st->info_log);
71         ralloc_free(sh);
72         return NULL;
73      }
74   }
75
76   reparent_ir(sh->ir, sh);
77   delete st;
78
79   return sh;
80}
81
82static const char builtin_abs[] =
83   "((function abs\n"
84   "   (signature float\n"
85   "     (parameters\n"
86   "       (declare (in) float arg0))\n"
87   "     ((return (expression float abs (var_ref arg0)))))\n"
88   "\n"
89   "   (signature vec2\n"
90   "     (parameters\n"
91   "       (declare (in) vec2 arg0))\n"
92   "     ((return (expression vec2 abs (var_ref arg0)))))\n"
93   "\n"
94   "   (signature vec3\n"
95   "     (parameters\n"
96   "       (declare (in) vec3 arg0))\n"
97   "     ((return (expression vec3 abs (var_ref arg0)))))\n"
98   "\n"
99   "   (signature vec4\n"
100   "     (parameters\n"
101   "       (declare (in) vec4 arg0))\n"
102   "     ((return (expression vec4 abs (var_ref arg0)))))\n"
103   "\n"
104   "   (signature int\n"
105   "     (parameters\n"
106   "       (declare (in) int arg0))\n"
107   "     ((return (expression int abs (var_ref arg0)))))\n"
108   "\n"
109   "   (signature ivec2\n"
110   "     (parameters\n"
111   "       (declare (in) ivec2 arg0))\n"
112   "     ((return (expression ivec2 abs (var_ref arg0)))))\n"
113   "\n"
114   "   (signature ivec3\n"
115   "     (parameters\n"
116   "       (declare (in) ivec3 arg0))\n"
117   "     ((return (expression ivec3 abs (var_ref arg0)))))\n"
118   "\n"
119   "   (signature ivec4\n"
120   "     (parameters\n"
121   "       (declare (in) ivec4 arg0))\n"
122   "     ((return (expression ivec4 abs (var_ref arg0)))))\n"
123   "))\n"
124   ""
125;
126static const char builtin_acos[] =
127   "((function acos\n"
128   "   (signature float\n"
129   "     (parameters\n"
130   "       (declare (in) float x))\n"
131   "     ((declare () float s)\n"
132   "      (call asin (var_ref s) ((var_ref x)))\n"
133   "      (return (expression float - (constant float (1.5707964)) (var_ref s)))))\n"
134   "\n"
135   "   (signature vec2\n"
136   "     (parameters\n"
137   "       (declare (in) vec2 x))\n"
138   "     ((declare () vec2 s)\n"
139   "      (call asin (var_ref s) ((var_ref x)))\n"
140   "      (return (expression vec2 - (constant float (1.5707964)) (var_ref s)))))\n"
141   "\n"
142   "   (signature vec3\n"
143   "     (parameters\n"
144   "       (declare (in) vec3 x))\n"
145   "     ((declare () vec3 s)\n"
146   "      (call asin (var_ref s) ((var_ref x)))\n"
147   "      (return (expression vec3 - (constant float (1.5707964)) (var_ref s)))))\n"
148   "\n"
149   "   (signature vec4\n"
150   "     (parameters\n"
151   "       (declare (in) vec4 x))\n"
152   "     ((declare () vec4 s)\n"
153   "      (call asin (var_ref s) ((var_ref x)))\n"
154   "      (return (expression vec4 - (constant float (1.5707964)) (var_ref s)))))\n"
155   "))\n"
156   ""
157;
158static const char builtin_acosh[] =
159   "((function acosh\n"
160   "   (signature float\n"
161   "     (parameters\n"
162   "       (declare (in) float x))\n"
163   "     ((return (expression float log (expression float + (var_ref x) (expression float sqrt (expression float - (expression float * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
164   "\n"
165   "   (signature vec2\n"
166   "     (parameters\n"
167   "       (declare (in) vec2 x))\n"
168   "     ((return (expression vec2 log (expression vec2 + (var_ref x) (expression vec2 sqrt (expression vec2 - (expression vec2 * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
169   "\n"
170   "   (signature vec3\n"
171   "     (parameters\n"
172   "       (declare (in) vec3 x))\n"
173   "     ((return (expression vec3 log (expression vec3 + (var_ref x) (expression vec3 sqrt (expression vec3 - (expression vec3 * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
174   "\n"
175   "   (signature vec4\n"
176   "     (parameters\n"
177   "       (declare (in) vec4 x))\n"
178   "     ((return (expression vec4 log (expression vec4 + (var_ref x) (expression vec4 sqrt (expression vec4 - (expression vec4 * (var_ref x) (var_ref x)) (constant float (1)))))))))\n"
179   "))\n"
180   ""
181;
182static const char builtin_all[] =
183   "((function all\n"
184   "   (signature bool\n"
185   "     (parameters\n"
186   "       (declare (in) bvec2 arg0))\n"
187   "     ((return (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))))))\n"
188   "\n"
189   "   (signature bool\n"
190   "     (parameters\n"
191   "       (declare (in) bvec3 arg0))\n"
192   "     ((return (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))))))\n"
193   "\n"
194   "   (signature bool\n"
195   "     (parameters\n"
196   "       (declare (in) bvec4 arg0))\n"
197   "     ((return (expression bool && (expression bool && (expression bool && (swiz x (var_ref arg0))(swiz y (var_ref arg0))) (swiz z (var_ref arg0))) (swiz w (var_ref arg0))))))\n"
198   "))\n"
199   ""
200;
201static const char builtin_any[] =
202   "((function any\n"
203   "   (signature bool\n"
204   "     (parameters\n"
205   "       (declare (in) bvec2 arg0))\n"
206   "     ((return (expression bool any (var_ref arg0)))))\n"
207   "\n"
208   "   (signature bool\n"
209   "     (parameters\n"
210   "       (declare (in) bvec3 arg0))\n"
211   "     ((return (expression bool any (var_ref arg0)))))\n"
212   "\n"
213   "   (signature bool\n"
214   "     (parameters\n"
215   "       (declare (in) bvec4 arg0))\n"
216   "     ((return (expression bool any (var_ref arg0)))))\n"
217   "))\n"
218   ""
219;
220static const char builtin_asin[] =
221   "((function asin\n"
222   "   (signature float\n"
223   "     (parameters\n"
224   "       (declare (in) float x))\n"
225   "     ((return (expression float *\n"
226   "	       (expression float sign (var_ref x))\n"
227   "	       (expression float -\n"
228   "		(constant float (1.5707964))\n"
229   "		(expression float *\n"
230   "		 (expression float sqrt\n"
231   "		  (expression float -\n"
232   "		   (constant float (1.0))\n"
233   "		   (expression float abs (var_ref x))))\n"
234   "		 (expression float +\n"
235   "		  (constant float (1.5707964))\n"
236   "		  (expression float *\n"
237   "		   (expression float abs (var_ref x))\n"
238   "		   (expression float +\n"
239   "		    (constant float (-0.21460183))\n"
240   "		    (expression float *\n"
241   "		     (expression float abs (var_ref x))\n"
242   "                     (expression float +\n"
243   "                      (constant float (0.086566724))\n"
244   "                      (expression float *\n"
245   "                       (expression float abs (var_ref x))\n"
246   "                       (constant float (-0.03102955))\n"
247   "		     ))))))))))))\n"
248   "\n"
249   "   (signature vec2\n"
250   "     (parameters\n"
251   "       (declare (in) vec2 x))\n"
252   "     ((return (expression vec2 *\n"
253   "	       (expression vec2 sign (var_ref x))\n"
254   "	       (expression vec2 -\n"
255   "		(constant float (1.5707964))\n"
256   "		(expression vec2 *\n"
257   "		 (expression vec2 sqrt\n"
258   "		  (expression vec2 -\n"
259   "		   (constant float (1.0))\n"
260   "		   (expression vec2 abs (var_ref x))))\n"
261   "		 (expression vec2 +\n"
262   "		  (constant float (1.5707964))\n"
263   "		  (expression vec2 *\n"
264   "		   (expression vec2 abs (var_ref x))\n"
265   "		   (expression vec2 +\n"
266   "		    (constant float (-0.21460183))\n"
267   "		    (expression vec2 *\n"
268   "		     (expression vec2 abs (var_ref x))\n"
269   "                     (expression vec2 +\n"
270   "                      (constant float (0.086566724))\n"
271   "                      (expression vec2 *\n"
272   "                       (expression vec2 abs (var_ref x))\n"
273   "                       (constant float (-0.03102955))\n"
274   "		     ))))))))))))\n"
275   "\n"
276   "   (signature vec3\n"
277   "     (parameters\n"
278   "       (declare (in) vec3 x))\n"
279   "     ((return (expression vec3 *\n"
280   "	       (expression vec3 sign (var_ref x))\n"
281   "	       (expression vec3 -\n"
282   "		(constant float (1.5707964))\n"
283   "		(expression vec3 *\n"
284   "		 (expression vec3 sqrt\n"
285   "		  (expression vec3 -\n"
286   "		   (constant float (1.0))\n"
287   "		   (expression vec3 abs (var_ref x))))\n"
288   "		 (expression vec3 +\n"
289   "		  (constant float (1.5707964))\n"
290   "		  (expression vec3 *\n"
291   "		   (expression vec3 abs (var_ref x))\n"
292   "		   (expression vec3 +\n"
293   "		    (constant float (-0.21460183))\n"
294   "		    (expression vec3 *\n"
295   "		     (expression vec3 abs (var_ref x))\n"
296   "                     (expression vec3 +\n"
297   "                      (constant float (0.086566724))\n"
298   "                      (expression vec3 *\n"
299   "                       (expression vec3 abs (var_ref x))\n"
300   "                       (constant float (-0.03102955))\n"
301   "		     ))))))))))))\n"
302   "\n"
303   "   (signature vec4\n"
304   "     (parameters\n"
305   "       (declare (in) vec4 x))\n"
306   "     ((return (expression vec4 *\n"
307   "	       (expression vec4 sign (var_ref x))\n"
308   "	       (expression vec4 -\n"
309   "		(constant float (1.5707964))\n"
310   "		(expression vec4 *\n"
311   "		 (expression vec4 sqrt\n"
312   "		  (expression vec4 -\n"
313   "		   (constant float (1.0))\n"
314   "		   (expression vec4 abs (var_ref x))))\n"
315   "		 (expression vec4 +\n"
316   "		  (constant float (1.5707964))\n"
317   "		  (expression vec4 *\n"
318   "		   (expression vec4 abs (var_ref x))\n"
319   "		   (expression vec4 +\n"
320   "		    (constant float (-0.21460183))\n"
321   "		    (expression vec4 *\n"
322   "		     (expression vec4 abs (var_ref x))\n"
323   "                     (expression vec4 +\n"
324   "                      (constant float (0.086566724))\n"
325   "                      (expression vec4 *\n"
326   "                       (expression vec4 abs (var_ref x))\n"
327   "                       (constant float (-0.03102955))\n"
328   "		     ))))))))))))\n"
329   "))\n"
330   ""
331;
332static const char builtin_asinh[] =
333   "((function asinh\n"
334   "   (signature float\n"
335   "     (parameters\n"
336   "       (declare (in) float x))\n"
337   "     ((return (expression float *\n"
338   "               (expression float sign (var_ref x))\n"
339   "               (expression float log\n"
340   "                (expression float +\n"
341   "                 (expression float abs (var_ref x))\n"
342   "                 (expression float sqrt\n"
343   "                  (expression float +\n"
344   "                   (expression float * (var_ref x) (var_ref x))\n"
345   "                   (constant float (1))))))))))\n"
346   "\n"
347   "   (signature vec2\n"
348   "     (parameters\n"
349   "       (declare (in) vec2 x))\n"
350   "     ((return (expression vec2 *\n"
351   "               (expression vec2 sign (var_ref x))\n"
352   "               (expression vec2 log\n"
353   "                (expression vec2 +\n"
354   "                 (expression vec2 abs (var_ref x))\n"
355   "                 (expression vec2 sqrt\n"
356   "                  (expression vec2 +\n"
357   "                   (expression vec2 * (var_ref x) (var_ref x))\n"
358   "                   (constant float (1))))))))))\n"
359   "\n"
360   "   (signature vec3\n"
361   "     (parameters\n"
362   "       (declare (in) vec3 x))\n"
363   "     ((return (expression vec3 *\n"
364   "               (expression vec3 sign (var_ref x))\n"
365   "               (expression vec3 log\n"
366   "                (expression vec3 +\n"
367   "                 (expression vec3 abs (var_ref x))\n"
368   "                 (expression vec3 sqrt\n"
369   "                  (expression vec3 +\n"
370   "                   (expression vec3 * (var_ref x) (var_ref x))\n"
371   "                   (constant float (1))))))))))\n"
372   "\n"
373   "   (signature vec4\n"
374   "     (parameters\n"
375   "       (declare (in) vec4 x))\n"
376   "     ((return (expression vec4 *\n"
377   "               (expression vec4 sign (var_ref x))\n"
378   "               (expression vec4 log\n"
379   "                (expression vec4 +\n"
380   "                 (expression vec4 abs (var_ref x))\n"
381   "                 (expression vec4 sqrt\n"
382   "                  (expression vec4 +\n"
383   "                   (expression vec4 * (var_ref x) (var_ref x))\n"
384   "                   (constant float (1))))))))))\n"
385   "))\n"
386   ""
387;
388static const char builtin_atan[] =
389   "((function atan\n"
390   "   (signature float\n"
391   "     (parameters\n"
392   "       (declare (in) float y_over_x))\n"
393   "     ((declare () float s)\n"
394   "      (call asin (var_ref s)\n"
395   "			  ((expression float *\n"
396   "			   (var_ref y_over_x)\n"
397   "			   (expression float rsq\n"
398   "			    (expression float +\n"
399   "			     (expression float *\n"
400   "			      (var_ref y_over_x)\n"
401   "			      (var_ref y_over_x))\n"
402   "			     (constant float (1.0)))))))\n"
403   "      (return (var_ref s))))\n"
404   "\n"
405   "   (signature vec2\n"
406   "     (parameters\n"
407   "       (declare (in) vec2 y_over_x))\n"
408   "     ((declare () vec2 s)\n"
409   "      (call asin (var_ref s)\n"
410   "			  ((expression vec2 *\n"
411   "			   (var_ref y_over_x)\n"
412   "			   (expression vec2 rsq\n"
413   "			    (expression vec2 +\n"
414   "			     (expression vec2 *\n"
415   "			      (var_ref y_over_x)\n"
416   "			      (var_ref y_over_x))\n"
417   "			     (constant float (1.0)))))))\n"
418   "      (return (var_ref s))))\n"
419   "\n"
420   "   (signature vec3\n"
421   "     (parameters\n"
422   "       (declare (in) vec3 y_over_x))\n"
423   "     ((declare () vec3 s)\n"
424   "      (call asin (var_ref s)\n"
425   "			  ((expression vec3 *\n"
426   "			   (var_ref y_over_x)\n"
427   "			   (expression vec3 rsq\n"
428   "			    (expression vec3 +\n"
429   "			     (expression vec3 *\n"
430   "			      (var_ref y_over_x)\n"
431   "			      (var_ref y_over_x))\n"
432   "			     (constant float (1.0)))))))\n"
433   "      (return (var_ref s))))\n"
434   "\n"
435   "   (signature vec4\n"
436   "     (parameters\n"
437   "       (declare (in) vec4 y_over_x))\n"
438   "     ((declare () vec4 s)\n"
439   "      (call asin (var_ref s)\n"
440   "			  ((expression vec4 *\n"
441   "			   (var_ref y_over_x)\n"
442   "			   (expression vec4 rsq\n"
443   "			    (expression vec4 +\n"
444   "			     (expression vec4 *\n"
445   "			      (var_ref y_over_x)\n"
446   "			      (var_ref y_over_x))\n"
447   "			     (constant float (1.0)))))))\n"
448   "      (return (var_ref s))))\n"
449   "\n"
450   "  (signature float\n"
451   "    (parameters\n"
452   "      (declare (in ) float y)\n"
453   "      (declare (in ) float x)\n"
454   "    )\n"
455   "    (\n"
456   "      (declare () float r)\n"
457   "      (if (expression bool >\n"
458   "           (expression float abs (var_ref x))\n"
459   "           (expression float * (constant float (1.0e-8)) (expression float abs (var_ref y)))) (\n"
460   "        (call atan (var_ref r) ((expression float / (var_ref y) (var_ref x))))\n"
461   "        (if (expression bool < (var_ref x) (constant float (0.000000)) ) (\n"
462   "          (if (expression bool >= (var_ref y) (constant float (0.000000)) )\n"
463   "              ((assign (x) (var_ref r) (expression float + (var_ref r) (constant float (3.141593)))))\n"
464   "              ((assign (x) (var_ref r) (expression float - (var_ref r) (constant float (3.141593))))))\n"
465   "        )\n"
466   "        (\n"
467   "        ))\n"
468   "      )\n"
469   "      (\n"
470   "        (declare () float sgn)\n"
471   "        (assign (x) (var_ref sgn) (expression float sign (var_ref y)))\n"
472   "        (assign (x) (var_ref r) (expression float * (var_ref sgn) (constant float (1.5707965))))\n"
473   "      ))\n"
474   "\n"
475   "      (return (var_ref r) )\n"
476   "    ))\n"
477   "\n"
478   "\n"
479   "\n"
480   "   (signature vec2\n"
481   "     (parameters\n"
482   "       (declare (in) vec2 y)\n"
483   "       (declare (in) vec2 x))\n"
484   "     ((declare () vec2 r)\n"
485   "      (declare () float temp)\n"
486   "      (call atan (var_ref temp) ((swiz x (var_ref y)) (swiz x (var_ref x))))\n"
487   "      (assign (x) (var_ref r) (var_ref temp))\n"
488   "      (call atan (var_ref temp) ((swiz y (var_ref y)) (swiz y (var_ref x))))\n"
489   "      (assign (y) (var_ref r) (var_ref temp))\n"
490   "      (return (var_ref r))))\n"
491   "\n"
492   "   (signature vec3\n"
493   "     (parameters\n"
494   "       (declare (in) vec3 y)\n"
495   "       (declare (in) vec3 x))\n"
496   "     ((declare () vec3 r)\n"
497   "      (declare () float temp)\n"
498   "      (call atan (var_ref temp) ((swiz x (var_ref y)) (swiz x (var_ref x))))\n"
499   "      (assign (x) (var_ref r) (var_ref temp))\n"
500   "      (call atan (var_ref temp) ((swiz y (var_ref y)) (swiz y (var_ref x))))\n"
501   "      (assign (y) (var_ref r) (var_ref temp))\n"
502   "      (call atan (var_ref temp) ((swiz z (var_ref y)) (swiz z (var_ref x))))\n"
503   "      (assign (z) (var_ref r) (var_ref temp))\n"
504   "      (return (var_ref r))))\n"
505   "\n"
506   "   (signature vec4\n"
507   "     (parameters\n"
508   "       (declare (in) vec4 y)\n"
509   "       (declare (in) vec4 x))\n"
510   "     ((declare () vec4 r)\n"
511   "      (declare () float temp)\n"
512   "      (call atan (var_ref temp) ((swiz x (var_ref y)) (swiz x (var_ref x))))\n"
513   "      (assign (x) (var_ref r) (var_ref temp))\n"
514   "      (call atan (var_ref temp) ((swiz y (var_ref y)) (swiz y (var_ref x))))\n"
515   "      (assign (y) (var_ref r) (var_ref temp))\n"
516   "      (call atan (var_ref temp) ((swiz z (var_ref y)) (swiz z (var_ref x))))\n"
517   "      (assign (z) (var_ref r) (var_ref temp))\n"
518   "      (call atan (var_ref temp) ((swiz w (var_ref y)) (swiz w (var_ref x))))\n"
519   "      (assign (w) (var_ref r) (var_ref temp))\n"
520   "      (return (var_ref r))))\n"
521   "\n"
522   "))\n"
523   ""
524;
525static const char builtin_atanh[] =
526   "((function atanh\n"
527   "   (signature float\n"
528   "     (parameters\n"
529   "       (declare (in) float x))\n"
530   "     ((return (expression float * (constant float (0.5))\n"
531   "                (expression float log\n"
532   "		  (expression float /\n"
533   "                    (expression float + (constant float (1)) (var_ref x))\n"
534   "                    (expression float - (constant float (1)) (var_ref x))))))))\n"
535   "\n"
536   "   (signature vec2\n"
537   "     (parameters\n"
538   "       (declare (in) vec2 x))\n"
539   "     ((return (expression vec2 * (constant float (0.5))\n"
540   "                (expression vec2 log\n"
541   "		  (expression vec2 /\n"
542   "                    (expression vec2 + (constant float (1)) (var_ref x))\n"
543   "                    (expression vec2 - (constant float (1)) (var_ref x))))))))\n"
544   "\n"
545   "   (signature vec3\n"
546   "     (parameters\n"
547   "       (declare (in) vec3 x))\n"
548   "     ((return (expression vec3 * (constant float (0.5))\n"
549   "                (expression vec3 log\n"
550   "		  (expression vec3 /\n"
551   "                    (expression vec3 + (constant float (1)) (var_ref x))\n"
552   "                    (expression vec3 - (constant float (1)) (var_ref x))))))))\n"
553   "\n"
554   "   (signature vec4\n"
555   "     (parameters\n"
556   "       (declare (in) vec4 x))\n"
557   "     ((return (expression vec4 * (constant float (0.5))\n"
558   "                (expression vec4 log\n"
559   "		  (expression vec4 /\n"
560   "                    (expression vec4 + (constant float (1)) (var_ref x))\n"
561   "                    (expression vec4 - (constant float (1)) (var_ref x))))))))\n"
562   "))\n"
563   ""
564;
565static const char builtin_ceil[] =
566   "((function ceil\n"
567   "   (signature float\n"
568   "     (parameters\n"
569   "       (declare (in) float arg0))\n"
570   "     ((return (expression float ceil (var_ref arg0)))))\n"
571   "\n"
572   "   (signature vec2\n"
573   "     (parameters\n"
574   "       (declare (in) vec2 arg0))\n"
575   "     ((return (expression vec2 ceil (var_ref arg0)))))\n"
576   "\n"
577   "   (signature vec3\n"
578   "     (parameters\n"
579   "       (declare (in) vec3 arg0))\n"
580   "     ((return (expression vec3 ceil (var_ref arg0)))))\n"
581   "\n"
582   "   (signature vec4\n"
583   "     (parameters\n"
584   "       (declare (in) vec4 arg0))\n"
585   "     ((return (expression vec4 ceil (var_ref arg0)))))\n"
586   "))\n"
587   ""
588;
589static const char builtin_clamp[] =
590   "((function clamp\n"
591   "   (signature float\n"
592   "     (parameters\n"
593   "       (declare (in) float arg0)\n"
594   "       (declare (in) float arg1)\n"
595   "       (declare (in) float arg2))\n"
596   "     ((return (expression float max (expression float min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
597   "\n"
598   "   (signature vec2\n"
599   "     (parameters\n"
600   "       (declare (in) vec2 arg0)\n"
601   "       (declare (in) vec2 arg1)\n"
602   "       (declare (in) vec2 arg2))\n"
603   "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
604   "\n"
605   "   (signature vec3\n"
606   "     (parameters\n"
607   "       (declare (in) vec3 arg0)\n"
608   "       (declare (in) vec3 arg1)\n"
609   "       (declare (in) vec3 arg2))\n"
610   "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
611   "\n"
612   "   (signature vec4\n"
613   "     (parameters\n"
614   "       (declare (in) vec4 arg0)\n"
615   "       (declare (in) vec4 arg1)\n"
616   "       (declare (in) vec4 arg2))\n"
617   "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
618   "\n"
619   "   (signature vec2\n"
620   "     (parameters\n"
621   "       (declare (in) vec2  arg0)\n"
622   "       (declare (in) float arg1)\n"
623   "       (declare (in) float arg2))\n"
624   "     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
625   "\n"
626   "   (signature vec3\n"
627   "     (parameters\n"
628   "       (declare (in) vec3  arg0)\n"
629   "       (declare (in) float arg1)\n"
630   "       (declare (in) float arg2))\n"
631   "     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
632   "\n"
633   "   (signature vec4\n"
634   "     (parameters\n"
635   "       (declare (in) vec4  arg0)\n"
636   "       (declare (in) float arg1)\n"
637   "       (declare (in) float arg2))\n"
638   "     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
639   "\n"
640   "   (signature int\n"
641   "     (parameters\n"
642   "       (declare (in) int arg0)\n"
643   "       (declare (in) int arg1)\n"
644   "       (declare (in) int arg2))\n"
645   "     ((return (expression int max (expression int min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
646   "\n"
647   "   (signature ivec2\n"
648   "     (parameters\n"
649   "       (declare (in) ivec2 arg0)\n"
650   "       (declare (in) ivec2 arg1)\n"
651   "       (declare (in) ivec2 arg2))\n"
652   "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
653   "\n"
654   "   (signature ivec3\n"
655   "     (parameters\n"
656   "       (declare (in) ivec3 arg0)\n"
657   "       (declare (in) ivec3 arg1)\n"
658   "       (declare (in) ivec3 arg2))\n"
659   "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
660   "\n"
661   "   (signature ivec4\n"
662   "     (parameters\n"
663   "       (declare (in) ivec4 arg0)\n"
664   "       (declare (in) ivec4 arg1)\n"
665   "       (declare (in) ivec4 arg2))\n"
666   "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
667   "\n"
668   "   (signature ivec2\n"
669   "     (parameters\n"
670   "       (declare (in) ivec2 arg0)\n"
671   "       (declare (in) int arg1)\n"
672   "       (declare (in) int arg2))\n"
673   "     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
674   "\n"
675   "   (signature ivec3\n"
676   "     (parameters\n"
677   "       (declare (in) ivec3 arg0)\n"
678   "       (declare (in) int arg1)\n"
679   "       (declare (in) int arg2))\n"
680   "     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
681   "\n"
682   "   (signature ivec4\n"
683   "     (parameters\n"
684   "       (declare (in) ivec4 arg0)\n"
685   "       (declare (in) int arg1)\n"
686   "       (declare (in) int arg2))\n"
687   "     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
688   "\n"
689   "   (signature uint\n"
690   "     (parameters\n"
691   "       (declare (in) uint arg0)\n"
692   "       (declare (in) uint arg1)\n"
693   "       (declare (in) uint arg2))\n"
694   "     ((return (expression uint max (expression uint min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
695   "\n"
696   "   (signature uvec2\n"
697   "     (parameters\n"
698   "       (declare (in) uvec2 arg0)\n"
699   "       (declare (in) uvec2 arg1)\n"
700   "       (declare (in) uvec2 arg2))\n"
701   "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
702   "\n"
703   "   (signature uvec3\n"
704   "     (parameters\n"
705   "       (declare (in) uvec3 arg0)\n"
706   "       (declare (in) uvec3 arg1)\n"
707   "       (declare (in) uvec3 arg2))\n"
708   "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
709   "\n"
710   "   (signature uvec4\n"
711   "     (parameters\n"
712   "       (declare (in) uvec4 arg0)\n"
713   "       (declare (in) uvec4 arg1)\n"
714   "       (declare (in) uvec4 arg2))\n"
715   "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
716   "\n"
717   "   (signature uvec2\n"
718   "     (parameters\n"
719   "       (declare (in) uvec2 arg0)\n"
720   "       (declare (in) uint arg1)\n"
721   "       (declare (in) uint arg2))\n"
722   "     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
723   "\n"
724   "   (signature uvec3\n"
725   "     (parameters\n"
726   "       (declare (in) uvec3 arg0)\n"
727   "       (declare (in) uint arg1)\n"
728   "       (declare (in) uint arg2))\n"
729   "     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
730   "\n"
731   "   (signature uvec4\n"
732   "     (parameters\n"
733   "       (declare (in) uvec4 arg0)\n"
734   "       (declare (in) uint arg1)\n"
735   "       (declare (in) uint arg2))\n"
736   "     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))\n"
737   "))\n"
738   ""
739;
740static const char builtin_cos[] =
741   "((function cos\n"
742   "   (signature float\n"
743   "     (parameters\n"
744   "       (declare (in) float angle))\n"
745   "     ((return (expression float cos (var_ref angle)))))\n"
746   "\n"
747   "   (signature vec2\n"
748   "     (parameters\n"
749   "       (declare (in) vec2 angle))\n"
750   "     ((return (expression vec2 cos (var_ref angle)))))\n"
751   "\n"
752   "   (signature vec3\n"
753   "     (parameters\n"
754   "       (declare (in) vec3 angle))\n"
755   "     ((return (expression vec3 cos (var_ref angle)))))\n"
756   "\n"
757   "   (signature vec4\n"
758   "     (parameters\n"
759   "       (declare (in) vec4 angle))\n"
760   "     ((return (expression vec4 cos (var_ref angle)))))\n"
761   "))\n"
762   ""
763;
764static const char builtin_cosh[] =
765   "((function cosh\n"
766   "   (signature float\n"
767   "     (parameters\n"
768   "       (declare (in) float x))\n"
769   "     ((return (expression float * (constant float (0.5))\n"
770   "                (expression float +\n"
771   "		  (expression float exp (var_ref x))\n"
772   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
773   "   (signature vec2\n"
774   "     (parameters\n"
775   "       (declare (in) vec2 x))\n"
776   "     ((return (expression vec2 * (constant float (0.5))\n"
777   "                (expression vec2 +\n"
778   "		  (expression vec2 exp (var_ref x))\n"
779   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
780   "   (signature vec3\n"
781   "     (parameters\n"
782   "       (declare (in) vec3 x))\n"
783   "     ((return (expression vec3 * (constant float (0.5))\n"
784   "                (expression vec3 +\n"
785   "		  (expression vec3 exp (var_ref x))\n"
786   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
787   "   (signature vec4\n"
788   "     (parameters\n"
789   "       (declare (in) vec4 x))\n"
790   "     ((return (expression vec4 * (constant float (0.5))\n"
791   "                (expression vec4 +\n"
792   "		  (expression vec4 exp (var_ref x))\n"
793   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
794   "))\n"
795   ""
796;
797static const char builtin_cross[] =
798   "((function cross\n"
799   "   (signature vec3\n"
800   "     (parameters\n"
801   "       (declare (in) vec3 a)\n"
802   "       (declare (in) vec3 b))\n"
803   "     ((return (expression vec3 -\n"
804   "        (expression vec3 * (swiz yzx (var_ref a)) (swiz zxy (var_ref b)))\n"
805   "        (expression vec3 * (swiz zxy (var_ref a)) (swiz yzx (var_ref b)))))))\n"
806   "))\n"
807   ""
808;
809static const char builtin_dFdx[] =
810   "((function dFdx\n"
811   "   (signature float\n"
812   "     (parameters\n"
813   "       (declare (in) float p))\n"
814   "     ((return (expression float dFdx (var_ref p)))))\n"
815   "\n"
816   "   (signature vec2\n"
817   "     (parameters\n"
818   "       (declare (in) vec2 p))\n"
819   "     ((return (expression vec2 dFdx (var_ref p)))))\n"
820   "\n"
821   "   (signature vec3\n"
822   "     (parameters\n"
823   "       (declare (in) vec3 p))\n"
824   "     ((return (expression vec3 dFdx (var_ref p)))))\n"
825   "\n"
826   "   (signature vec4\n"
827   "     (parameters\n"
828   "       (declare (in) vec4 p))\n"
829   "     ((return (expression vec4 dFdx (var_ref p)))))\n"
830   "))\n"
831   ""
832;
833static const char builtin_dFdy[] =
834   "((function dFdy\n"
835   "   (signature float\n"
836   "     (parameters\n"
837   "       (declare (in) float p))\n"
838   "     ((return (expression float dFdy (var_ref p)))))\n"
839   "\n"
840   "   (signature vec2\n"
841   "     (parameters\n"
842   "       (declare (in) vec2 p))\n"
843   "     ((return (expression vec2 dFdy (var_ref p)))))\n"
844   "\n"
845   "   (signature vec3\n"
846   "     (parameters\n"
847   "       (declare (in) vec3 p))\n"
848   "     ((return (expression vec3 dFdy (var_ref p)))))\n"
849   "\n"
850   "   (signature vec4\n"
851   "     (parameters\n"
852   "       (declare (in) vec4 p))\n"
853   "     ((return (expression vec4 dFdy (var_ref p)))))\n"
854   "))\n"
855   ""
856;
857static const char builtin_degrees[] =
858   "((function degrees\n"
859   "   (signature float\n"
860   "     (parameters\n"
861   "       (declare (in) float arg0))\n"
862   "     ((return (expression float * (var_ref arg0) (constant float (57.295780))))))\n"
863   "\n"
864   "   (signature vec2\n"
865   "     (parameters\n"
866   "       (declare (in) vec2 arg0))\n"
867   "     ((return (expression vec2 * (var_ref arg0) (constant float (57.295780))))))\n"
868   "\n"
869   "   (signature vec3\n"
870   "     (parameters\n"
871   "       (declare (in) vec3 arg0))\n"
872   "     ((return (expression vec3 * (var_ref arg0) (constant float (57.295780))))))\n"
873   "\n"
874   "   (signature vec4\n"
875   "     (parameters\n"
876   "       (declare (in) vec4 arg0))\n"
877   "     ((return (expression vec4 * (var_ref arg0) (constant float (57.295780))))))\n"
878   "))\n"
879   ""
880;
881static const char builtin_distance[] =
882   "((function distance\n"
883   "   (signature float\n"
884   "     (parameters\n"
885   "       (declare (in) float p0)\n"
886   "       (declare (in) float p1))\n"
887   "     ((return (expression float abs (expression float - (var_ref p0) (var_ref p1))))))\n"
888   "\n"
889   "   (signature float\n"
890   "     (parameters\n"
891   "       (declare (in) vec2 p0)\n"
892   "       (declare (in) vec2 p1))\n"
893   "     ((declare () vec2 p)\n"
894   "      (assign (xy) (var_ref p) (expression vec2 - (var_ref p0) (var_ref p1)))\n"
895   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
896   "\n"
897   "   (signature float\n"
898   "     (parameters\n"
899   "       (declare (in) vec3 p0)\n"
900   "       (declare (in) vec3 p1))\n"
901   "     ((declare () vec3 p)\n"
902   "      (assign (xyz) (var_ref p) (expression vec3 - (var_ref p0) (var_ref p1)))\n"
903   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
904   "\n"
905   "   (signature float\n"
906   "     (parameters\n"
907   "       (declare (in) vec4 p0)\n"
908   "       (declare (in) vec4 p1))\n"
909   "     ((declare () vec4 p)\n"
910   "      (assign (xyzw) (var_ref p) (expression vec4 - (var_ref p0) (var_ref p1)))\n"
911   "      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))\n"
912   "))\n"
913   ""
914;
915static const char builtin_dot[] =
916   "((function dot\n"
917   "   (signature float\n"
918   "     (parameters\n"
919   "       (declare (in) float arg0)\n"
920   "       (declare (in) float arg1))\n"
921   "     ((return (expression float * (var_ref arg0) (var_ref arg1)))))\n"
922   "\n"
923   "   (signature float\n"
924   "     (parameters\n"
925   "       (declare (in) vec2 arg0)\n"
926   "       (declare (in) vec2 arg1))\n"
927   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
928   "\n"
929   "   (signature float\n"
930   "     (parameters\n"
931   "       (declare (in) vec3 arg0)\n"
932   "       (declare (in) vec3 arg1))\n"
933   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
934   "\n"
935   "   (signature float\n"
936   "     (parameters\n"
937   "       (declare (in) vec4 arg0)\n"
938   "       (declare (in) vec4 arg1))\n"
939   "     ((return (expression float dot (var_ref arg0) (var_ref arg1)))))\n"
940   "))\n"
941   ""
942;
943static const char builtin_equal[] =
944   "((function equal\n"
945   "   (signature bvec2\n"
946   "     (parameters\n"
947   "       (declare (in) vec2 arg0)\n"
948   "       (declare (in) vec2 arg1))\n"
949   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
950   "\n"
951   "   (signature bvec3\n"
952   "     (parameters\n"
953   "       (declare (in) vec3 arg0)\n"
954   "       (declare (in) vec3 arg1))\n"
955   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
956   "\n"
957   "   (signature bvec4\n"
958   "     (parameters\n"
959   "       (declare (in) vec4 arg0)\n"
960   "       (declare (in) vec4 arg1))\n"
961   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
962   "\n"
963   "   (signature bvec2\n"
964   "     (parameters\n"
965   "       (declare (in) bvec2 arg0)\n"
966   "       (declare (in) bvec2 arg1))\n"
967   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
968   "\n"
969   "   (signature bvec3\n"
970   "     (parameters\n"
971   "       (declare (in) bvec3 arg0)\n"
972   "       (declare (in) bvec3 arg1))\n"
973   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
974   "\n"
975   "   (signature bvec4\n"
976   "     (parameters\n"
977   "       (declare (in) bvec4 arg0)\n"
978   "       (declare (in) bvec4 arg1))\n"
979   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
980   "\n"
981   "   (signature bvec2\n"
982   "     (parameters\n"
983   "       (declare (in) ivec2 arg0)\n"
984   "       (declare (in) ivec2 arg1))\n"
985   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
986   "\n"
987   "   (signature bvec3\n"
988   "     (parameters\n"
989   "       (declare (in) ivec3 arg0)\n"
990   "       (declare (in) ivec3 arg1))\n"
991   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
992   "\n"
993   "   (signature bvec4\n"
994   "     (parameters\n"
995   "       (declare (in) ivec4 arg0)\n"
996   "       (declare (in) ivec4 arg1))\n"
997   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
998   "\n"
999   "   (signature bvec2\n"
1000   "     (parameters\n"
1001   "       (declare (in) uvec2 arg0)\n"
1002   "       (declare (in) uvec2 arg1))\n"
1003   "     ((return (expression bvec2 == (var_ref arg0) (var_ref arg1)))))\n"
1004   "\n"
1005   "   (signature bvec3\n"
1006   "     (parameters\n"
1007   "       (declare (in) uvec3 arg0)\n"
1008   "       (declare (in) uvec3 arg1))\n"
1009   "     ((return (expression bvec3 == (var_ref arg0) (var_ref arg1)))))\n"
1010   "\n"
1011   "   (signature bvec4\n"
1012   "     (parameters\n"
1013   "       (declare (in) uvec4 arg0)\n"
1014   "       (declare (in) uvec4 arg1))\n"
1015   "     ((return (expression bvec4 == (var_ref arg0) (var_ref arg1)))))\n"
1016   "))\n"
1017   ""
1018;
1019static const char builtin_exp[] =
1020   "((function exp\n"
1021   "   (signature float\n"
1022   "     (parameters\n"
1023   "       (declare (in) float arg0))\n"
1024   "     ((return (expression float exp (var_ref arg0)))))\n"
1025   "\n"
1026   "   (signature vec2\n"
1027   "     (parameters\n"
1028   "       (declare (in) vec2 arg0))\n"
1029   "     ((return (expression vec2 exp (var_ref arg0)))))\n"
1030   "\n"
1031   "   (signature vec3\n"
1032   "     (parameters\n"
1033   "       (declare (in) vec3 arg0))\n"
1034   "     ((return (expression vec3 exp (var_ref arg0)))))\n"
1035   "\n"
1036   "   (signature vec4\n"
1037   "     (parameters\n"
1038   "       (declare (in) vec4 arg0))\n"
1039   "     ((return (expression vec4 exp (var_ref arg0)))))\n"
1040   "))\n"
1041   ""
1042;
1043static const char builtin_exp2[] =
1044   "((function exp2\n"
1045   "   (signature float\n"
1046   "     (parameters\n"
1047   "       (declare (in) float arg0))\n"
1048   "     ((return (expression float exp2 (var_ref arg0)))))\n"
1049   "\n"
1050   "   (signature vec2\n"
1051   "     (parameters\n"
1052   "       (declare (in) vec2 arg0))\n"
1053   "     ((return (expression vec2 exp2 (var_ref arg0)))))\n"
1054   "\n"
1055   "   (signature vec3\n"
1056   "     (parameters\n"
1057   "       (declare (in) vec3 arg0))\n"
1058   "     ((return (expression vec3 exp2 (var_ref arg0)))))\n"
1059   "\n"
1060   "   (signature vec4\n"
1061   "     (parameters\n"
1062   "       (declare (in) vec4 arg0))\n"
1063   "     ((return (expression vec4 exp2 (var_ref arg0)))))\n"
1064   "))\n"
1065   ""
1066;
1067static const char builtin_faceforward[] =
1068   "((function faceforward\n"
1069   "   (signature float\n"
1070   "     (parameters\n"
1071   "       (declare (in) float N)\n"
1072   "       (declare (in) float I)\n"
1073   "       (declare (in) float Nref))\n"
1074   "     ((if (expression bool < (expression float * (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1075   "          ((return (var_ref N)))\n"
1076   "	  ((return (expression float neg (var_ref N)))))))\n"
1077   "\n"
1078   "   (signature vec2\n"
1079   "     (parameters\n"
1080   "       (declare (in) vec2 N)\n"
1081   "       (declare (in) vec2 I)\n"
1082   "       (declare (in) vec2 Nref))\n"
1083   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1084   "          ((return (var_ref N)))\n"
1085   "	  ((return (expression vec2 neg (var_ref N)))))))\n"
1086   "\n"
1087   "   (signature vec3\n"
1088   "     (parameters\n"
1089   "       (declare (in) vec3 N)\n"
1090   "       (declare (in) vec3 I)\n"
1091   "       (declare (in) vec3 Nref))\n"
1092   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1093   "          ((return (var_ref N)))\n"
1094   "	  ((return (expression vec3 neg (var_ref N)))))))\n"
1095   "\n"
1096   "   (signature vec4\n"
1097   "     (parameters\n"
1098   "       (declare (in) vec4 N)\n"
1099   "       (declare (in) vec4 I)\n"
1100   "       (declare (in) vec4 Nref))\n"
1101   "     ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n"
1102   "          ((return (var_ref N)))\n"
1103   "	  ((return (expression vec4 neg (var_ref N)))))))\n"
1104   "))\n"
1105   ""
1106;
1107static const char builtin_floatBitsToInt[] =
1108   "((function floatBitsToInt\n"
1109   "   (signature int\n"
1110   "     (parameters\n"
1111   "       (declare (in) float arg))\n"
1112   "     ((return (expression int bitcast_f2i (var_ref arg)))))\n"
1113   "\n"
1114   "   (signature ivec2\n"
1115   "     (parameters\n"
1116   "       (declare (in) vec2 arg))\n"
1117   "     ((return (expression ivec2 bitcast_f2i (var_ref arg)))))\n"
1118   "\n"
1119   "   (signature ivec3\n"
1120   "     (parameters\n"
1121   "       (declare (in) vec3 arg))\n"
1122   "     ((return (expression ivec3 bitcast_f2i (var_ref arg)))))\n"
1123   "\n"
1124   "   (signature ivec4\n"
1125   "     (parameters\n"
1126   "       (declare (in) vec4 arg))\n"
1127   "     ((return (expression ivec4 bitcast_f2i (var_ref arg)))))\n"
1128   "))\n"
1129   ""
1130;
1131static const char builtin_floatBitsToUint[] =
1132   "((function floatBitsToUint\n"
1133   "   (signature uint\n"
1134   "     (parameters\n"
1135   "       (declare (in) float arg))\n"
1136   "     ((return (expression uint bitcast_f2u (var_ref arg)))))\n"
1137   "\n"
1138   "   (signature uvec2\n"
1139   "     (parameters\n"
1140   "       (declare (in) vec2 arg))\n"
1141   "     ((return (expression uvec2 bitcast_f2u (var_ref arg)))))\n"
1142   "\n"
1143   "   (signature uvec3\n"
1144   "     (parameters\n"
1145   "       (declare (in) vec3 arg))\n"
1146   "     ((return (expression uvec3 bitcast_f2u (var_ref arg)))))\n"
1147   "\n"
1148   "   (signature uvec4\n"
1149   "     (parameters\n"
1150   "       (declare (in) vec4 arg))\n"
1151   "     ((return (expression uvec4 bitcast_f2u (var_ref arg)))))\n"
1152   "))\n"
1153   ""
1154;
1155static const char builtin_floor[] =
1156   "((function floor\n"
1157   "   (signature float\n"
1158   "     (parameters\n"
1159   "       (declare (in) float arg0))\n"
1160   "     ((return (expression float floor (var_ref arg0)))))\n"
1161   "\n"
1162   "   (signature vec2\n"
1163   "     (parameters\n"
1164   "       (declare (in) vec2 arg0))\n"
1165   "     ((return (expression vec2 floor (var_ref arg0)))))\n"
1166   "\n"
1167   "   (signature vec3\n"
1168   "     (parameters\n"
1169   "       (declare (in) vec3 arg0))\n"
1170   "     ((return (expression vec3 floor (var_ref arg0)))))\n"
1171   "\n"
1172   "   (signature vec4\n"
1173   "     (parameters\n"
1174   "       (declare (in) vec4 arg0))\n"
1175   "     ((return (expression vec4 floor (var_ref arg0)))))\n"
1176   "))\n"
1177   ""
1178;
1179static const char builtin_fract[] =
1180   "((function fract\n"
1181   "   (signature float\n"
1182   "     (parameters\n"
1183   "       (declare (in) float x))\n"
1184   "     ((return (expression float fract (var_ref x)))))\n"
1185   "\n"
1186   "   (signature vec2\n"
1187   "     (parameters\n"
1188   "       (declare (in) vec2 x))\n"
1189   "     ((return (expression vec2 fract (var_ref x)))))\n"
1190   "\n"
1191   "   (signature vec3\n"
1192   "     (parameters\n"
1193   "       (declare (in) vec3 x))\n"
1194   "     ((return (expression vec3 fract (var_ref x)))))\n"
1195   "\n"
1196   "   (signature vec4\n"
1197   "     (parameters\n"
1198   "       (declare (in) vec4 x))\n"
1199   "     ((return (expression vec4 fract (var_ref x)))))\n"
1200   "))\n"
1201   "\n"
1202   ""
1203;
1204static const char builtin_ftransform[] =
1205   "((declare (uniform) mat4 gl_ModelViewProjectionMatrix)\n"
1206   " (declare (in) vec4 gl_Vertex)\n"
1207   " (function ftransform\n"
1208   "   (signature vec4\n"
1209   "     (parameters)\n"
1210   "    ((return (expression vec4 *\n"
1211   "	      (var_ref gl_ModelViewProjectionMatrix)\n"
1212   "	      (var_ref gl_Vertex)))))\n"
1213   "))\n"
1214   ""
1215;
1216static const char builtin_fwidth[] =
1217   "((function fwidth\n"
1218   "   (signature float\n"
1219   "     (parameters\n"
1220   "       (declare (in) float p))\n"
1221   "     ((return (expression float +\n"
1222   "                (expression float abs (expression float dFdx (var_ref p)))\n"
1223   "                (expression float abs (expression float dFdy (var_ref p)))))))\n"
1224   "\n"
1225   "   (signature vec2\n"
1226   "     (parameters\n"
1227   "       (declare (in) vec2 p))\n"
1228   "     ((return (expression vec2 +\n"
1229   "                (expression vec2 abs (expression vec2 dFdx (var_ref p)))\n"
1230   "                (expression vec2 abs (expression vec2 dFdy (var_ref p)))))))\n"
1231   "\n"
1232   "   (signature vec3\n"
1233   "     (parameters\n"
1234   "       (declare (in) vec3 p))\n"
1235   "     ((return (expression vec3 +\n"
1236   "                (expression vec3 abs (expression vec3 dFdx (var_ref p)))\n"
1237   "                (expression vec3 abs (expression vec3 dFdy (var_ref p)))))))\n"
1238   "\n"
1239   "   (signature vec4\n"
1240   "     (parameters\n"
1241   "       (declare (in) vec4 p))\n"
1242   "     ((return (expression vec4 +\n"
1243   "                (expression vec4 abs (expression vec4 dFdx (var_ref p)))\n"
1244   "                (expression vec4 abs (expression vec4 dFdy (var_ref p)))))))\n"
1245   "))\n"
1246   ""
1247;
1248static const char builtin_greaterThan[] =
1249   "((function greaterThan\n"
1250   "   (signature bvec2\n"
1251   "     (parameters\n"
1252   "       (declare (in) vec2 arg0)\n"
1253   "       (declare (in) vec2 arg1))\n"
1254   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1255   "\n"
1256   "   (signature bvec3\n"
1257   "     (parameters\n"
1258   "       (declare (in) vec3 arg0)\n"
1259   "       (declare (in) vec3 arg1))\n"
1260   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1261   "\n"
1262   "   (signature bvec4\n"
1263   "     (parameters\n"
1264   "       (declare (in) vec4 arg0)\n"
1265   "       (declare (in) vec4 arg1))\n"
1266   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1267   "\n"
1268   "   (signature bvec2\n"
1269   "     (parameters\n"
1270   "       (declare (in) ivec2 arg0)\n"
1271   "       (declare (in) ivec2 arg1))\n"
1272   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1273   "\n"
1274   "   (signature bvec3\n"
1275   "     (parameters\n"
1276   "       (declare (in) ivec3 arg0)\n"
1277   "       (declare (in) ivec3 arg1))\n"
1278   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1279   "\n"
1280   "   (signature bvec4\n"
1281   "     (parameters\n"
1282   "       (declare (in) ivec4 arg0)\n"
1283   "       (declare (in) ivec4 arg1))\n"
1284   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1285   "\n"
1286   "   (signature bvec2\n"
1287   "     (parameters\n"
1288   "       (declare (in) uvec2 arg0)\n"
1289   "       (declare (in) uvec2 arg1))\n"
1290   "     ((return (expression bvec2 > (var_ref arg0) (var_ref arg1)))))\n"
1291   "\n"
1292   "   (signature bvec3\n"
1293   "     (parameters\n"
1294   "       (declare (in) uvec3 arg0)\n"
1295   "       (declare (in) uvec3 arg1))\n"
1296   "     ((return (expression bvec3 > (var_ref arg0) (var_ref arg1)))))\n"
1297   "\n"
1298   "   (signature bvec4\n"
1299   "     (parameters\n"
1300   "       (declare (in) uvec4 arg0)\n"
1301   "       (declare (in) uvec4 arg1))\n"
1302   "     ((return (expression bvec4 > (var_ref arg0) (var_ref arg1)))))\n"
1303   "))\n"
1304   ""
1305;
1306static const char builtin_greaterThanEqual[] =
1307   "((function greaterThanEqual\n"
1308   "   (signature bvec2\n"
1309   "     (parameters\n"
1310   "       (declare (in) vec2 arg0)\n"
1311   "       (declare (in) vec2 arg1))\n"
1312   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1313   "\n"
1314   "   (signature bvec3\n"
1315   "     (parameters\n"
1316   "       (declare (in) vec3 arg0)\n"
1317   "       (declare (in) vec3 arg1))\n"
1318   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1319   "\n"
1320   "   (signature bvec4\n"
1321   "     (parameters\n"
1322   "       (declare (in) vec4 arg0)\n"
1323   "       (declare (in) vec4 arg1))\n"
1324   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1325   "\n"
1326   "   (signature bvec2\n"
1327   "     (parameters\n"
1328   "       (declare (in) ivec2 arg0)\n"
1329   "       (declare (in) ivec2 arg1))\n"
1330   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1331   "\n"
1332   "   (signature bvec3\n"
1333   "     (parameters\n"
1334   "       (declare (in) ivec3 arg0)\n"
1335   "       (declare (in) ivec3 arg1))\n"
1336   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1337   "\n"
1338   "   (signature bvec4\n"
1339   "     (parameters\n"
1340   "       (declare (in) ivec4 arg0)\n"
1341   "       (declare (in) ivec4 arg1))\n"
1342   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1343   "\n"
1344   "   (signature bvec2\n"
1345   "     (parameters\n"
1346   "       (declare (in) uvec2 arg0)\n"
1347   "       (declare (in) uvec2 arg1))\n"
1348   "     ((return (expression bvec2 >= (var_ref arg0) (var_ref arg1)))))\n"
1349   "\n"
1350   "   (signature bvec3\n"
1351   "     (parameters\n"
1352   "       (declare (in) uvec3 arg0)\n"
1353   "       (declare (in) uvec3 arg1))\n"
1354   "     ((return (expression bvec3 >= (var_ref arg0) (var_ref arg1)))))\n"
1355   "\n"
1356   "   (signature bvec4\n"
1357   "     (parameters\n"
1358   "       (declare (in) uvec4 arg0)\n"
1359   "       (declare (in) uvec4 arg1))\n"
1360   "     ((return (expression bvec4 >= (var_ref arg0) (var_ref arg1)))))\n"
1361   "))\n"
1362   ""
1363;
1364static const char builtin_intBitsToFloat[] =
1365   "((function intBitsToFloat\n"
1366   "   (signature float\n"
1367   "     (parameters\n"
1368   "       (declare (in) int arg))\n"
1369   "     ((return (expression float bitcast_i2f (var_ref arg)))))\n"
1370   "\n"
1371   "   (signature vec2\n"
1372   "     (parameters\n"
1373   "       (declare (in) ivec2 arg))\n"
1374   "     ((return (expression vec2 bitcast_i2f (var_ref arg)))))\n"
1375   "\n"
1376   "   (signature vec3\n"
1377   "     (parameters\n"
1378   "       (declare (in) ivec3 arg))\n"
1379   "     ((return (expression vec3 bitcast_i2f (var_ref arg)))))\n"
1380   "\n"
1381   "   (signature vec4\n"
1382   "     (parameters\n"
1383   "       (declare (in) ivec4 arg))\n"
1384   "     ((return (expression vec4 bitcast_i2f (var_ref arg)))))\n"
1385   "))\n"
1386   ""
1387;
1388static const char builtin_inverse[] =
1389   "(\n"
1390   "(function inverse\n"
1391   "  (signature mat2\n"
1392   "    (parameters\n"
1393   "      (declare (in) mat2 m))\n"
1394   "    (\n"
1395   "      (declare () float det)\n"
1396   "      (declare () mat2 adj)\n"
1397   "      (declare (temporary) float assignment_tmp)\n"
1398   "      (assign  (x) (var_ref assignment_tmp)  (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1)))) \n"
1399   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (0)))  (var_ref assignment_tmp)) \n"
1400   "      (declare (temporary) float assignment_tmp@2)\n"
1401   "      (assign  (x) (var_ref assignment_tmp@2)  (expression float neg (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))))) \n"
1402   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (1)))  (var_ref assignment_tmp@2)) \n"
1403   "      (declare (temporary) float assignment_tmp@3)\n"
1404   "      (assign  (x) (var_ref assignment_tmp@3)  (expression float neg (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))))) \n"
1405   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (0)))  (var_ref assignment_tmp@3)) \n"
1406   "      (declare (temporary) float assignment_tmp@4)\n"
1407   "      (assign  (x) (var_ref assignment_tmp@4)  (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0)))) \n"
1408   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (1)))  (var_ref assignment_tmp@4)) \n"
1409   "      (declare (temporary) float assignment_tmp@5)\n"
1410   "      (assign  (x) (var_ref assignment_tmp@5)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1)))))) \n"
1411   "      (assign  (x) (var_ref det)  (var_ref assignment_tmp@5)) \n"
1412   "      (return (expression mat2 / (var_ref adj) (var_ref det)))))\n"
1413   "  (signature mat3\n"
1414   "    (parameters\n"
1415   "      (declare (in) mat3 m))\n"
1416   "    (\n"
1417   "      (declare () float det)\n"
1418   "      (declare () mat3 adj)\n"
1419   "      (declare (temporary) float assignment_tmp)\n"
1420   "      (assign  (x) (var_ref assignment_tmp)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))))) \n"
1421   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (0)))  (var_ref assignment_tmp)) \n"
1422   "      (declare (temporary) float assignment_tmp@6)\n"
1423   "      (assign  (x) (var_ref assignment_tmp@6)  (expression float neg (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))))))) \n"
1424   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (0)))  (var_ref assignment_tmp@6)) \n"
1425   "      (declare (temporary) float assignment_tmp@7)\n"
1426   "      (assign  (x) (var_ref assignment_tmp@7)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1)))))) \n"
1427   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (0)))  (var_ref assignment_tmp@7)) \n"
1428   "      (declare (temporary) float assignment_tmp@8)\n"
1429   "      (assign  (x) (var_ref assignment_tmp@8)  (expression float neg (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))))))) \n"
1430   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (1)))  (var_ref assignment_tmp@8)) \n"
1431   "      (declare (temporary) float assignment_tmp@9)\n"
1432   "      (assign  (x) (var_ref assignment_tmp@9)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2)))))) \n"
1433   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (1)))  (var_ref assignment_tmp@9)) \n"
1434   "      (declare (temporary) float assignment_tmp@10)\n"
1435   "      (assign  (x) (var_ref assignment_tmp@10)  (expression float neg (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))))))) \n"
1436   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (1)))  (var_ref assignment_tmp@10)) \n"
1437   "      (declare (temporary) float assignment_tmp@11)\n"
1438   "      (assign  (x) (var_ref assignment_tmp@11)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2)))))) \n"
1439   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (2)))  (var_ref assignment_tmp@11)) \n"
1440   "      (declare (temporary) float assignment_tmp@12)\n"
1441   "      (assign  (x) (var_ref assignment_tmp@12)  (expression float neg (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))))))) \n"
1442   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (2)))  (var_ref assignment_tmp@12)) \n"
1443   "      (declare (temporary) float assignment_tmp@13)\n"
1444   "      (assign  (x) (var_ref assignment_tmp@13)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1)))))) \n"
1445   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (2)))  (var_ref assignment_tmp@13)) \n"
1446   "      (declare (temporary) float assignment_tmp@14)\n"
1447   "      (assign  (x) (var_ref assignment_tmp@14)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1)))))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))))))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0)))))))) \n"
1448   "      (assign  (x) (var_ref det)  (var_ref assignment_tmp@14)) \n"
1449   "      (return (expression mat3 / (var_ref adj) (var_ref det)))))\n"
1450   "  (signature mat4\n"
1451   "    (parameters\n"
1452   "      (declare (in) mat4 m))\n"
1453   "    (\n"
1454   "      (declare () float det)\n"
1455   "      (declare () mat4 adj)\n"
1456   "      (declare () float SubFactor18)\n"
1457   "      (declare () float SubFactor17)\n"
1458   "      (declare () float SubFactor16)\n"
1459   "      (declare () float SubFactor15)\n"
1460   "      (declare () float SubFactor14)\n"
1461   "      (declare () float SubFactor13)\n"
1462   "      (declare () float SubFactor12)\n"
1463   "      (declare () float SubFactor11)\n"
1464   "      (declare () float SubFactor10)\n"
1465   "      (declare () float SubFactor09)\n"
1466   "      (declare () float SubFactor08)\n"
1467   "      (declare () float SubFactor07)\n"
1468   "      (declare () float SubFactor06)\n"
1469   "      (declare () float SubFactor05)\n"
1470   "      (declare () float SubFactor04)\n"
1471   "      (declare () float SubFactor03)\n"
1472   "      (declare () float SubFactor02)\n"
1473   "      (declare () float SubFactor01)\n"
1474   "      (declare () float SubFactor00)\n"
1475   "      (declare (temporary) float assignment_tmp)\n"
1476   "      (assign  (x) (var_ref assignment_tmp)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (3)))))) \n"
1477   "      (assign  (x) (var_ref SubFactor00)  (var_ref assignment_tmp)) \n"
1478   "      (declare (temporary) float assignment_tmp@15)\n"
1479   "      (assign  (x) (var_ref assignment_tmp@15)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (3)))))) \n"
1480   "      (assign  (x) (var_ref SubFactor01)  (var_ref assignment_tmp@15)) \n"
1481   "      (declare (temporary) float assignment_tmp@16)\n"
1482   "      (assign  (x) (var_ref assignment_tmp@16)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))))) \n"
1483   "      (assign  (x) (var_ref SubFactor02)  (var_ref assignment_tmp@16)) \n"
1484   "      (declare (temporary) float assignment_tmp@17)\n"
1485   "      (assign  (x) (var_ref assignment_tmp@17)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (3)))))) \n"
1486   "      (assign  (x) (var_ref SubFactor03)  (var_ref assignment_tmp@17)) \n"
1487   "      (declare (temporary) float assignment_tmp@18)\n"
1488   "      (assign  (x) (var_ref assignment_tmp@18)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))))) \n"
1489   "      (assign  (x) (var_ref SubFactor04)  (var_ref assignment_tmp@18)) \n"
1490   "      (declare (temporary) float assignment_tmp@19)\n"
1491   "      (assign  (x) (var_ref assignment_tmp@19)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1)))))) \n"
1492   "      (assign  (x) (var_ref SubFactor05)  (var_ref assignment_tmp@19)) \n"
1493   "      (declare (temporary) float assignment_tmp@20)\n"
1494   "      (assign  (x) (var_ref assignment_tmp@20)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1495   "      (assign  (x) (var_ref SubFactor06)  (var_ref assignment_tmp@20)) \n"
1496   "      (declare (temporary) float assignment_tmp@21)\n"
1497   "      (assign  (x) (var_ref assignment_tmp@21)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1498   "      (assign  (x) (var_ref SubFactor07)  (var_ref assignment_tmp@21)) \n"
1499   "      (declare (temporary) float assignment_tmp@22)\n"
1500   "      (assign  (x) (var_ref assignment_tmp@22)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))))) \n"
1501   "      (assign  (x) (var_ref SubFactor08)  (var_ref assignment_tmp@22)) \n"
1502   "      (declare (temporary) float assignment_tmp@23)\n"
1503   "      (assign  (x) (var_ref assignment_tmp@23)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1504   "      (assign  (x) (var_ref SubFactor09)  (var_ref assignment_tmp@23)) \n"
1505   "      (declare (temporary) float assignment_tmp@24)\n"
1506   "      (assign  (x) (var_ref assignment_tmp@24)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))))) \n"
1507   "      (assign  (x) (var_ref SubFactor10)  (var_ref assignment_tmp@24)) \n"
1508   "      (declare (temporary) float assignment_tmp@25)\n"
1509   "      (assign  (x) (var_ref assignment_tmp@25)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1510   "      (assign  (x) (var_ref SubFactor11)  (var_ref assignment_tmp@25)) \n"
1511   "      (declare (temporary) float assignment_tmp@26)\n"
1512   "      (assign  (x) (var_ref assignment_tmp@26)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (3))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1)))))) \n"
1513   "      (assign  (x) (var_ref SubFactor12)  (var_ref assignment_tmp@26)) \n"
1514   "      (declare (temporary) float assignment_tmp@27)\n"
1515   "      (assign  (x) (var_ref assignment_tmp@27)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1516   "      (assign  (x) (var_ref SubFactor13)  (var_ref assignment_tmp@27)) \n"
1517   "      (declare (temporary) float assignment_tmp@28)\n"
1518   "      (assign  (x) (var_ref assignment_tmp@28)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1519   "      (assign  (x) (var_ref SubFactor14)  (var_ref assignment_tmp@28)) \n"
1520   "      (declare (temporary) float assignment_tmp@29)\n"
1521   "      (assign  (x) (var_ref assignment_tmp@29)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))))) \n"
1522   "      (assign  (x) (var_ref SubFactor15)  (var_ref assignment_tmp@29)) \n"
1523   "      (declare (temporary) float assignment_tmp@30)\n"
1524   "      (assign  (x) (var_ref assignment_tmp@30)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (3)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3)))))) \n"
1525   "      (assign  (x) (var_ref SubFactor16)  (var_ref assignment_tmp@30)) \n"
1526   "      (declare (temporary) float assignment_tmp@31)\n"
1527   "      (assign  (x) (var_ref assignment_tmp@31)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (2)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2)))))) \n"
1528   "      (assign  (x) (var_ref SubFactor17)  (var_ref assignment_tmp@31)) \n"
1529   "      (declare (temporary) float assignment_tmp@32)\n"
1530   "      (assign  (x) (var_ref assignment_tmp@32)  (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (1)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (2))) (constant int (0))) (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1)))))) \n"
1531   "      (assign  (x) (var_ref SubFactor18)  (var_ref assignment_tmp@32)) \n"
1532   "      (declare (temporary) float assignment_tmp@33)\n"
1533   "      (assign  (x) (var_ref assignment_tmp@33)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (var_ref SubFactor00)) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (var_ref SubFactor01))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3))) (var_ref SubFactor02)))) \n"
1534   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (0)))  (var_ref assignment_tmp@33)) \n"
1535   "      (declare (temporary) float assignment_tmp@34)\n"
1536   "      (assign  (x) (var_ref assignment_tmp@34)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (var_ref SubFactor00)) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (var_ref SubFactor03))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3))) (var_ref SubFactor04))))) \n"
1537   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (0)))  (var_ref assignment_tmp@34)) \n"
1538   "      (declare (temporary) float assignment_tmp@35)\n"
1539   "      (assign  (x) (var_ref assignment_tmp@35)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (var_ref SubFactor01)) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (var_ref SubFactor03))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (3))) (var_ref SubFactor05)))) \n"
1540   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (0)))  (var_ref assignment_tmp@35)) \n"
1541   "      (declare (temporary) float assignment_tmp@36)\n"
1542   "      (assign  (x) (var_ref assignment_tmp@36)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (0))) (var_ref SubFactor02)) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (1))) (var_ref SubFactor04))) (expression float * (array_ref (array_ref (var_ref m) (constant int (1))) (constant int (2))) (var_ref SubFactor05))))) \n"
1543   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (3))) (constant int (0)))  (var_ref assignment_tmp@36)) \n"
1544   "      (declare (temporary) float assignment_tmp@37)\n"
1545   "      (assign  (x) (var_ref assignment_tmp@37)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor00)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor01))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor02))))) \n"
1546   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (1)))  (var_ref assignment_tmp@37)) \n"
1547   "      (declare (temporary) float assignment_tmp@38)\n"
1548   "      (assign  (x) (var_ref assignment_tmp@38)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor00)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor03))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor04)))) \n"
1549   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (1)))  (var_ref assignment_tmp@38)) \n"
1550   "      (declare (temporary) float assignment_tmp@39)\n"
1551   "      (assign  (x) (var_ref assignment_tmp@39)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor01)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor03))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor05))))) \n"
1552   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (1)))  (var_ref assignment_tmp@39)) \n"
1553   "      (declare (temporary) float assignment_tmp@40)\n"
1554   "      (assign  (x) (var_ref assignment_tmp@40)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor02)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor04))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor05)))) \n"
1555   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (3))) (constant int (1)))  (var_ref assignment_tmp@40)) \n"
1556   "      (declare (temporary) float assignment_tmp@41)\n"
1557   "      (assign  (x) (var_ref assignment_tmp@41)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor06)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor07))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor08)))) \n"
1558   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (2)))  (var_ref assignment_tmp@41)) \n"
1559   "      (declare (temporary) float assignment_tmp@42)\n"
1560   "      (assign  (x) (var_ref assignment_tmp@42)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor06)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor09))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor10))))) \n"
1561   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (2)))  (var_ref assignment_tmp@42)) \n"
1562   "      (declare (temporary) float assignment_tmp@43)\n"
1563   "      (assign  (x) (var_ref assignment_tmp@43)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor11)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor09))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor12)))) \n"
1564   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (2)))  (var_ref assignment_tmp@43)) \n"
1565   "      (declare (temporary) float assignment_tmp@44)\n"
1566   "      (assign  (x) (var_ref assignment_tmp@44)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor08)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor10))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor12))))) \n"
1567   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (3))) (constant int (2)))  (var_ref assignment_tmp@44)) \n"
1568   "      (declare (temporary) float assignment_tmp@45)\n"
1569   "      (assign  (x) (var_ref assignment_tmp@45)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor13)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor14))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor15))))) \n"
1570   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (3)))  (var_ref assignment_tmp@45)) \n"
1571   "      (declare (temporary) float assignment_tmp@46)\n"
1572   "      (assign  (x) (var_ref assignment_tmp@46)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor13)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor16))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor17)))) \n"
1573   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (3)))  (var_ref assignment_tmp@46)) \n"
1574   "      (declare (temporary) float assignment_tmp@47)\n"
1575   "      (assign  (x) (var_ref assignment_tmp@47)  (expression float neg (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor14)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor16))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (var_ref SubFactor18))))) \n"
1576   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (3)))  (var_ref assignment_tmp@47)) \n"
1577   "      (declare (temporary) float assignment_tmp@48)\n"
1578   "      (assign  (x) (var_ref assignment_tmp@48)  (expression float + (expression float - (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (var_ref SubFactor15)) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (var_ref SubFactor17))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (var_ref SubFactor18)))) \n"
1579   "      (assign  (x) (array_ref (array_ref (var_ref adj) (constant int (3))) (constant int (3)))  (var_ref assignment_tmp@48)) \n"
1580   "      (declare (temporary) float assignment_tmp@49)\n"
1581   "      (assign  (x) (var_ref assignment_tmp@49)  (expression float + (expression float + (expression float + (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (0))) (array_ref (array_ref (var_ref adj) (constant int (0))) (constant int (0)))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (1))) (array_ref (array_ref (var_ref adj) (constant int (1))) (constant int (0))))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (2))) (array_ref (array_ref (var_ref adj) (constant int (2))) (constant int (0))))) (expression float * (array_ref (array_ref (var_ref m) (constant int (0))) (constant int (3))) (array_ref (array_ref (var_ref adj) (constant int (3))) (constant int (0)))))) \n"
1582   "      (assign  (x) (var_ref det)  (var_ref assignment_tmp@49)) \n"
1583   "      (return (expression mat4 / (var_ref adj) (var_ref det)))))))"
1584;
1585static const char builtin_inversesqrt[] =
1586   "((function inversesqrt\n"
1587   "   (signature float\n"
1588   "     (parameters\n"
1589   "       (declare (in) float arg0))\n"
1590   "     ((return (expression float rsq (var_ref arg0)))))\n"
1591   "\n"
1592   "   (signature vec2\n"
1593   "     (parameters\n"
1594   "       (declare (in) vec2 arg0))\n"
1595   "     ((return (expression vec2 rsq (var_ref arg0)))))\n"
1596   "\n"
1597   "   (signature vec3\n"
1598   "     (parameters\n"
1599   "       (declare (in) vec3 arg0))\n"
1600   "     ((return (expression vec3 rsq (var_ref arg0)))))\n"
1601   "\n"
1602   "   (signature vec4\n"
1603   "     (parameters\n"
1604   "       (declare (in) vec4 arg0))\n"
1605   "     ((return (expression vec4 rsq (var_ref arg0)))))\n"
1606   "))\n"
1607   ""
1608;
1609static const char builtin_isinf[] =
1610   "((function isinf\n"
1611   "   (signature bool\n"
1612   "     (parameters\n"
1613   "       (declare (in) float x))\n"
1614   "     ((return (expression bool == (expression float abs (var_ref x)) (constant float (+INF))))))\n"
1615   "   (signature bvec2\n"
1616   "     (parameters\n"
1617   "       (declare (in) vec2 x))\n"
1618   "     ((return (expression bvec2 == (expression vec2 abs (var_ref x)) (constant vec2 (+INF +INF))))))\n"
1619   "   (signature bvec3\n"
1620   "     (parameters\n"
1621   "       (declare (in) vec3 x))\n"
1622   "     ((return (expression bvec3 == (expression vec3 abs (var_ref x)) (constant vec3 (+INF +INF +INF))))))\n"
1623   "   (signature bvec4\n"
1624   "     (parameters\n"
1625   "       (declare (in) vec4 x))\n"
1626   "     ((return (expression bvec4 == (expression vec4 abs (var_ref x)) (constant vec4 (+INF +INF +INF +INF))))))))\n"
1627   ""
1628;
1629static const char builtin_isnan[] =
1630   "((function isnan\n"
1631   "   (signature bool\n"
1632   "     (parameters\n"
1633   "       (declare (in) float x))\n"
1634   "     ((return (expression bool != (var_ref x) (var_ref x)))))\n"
1635   "   (signature bvec2\n"
1636   "     (parameters\n"
1637   "       (declare (in) vec2 x))\n"
1638   "     ((return (expression bvec2 != (var_ref x) (var_ref x)))))\n"
1639   "   (signature bvec3\n"
1640   "     (parameters\n"
1641   "       (declare (in) vec3 x))\n"
1642   "     ((return (expression bvec3 != (var_ref x) (var_ref x)))))\n"
1643   "   (signature bvec4\n"
1644   "     (parameters\n"
1645   "       (declare (in) vec4 x))\n"
1646   "     ((return (expression bvec4 != (var_ref x) (var_ref x)))))))\n"
1647   ""
1648;
1649static const char builtin_length[] =
1650   "((function length\n"
1651   "   (signature float\n"
1652   "     (parameters\n"
1653   "       (declare (in) float arg0))\n"
1654   "     ((return (expression float abs (var_ref arg0)))))\n"
1655   "\n"
1656   "   (signature float\n"
1657   "     (parameters\n"
1658   "       (declare (in) vec2 arg0))\n"
1659   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1660   "\n"
1661   "   (signature float\n"
1662   "     (parameters\n"
1663   "       (declare (in) vec3 arg0))\n"
1664   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1665   "\n"
1666   "   (signature float\n"
1667   "     (parameters\n"
1668   "       (declare (in) vec4 arg0))\n"
1669   "     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))\n"
1670   "))\n"
1671   ""
1672;
1673static const char builtin_lessThan[] =
1674   "((function lessThan\n"
1675   "   (signature bvec2\n"
1676   "     (parameters\n"
1677   "       (declare (in) vec2 arg0)\n"
1678   "       (declare (in) vec2 arg1))\n"
1679   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1680   "\n"
1681   "   (signature bvec3\n"
1682   "     (parameters\n"
1683   "       (declare (in) vec3 arg0)\n"
1684   "       (declare (in) vec3 arg1))\n"
1685   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1686   "\n"
1687   "   (signature bvec4\n"
1688   "     (parameters\n"
1689   "       (declare (in) vec4 arg0)\n"
1690   "       (declare (in) vec4 arg1))\n"
1691   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1692   "\n"
1693   "   (signature bvec2\n"
1694   "     (parameters\n"
1695   "       (declare (in) ivec2 arg0)\n"
1696   "       (declare (in) ivec2 arg1))\n"
1697   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1698   "\n"
1699   "   (signature bvec3\n"
1700   "     (parameters\n"
1701   "       (declare (in) ivec3 arg0)\n"
1702   "       (declare (in) ivec3 arg1))\n"
1703   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1704   "\n"
1705   "   (signature bvec4\n"
1706   "     (parameters\n"
1707   "       (declare (in) ivec4 arg0)\n"
1708   "       (declare (in) ivec4 arg1))\n"
1709   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1710   "\n"
1711   "   (signature bvec2\n"
1712   "     (parameters\n"
1713   "       (declare (in) uvec2 arg0)\n"
1714   "       (declare (in) uvec2 arg1))\n"
1715   "     ((return (expression bvec2 < (var_ref arg0) (var_ref arg1)))))\n"
1716   "\n"
1717   "   (signature bvec3\n"
1718   "     (parameters\n"
1719   "       (declare (in) uvec3 arg0)\n"
1720   "       (declare (in) uvec3 arg1))\n"
1721   "     ((return (expression bvec3 < (var_ref arg0) (var_ref arg1)))))\n"
1722   "\n"
1723   "   (signature bvec4\n"
1724   "     (parameters\n"
1725   "       (declare (in) uvec4 arg0)\n"
1726   "       (declare (in) uvec4 arg1))\n"
1727   "     ((return (expression bvec4 < (var_ref arg0) (var_ref arg1)))))\n"
1728   "))\n"
1729   ""
1730;
1731static const char builtin_lessThanEqual[] =
1732   "((function lessThanEqual\n"
1733   "   (signature bvec2\n"
1734   "     (parameters\n"
1735   "       (declare (in) vec2 arg0)\n"
1736   "       (declare (in) vec2 arg1))\n"
1737   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1738   "\n"
1739   "   (signature bvec3\n"
1740   "     (parameters\n"
1741   "       (declare (in) vec3 arg0)\n"
1742   "       (declare (in) vec3 arg1))\n"
1743   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1744   "\n"
1745   "   (signature bvec4\n"
1746   "     (parameters\n"
1747   "       (declare (in) vec4 arg0)\n"
1748   "       (declare (in) vec4 arg1))\n"
1749   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1750   "\n"
1751   "   (signature bvec2\n"
1752   "     (parameters\n"
1753   "       (declare (in) ivec2 arg0)\n"
1754   "       (declare (in) ivec2 arg1))\n"
1755   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1756   "\n"
1757   "   (signature bvec3\n"
1758   "     (parameters\n"
1759   "       (declare (in) ivec3 arg0)\n"
1760   "       (declare (in) ivec3 arg1))\n"
1761   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1762   "\n"
1763   "   (signature bvec4\n"
1764   "     (parameters\n"
1765   "       (declare (in) ivec4 arg0)\n"
1766   "       (declare (in) ivec4 arg1))\n"
1767   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1768   "\n"
1769   "   (signature bvec2\n"
1770   "     (parameters\n"
1771   "       (declare (in) uvec2 arg0)\n"
1772   "       (declare (in) uvec2 arg1))\n"
1773   "     ((return (expression bvec2 <= (var_ref arg0) (var_ref arg1)))))\n"
1774   "\n"
1775   "   (signature bvec3\n"
1776   "     (parameters\n"
1777   "       (declare (in) uvec3 arg0)\n"
1778   "       (declare (in) uvec3 arg1))\n"
1779   "     ((return (expression bvec3 <= (var_ref arg0) (var_ref arg1)))))\n"
1780   "\n"
1781   "   (signature bvec4\n"
1782   "     (parameters\n"
1783   "       (declare (in) uvec4 arg0)\n"
1784   "       (declare (in) uvec4 arg1))\n"
1785   "     ((return (expression bvec4 <= (var_ref arg0) (var_ref arg1)))))\n"
1786   "))\n"
1787   ""
1788;
1789static const char builtin_log[] =
1790   "((function log\n"
1791   "   (signature float\n"
1792   "     (parameters\n"
1793   "       (declare (in) float arg0))\n"
1794   "     ((return (expression float log (var_ref arg0)))))\n"
1795   "\n"
1796   "   (signature vec2\n"
1797   "     (parameters\n"
1798   "       (declare (in) vec2 arg0))\n"
1799   "     ((return (expression vec2 log (var_ref arg0)))))\n"
1800   "\n"
1801   "   (signature vec3\n"
1802   "     (parameters\n"
1803   "       (declare (in) vec3 arg0))\n"
1804   "     ((return (expression vec3 log (var_ref arg0)))))\n"
1805   "\n"
1806   "   (signature vec4\n"
1807   "     (parameters\n"
1808   "       (declare (in) vec4 arg0))\n"
1809   "     ((return (expression vec4 log (var_ref arg0)))))\n"
1810   "))\n"
1811   ""
1812;
1813static const char builtin_log2[] =
1814   "((function log2\n"
1815   "   (signature float\n"
1816   "     (parameters\n"
1817   "       (declare (in) float arg0))\n"
1818   "     ((return (expression float log2 (var_ref arg0)))))\n"
1819   "\n"
1820   "   (signature vec2\n"
1821   "     (parameters\n"
1822   "       (declare (in) vec2 arg0))\n"
1823   "     ((return (expression vec2 log2 (var_ref arg0)))))\n"
1824   "\n"
1825   "   (signature vec3\n"
1826   "     (parameters\n"
1827   "       (declare (in) vec3 arg0))\n"
1828   "     ((return (expression vec3 log2 (var_ref arg0)))))\n"
1829   "\n"
1830   "   (signature vec4\n"
1831   "     (parameters\n"
1832   "       (declare (in) vec4 arg0))\n"
1833   "     ((return (expression vec4 log2 (var_ref arg0)))))\n"
1834   "))\n"
1835   ""
1836;
1837static const char builtin_matrixCompMult[] =
1838   "((function matrixCompMult\n"
1839   "   (signature mat2\n"
1840   "     (parameters\n"
1841   "       (declare (in) mat2 x)\n"
1842   "       (declare (in) mat2 y))\n"
1843   "     ((declare () mat2 z)\n"
1844   "      (assign (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1845   "      (assign (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1846   "(return (var_ref z))))\n"
1847   "\n"
1848   "   (signature mat3\n"
1849   "     (parameters\n"
1850   "       (declare (in) mat3 x)\n"
1851   "       (declare (in) mat3 y))\n"
1852   "     ((declare () mat3 z)\n"
1853   "      (assign (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1854   "      (assign (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1855   "      (assign (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1856   "(return (var_ref z))))\n"
1857   "\n"
1858   "   (signature mat4\n"
1859   "     (parameters\n"
1860   "       (declare (in) mat4 x)\n"
1861   "       (declare (in) mat4 y))\n"
1862   "     ((declare () mat4 z)\n"
1863   "      (assign (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1864   "      (assign (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1865   "      (assign (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1866   "      (assign (xyzw) (array_ref (var_ref z) (constant int (3)))  (expression vec4 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1867   "(return (var_ref z))))\n"
1868   "\n"
1869   "   (signature mat2x3\n"
1870   "     (parameters\n"
1871   "       (declare (in) mat2x3 x)\n"
1872   "       (declare (in) mat2x3 y))\n"
1873   "     ((declare () mat2x3 z)\n"
1874   "      (assign (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1875   "      (assign (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1876   "(return (var_ref z))))\n"
1877   "\n"
1878   "   (signature mat3x2\n"
1879   "     (parameters\n"
1880   "       (declare (in) mat3x2 x)\n"
1881   "       (declare (in) mat3x2 y))\n"
1882   "     ((declare () mat3x2 z)\n"
1883   "      (assign (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1884   "      (assign (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1885   "      (assign (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1886   "(return (var_ref z))))\n"
1887   "\n"
1888   "   (signature mat2x4\n"
1889   "     (parameters\n"
1890   "       (declare (in) mat2x4 x)\n"
1891   "       (declare (in) mat2x4 y))\n"
1892   "     ((declare () mat2x4 z)\n"
1893   "      (assign (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1894   "      (assign (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1895   "(return (var_ref z))))\n"
1896   "\n"
1897   "   (signature mat4x2\n"
1898   "     (parameters\n"
1899   "       (declare (in) mat4x2 x)\n"
1900   "       (declare (in) mat4x2 y))\n"
1901   "     ((declare () mat4x2 z)\n"
1902   "      (assign (xy) (array_ref (var_ref z) (constant int (0)))  (expression vec2 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1903   "      (assign (xy) (array_ref (var_ref z) (constant int (1)))  (expression vec2 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1904   "      (assign (xy) (array_ref (var_ref z) (constant int (2)))  (expression vec2 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1905   "      (assign (xy) (array_ref (var_ref z) (constant int (3)))  (expression vec2 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1906   "(return (var_ref z))))\n"
1907   "\n"
1908   "   (signature mat3x4\n"
1909   "     (parameters\n"
1910   "       (declare (in) mat3x4 x)\n"
1911   "       (declare (in) mat3x4 y))\n"
1912   "     ((declare () mat3x4 z)\n"
1913   "      (assign (xyzw) (array_ref (var_ref z) (constant int (0)))  (expression vec4 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1914   "      (assign (xyzw) (array_ref (var_ref z) (constant int (1)))  (expression vec4 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1915   "      (assign (xyzw) (array_ref (var_ref z) (constant int (2)))  (expression vec4 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1916   "(return (var_ref z))))\n"
1917   "\n"
1918   "   (signature mat4x3\n"
1919   "     (parameters\n"
1920   "       (declare (in) mat4x3 x)\n"
1921   "       (declare (in) mat4x3 y))\n"
1922   "     ((declare () mat4x3 z)\n"
1923   "      (assign (xyz) (array_ref (var_ref z) (constant int (0)))  (expression vec3 * (array_ref (var_ref x) (constant int (0))) (array_ref (var_ref y) (constant int (0)))))\n"
1924   "      (assign (xyz) (array_ref (var_ref z) (constant int (1)))  (expression vec3 * (array_ref (var_ref x) (constant int (1))) (array_ref (var_ref y) (constant int (1)))))\n"
1925   "      (assign (xyz) (array_ref (var_ref z) (constant int (2)))  (expression vec3 * (array_ref (var_ref x) (constant int (2))) (array_ref (var_ref y) (constant int (2)))))\n"
1926   "      (assign (xyz) (array_ref (var_ref z) (constant int (3)))  (expression vec3 * (array_ref (var_ref x) (constant int (3))) (array_ref (var_ref y) (constant int (3)))))\n"
1927   "(return (var_ref z))))\n"
1928   "))\n"
1929   ""
1930;
1931static const char builtin_max[] =
1932   "((function max\n"
1933   "   (signature float\n"
1934   "     (parameters\n"
1935   "       (declare (in) float arg0)\n"
1936   "       (declare (in) float arg1))\n"
1937   "     ((return (expression float max (var_ref arg0) (var_ref arg1)))))\n"
1938   "\n"
1939   "   (signature vec2\n"
1940   "     (parameters\n"
1941   "       (declare (in) vec2 arg0)\n"
1942   "       (declare (in) vec2 arg1))\n"
1943   "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1944   "\n"
1945   "   (signature vec3\n"
1946   "     (parameters\n"
1947   "       (declare (in) vec3 arg0)\n"
1948   "       (declare (in) vec3 arg1))\n"
1949   "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1950   "\n"
1951   "   (signature vec4\n"
1952   "     (parameters\n"
1953   "       (declare (in) vec4 arg0)\n"
1954   "       (declare (in) vec4 arg1))\n"
1955   "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1956   "\n"
1957   "   (signature vec2\n"
1958   "     (parameters\n"
1959   "       (declare (in) vec2  arg0)\n"
1960   "       (declare (in) float arg1))\n"
1961   "     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))\n"
1962   "\n"
1963   "   (signature vec3\n"
1964   "     (parameters\n"
1965   "       (declare (in) vec3  arg0)\n"
1966   "       (declare (in) float arg1))\n"
1967   "     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))\n"
1968   "\n"
1969   "   (signature vec4\n"
1970   "     (parameters\n"
1971   "       (declare (in) vec4  arg0)\n"
1972   "       (declare (in) float arg1))\n"
1973   "     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))\n"
1974   "\n"
1975   "   (signature int\n"
1976   "     (parameters\n"
1977   "       (declare (in) int arg0)\n"
1978   "       (declare (in) int arg1))\n"
1979   "     ((return (expression int max (var_ref arg0) (var_ref arg1)))))\n"
1980   "\n"
1981   "   (signature ivec2\n"
1982   "     (parameters\n"
1983   "       (declare (in) ivec2 arg0)\n"
1984   "       (declare (in) ivec2 arg1))\n"
1985   "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
1986   "\n"
1987   "   (signature ivec3\n"
1988   "     (parameters\n"
1989   "       (declare (in) ivec3 arg0)\n"
1990   "       (declare (in) ivec3 arg1))\n"
1991   "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
1992   "\n"
1993   "   (signature ivec4\n"
1994   "     (parameters\n"
1995   "       (declare (in) ivec4 arg0)\n"
1996   "       (declare (in) ivec4 arg1))\n"
1997   "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
1998   "\n"
1999   "   (signature ivec2\n"
2000   "     (parameters\n"
2001   "       (declare (in) ivec2  arg0)\n"
2002   "       (declare (in) int arg1))\n"
2003   "     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))\n"
2004   "\n"
2005   "   (signature ivec3\n"
2006   "     (parameters\n"
2007   "       (declare (in) ivec3  arg0)\n"
2008   "       (declare (in) int arg1))\n"
2009   "     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))\n"
2010   "\n"
2011   "   (signature ivec4\n"
2012   "     (parameters\n"
2013   "       (declare (in) ivec4  arg0)\n"
2014   "       (declare (in) int arg1))\n"
2015   "     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))\n"
2016   "\n"
2017   "   (signature uint\n"
2018   "     (parameters\n"
2019   "       (declare (in) uint arg0)\n"
2020   "       (declare (in) uint arg1))\n"
2021   "     ((return (expression uint max (var_ref arg0) (var_ref arg1)))))\n"
2022   "\n"
2023   "   (signature uvec2\n"
2024   "     (parameters\n"
2025   "       (declare (in) uvec2 arg0)\n"
2026   "       (declare (in) uvec2 arg1))\n"
2027   "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
2028   "\n"
2029   "   (signature uvec3\n"
2030   "     (parameters\n"
2031   "       (declare (in) uvec3 arg0)\n"
2032   "       (declare (in) uvec3 arg1))\n"
2033   "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
2034   "\n"
2035   "   (signature uvec4\n"
2036   "     (parameters\n"
2037   "       (declare (in) uvec4 arg0)\n"
2038   "       (declare (in) uvec4 arg1))\n"
2039   "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
2040   "\n"
2041   "   (signature uvec2\n"
2042   "     (parameters\n"
2043   "       (declare (in) uvec2  arg0)\n"
2044   "       (declare (in) uint arg1))\n"
2045   "     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))\n"
2046   "\n"
2047   "   (signature uvec3\n"
2048   "     (parameters\n"
2049   "       (declare (in) uvec3  arg0)\n"
2050   "       (declare (in) uint arg1))\n"
2051   "     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))\n"
2052   "\n"
2053   "   (signature uvec4\n"
2054   "     (parameters\n"
2055   "       (declare (in) uvec4  arg0)\n"
2056   "       (declare (in) uint arg1))\n"
2057   "     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))\n"
2058   "))\n"
2059   ""
2060;
2061static const char builtin_min[] =
2062   "((function min\n"
2063   "   (signature float\n"
2064   "     (parameters\n"
2065   "       (declare (in) float arg0)\n"
2066   "       (declare (in) float arg1))\n"
2067   "     ((return (expression float min (var_ref arg0) (var_ref arg1)))))\n"
2068   "\n"
2069   "   (signature vec2\n"
2070   "     (parameters\n"
2071   "       (declare (in) vec2 arg0)\n"
2072   "       (declare (in) vec2 arg1))\n"
2073   "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
2074   "\n"
2075   "   (signature vec3\n"
2076   "     (parameters\n"
2077   "       (declare (in) vec3 arg0)\n"
2078   "       (declare (in) vec3 arg1))\n"
2079   "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
2080   "\n"
2081   "   (signature vec4\n"
2082   "     (parameters\n"
2083   "       (declare (in) vec4 arg0)\n"
2084   "       (declare (in) vec4 arg1))\n"
2085   "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
2086   "\n"
2087   "   (signature vec2\n"
2088   "     (parameters\n"
2089   "       (declare (in) vec2  arg0)\n"
2090   "       (declare (in) float arg1))\n"
2091   "     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))\n"
2092   "\n"
2093   "   (signature vec3\n"
2094   "     (parameters\n"
2095   "       (declare (in) vec3  arg0)\n"
2096   "       (declare (in) float arg1))\n"
2097   "     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))\n"
2098   "\n"
2099   "   (signature vec4\n"
2100   "     (parameters\n"
2101   "       (declare (in) vec4  arg0)\n"
2102   "       (declare (in) float arg1))\n"
2103   "     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))\n"
2104   "\n"
2105   "   (signature int\n"
2106   "     (parameters\n"
2107   "       (declare (in) int arg0)\n"
2108   "       (declare (in) int arg1))\n"
2109   "     ((return (expression int min (var_ref arg0) (var_ref arg1)))))\n"
2110   "\n"
2111   "   (signature ivec2\n"
2112   "     (parameters\n"
2113   "       (declare (in) ivec2 arg0)\n"
2114   "       (declare (in) ivec2 arg1))\n"
2115   "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
2116   "\n"
2117   "   (signature ivec3\n"
2118   "     (parameters\n"
2119   "       (declare (in) ivec3 arg0)\n"
2120   "       (declare (in) ivec3 arg1))\n"
2121   "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
2122   "\n"
2123   "   (signature ivec4\n"
2124   "     (parameters\n"
2125   "       (declare (in) ivec4 arg0)\n"
2126   "       (declare (in) ivec4 arg1))\n"
2127   "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
2128   "\n"
2129   "   (signature ivec2\n"
2130   "     (parameters\n"
2131   "       (declare (in) ivec2  arg0)\n"
2132   "       (declare (in) int arg1))\n"
2133   "     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))\n"
2134   "\n"
2135   "   (signature ivec3\n"
2136   "     (parameters\n"
2137   "       (declare (in) ivec3  arg0)\n"
2138   "       (declare (in) int arg1))\n"
2139   "     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))\n"
2140   "\n"
2141   "   (signature ivec4\n"
2142   "     (parameters\n"
2143   "       (declare (in) ivec4  arg0)\n"
2144   "       (declare (in) int arg1))\n"
2145   "     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))\n"
2146   "\n"
2147   "   (signature uint\n"
2148   "     (parameters\n"
2149   "       (declare (in) uint arg0)\n"
2150   "       (declare (in) uint arg1))\n"
2151   "     ((return (expression uint min (var_ref arg0) (var_ref arg1)))))\n"
2152   "\n"
2153   "   (signature uvec2\n"
2154   "     (parameters\n"
2155   "       (declare (in) uvec2 arg0)\n"
2156   "       (declare (in) uvec2 arg1))\n"
2157   "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
2158   "\n"
2159   "   (signature uvec3\n"
2160   "     (parameters\n"
2161   "       (declare (in) uvec3 arg0)\n"
2162   "       (declare (in) uvec3 arg1))\n"
2163   "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
2164   "\n"
2165   "   (signature uvec4\n"
2166   "     (parameters\n"
2167   "       (declare (in) uvec4 arg0)\n"
2168   "       (declare (in) uvec4 arg1))\n"
2169   "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
2170   "\n"
2171   "   (signature uvec2\n"
2172   "     (parameters\n"
2173   "       (declare (in) uvec2  arg0)\n"
2174   "       (declare (in) uint arg1))\n"
2175   "     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))\n"
2176   "\n"
2177   "   (signature uvec3\n"
2178   "     (parameters\n"
2179   "       (declare (in) uvec3  arg0)\n"
2180   "       (declare (in) uint arg1))\n"
2181   "     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))\n"
2182   "\n"
2183   "   (signature uvec4\n"
2184   "     (parameters\n"
2185   "       (declare (in) uvec4  arg0)\n"
2186   "       (declare (in) uint arg1))\n"
2187   "     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))\n"
2188   "))\n"
2189   ""
2190;
2191static const char builtin_mix[] =
2192   "((function mix\n"
2193   "   (signature float\n"
2194   "     (parameters\n"
2195   "       (declare (in) float arg0)\n"
2196   "       (declare (in) float arg1)\n"
2197   "       (declare (in) float arg2))\n"
2198   "     ((return (expression float + (expression float * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression float * (var_ref arg1) (var_ref arg2))))))\n"
2199   "\n"
2200   "   (signature vec2\n"
2201   "     (parameters\n"
2202   "       (declare (in) vec2 arg0)\n"
2203   "       (declare (in) vec2 arg1)\n"
2204   "       (declare (in) vec2 arg2))\n"
2205   "     ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression vec2 - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
2206   "\n"
2207   "   (signature vec3\n"
2208   "     (parameters\n"
2209   "       (declare (in) vec3 arg0)\n"
2210   "       (declare (in) vec3 arg1)\n"
2211   "       (declare (in) vec3 arg2))\n"
2212   "     ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression vec3 - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
2213   "\n"
2214   "   (signature vec4\n"
2215   "     (parameters\n"
2216   "       (declare (in) vec4 arg0)\n"
2217   "       (declare (in) vec4 arg1)\n"
2218   "       (declare (in) vec4 arg2))\n"
2219   "     ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression vec4 - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
2220   "\n"
2221   "   (signature vec2\n"
2222   "     (parameters\n"
2223   "       (declare (in) vec2 arg0)\n"
2224   "       (declare (in) vec2 arg1)\n"
2225   "       (declare (in) float arg2))\n"
2226   "     ((return (expression vec2 + (expression vec2 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec2 * (var_ref arg1) (var_ref arg2))))))\n"
2227   "\n"
2228   "   (signature vec3\n"
2229   "     (parameters\n"
2230   "       (declare (in) vec3 arg0)\n"
2231   "       (declare (in) vec3 arg1)\n"
2232   "       (declare (in) float arg2))\n"
2233   "     ((return (expression vec3 + (expression vec3 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec3 * (var_ref arg1) (var_ref arg2))))))\n"
2234   "\n"
2235   "   (signature vec4\n"
2236   "     (parameters\n"
2237   "       (declare (in) vec4 arg0)\n"
2238   "       (declare (in) vec4 arg1)\n"
2239   "       (declare (in) float arg2))\n"
2240   "     ((return (expression vec4 + (expression vec4 * (var_ref arg0) (expression float - (constant float (1.000000)) (var_ref arg2))) (expression vec4 * (var_ref arg1) (var_ref arg2))))))\n"
2241   "\n"
2242   "   (signature float\n"
2243   "     (parameters\n"
2244   "       (declare (in) float v1)\n"
2245   "       (declare (in) float v2)\n"
2246   "       (declare (in) bool  a))\n"
2247   "     ((assign (var_ref a) (x) (var_ref v1) (var_ref v2))\n"
2248   "      (return (var_ref v1))))\n"
2249   "\n"
2250   "   (signature vec2\n"
2251   "     (parameters\n"
2252   "       (declare (in) vec2 v1)\n"
2253   "       (declare (in) vec2 v2)\n"
2254   "       (declare (in) bvec2 a))\n"
2255   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
2256   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
2257   "      (return (var_ref v1))))\n"
2258   "\n"
2259   "   (signature vec3\n"
2260   "     (parameters\n"
2261   "       (declare (in) vec3 v1)\n"
2262   "       (declare (in) vec3 v2)\n"
2263   "       (declare (in) bvec3 a))\n"
2264   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
2265   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
2266   "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
2267   "      (return (var_ref v1))))\n"
2268   "\n"
2269   "   (signature vec4\n"
2270   "     (parameters\n"
2271   "       (declare (in) vec4 v1)\n"
2272   "       (declare (in) vec4 v2)\n"
2273   "       (declare (in) bvec4 a))\n"
2274   "     ((assign (swiz x (var_ref a)) (x) (var_ref v1) (swiz x (var_ref v2)))\n"
2275   "      (assign (swiz y (var_ref a)) (y) (var_ref v1) (swiz y (var_ref v2)))\n"
2276   "      (assign (swiz z (var_ref a)) (z) (var_ref v1) (swiz z (var_ref v2)))\n"
2277   "      (assign (swiz w (var_ref a)) (w) (var_ref v1) (swiz w (var_ref v2)))\n"
2278   "      (return (var_ref v1))))\n"
2279   "))\n"
2280   ""
2281;
2282static const char builtin_mod[] =
2283   "((function mod\n"
2284   "   (signature float\n"
2285   "     (parameters\n"
2286   "       (declare (in) float arg0)\n"
2287   "       (declare (in) float arg1))\n"
2288   "     ((return (expression float % (var_ref arg0) (var_ref arg1)))))\n"
2289   "\n"
2290   "   (signature vec2\n"
2291   "     (parameters\n"
2292   "       (declare (in) vec2 arg0)\n"
2293   "       (declare (in) vec2 arg1))\n"
2294   "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2295   "\n"
2296   "   (signature vec3\n"
2297   "     (parameters\n"
2298   "       (declare (in) vec3 arg0)\n"
2299   "       (declare (in) vec3 arg1))\n"
2300   "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2301   "\n"
2302   "   (signature vec4\n"
2303   "     (parameters\n"
2304   "       (declare (in) vec4 arg0)\n"
2305   "       (declare (in) vec4 arg1))\n"
2306   "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2307   "\n"
2308   "   (signature vec2\n"
2309   "     (parameters\n"
2310   "       (declare (in) vec2  arg0)\n"
2311   "       (declare (in) float arg1))\n"
2312   "     ((return (expression vec2 % (var_ref arg0) (var_ref arg1)))))\n"
2313   "\n"
2314   "   (signature vec3\n"
2315   "     (parameters\n"
2316   "       (declare (in) vec3  arg0)\n"
2317   "       (declare (in) float arg1))\n"
2318   "     ((return (expression vec3 % (var_ref arg0) (var_ref arg1)))))\n"
2319   "\n"
2320   "   (signature vec4\n"
2321   "     (parameters\n"
2322   "       (declare (in) vec4  arg0)\n"
2323   "       (declare (in) float arg1))\n"
2324   "     ((return (expression vec4 % (var_ref arg0) (var_ref arg1)))))\n"
2325   "))\n"
2326   ""
2327;
2328static const char builtin_modf[] =
2329   "((function modf\n"
2330   "   (signature float\n"
2331   "     (parameters\n"
2332   "       (declare (in)  float x)\n"
2333   "       (declare (out) float i))\n"
2334   "     ((declare () float t)\n"
2335   "      (assign (x) (var_ref t) (expression float trunc (var_ref x)))\n"
2336   "      (assign (x) (var_ref i) (var_ref t))\n"
2337   "      (return (expression float - (var_ref x) (var_ref t)))))\n"
2338   "\n"
2339   "   (signature vec2\n"
2340   "     (parameters\n"
2341   "       (declare (in)  vec2 x)\n"
2342   "       (declare (out) vec2 i))\n"
2343   "     ((declare () vec2 t)\n"
2344   "      (assign (xy) (var_ref t) (expression vec2 trunc (var_ref x)))\n"
2345   "      (assign (xy) (var_ref i) (var_ref t))\n"
2346   "      (return (expression vec2 - (var_ref x) (var_ref t)))))\n"
2347   "\n"
2348   "   (signature vec3\n"
2349   "     (parameters\n"
2350   "       (declare (in)  vec3 x)\n"
2351   "       (declare (out) vec3 i))\n"
2352   "     ((declare () vec3 t)\n"
2353   "      (assign (xyz) (var_ref t) (expression vec3 trunc (var_ref x)))\n"
2354   "      (assign (xyz) (var_ref i) (var_ref t))\n"
2355   "      (return (expression vec3 - (var_ref x) (var_ref t)))))\n"
2356   "\n"
2357   "   (signature vec4\n"
2358   "     (parameters\n"
2359   "       (declare (in)  vec4 x)\n"
2360   "       (declare (out) vec4 i))\n"
2361   "     ((declare () vec4 t)\n"
2362   "      (assign (xyzw) (var_ref t) (expression vec4 trunc (var_ref x)))\n"
2363   "      (assign (xyzw) (var_ref i) (var_ref t))\n"
2364   "      (return (expression vec4 - (var_ref x) (var_ref t)))))\n"
2365   "))\n"
2366   ""
2367;
2368static const char builtin_noise1[] =
2369   "((function noise1\n"
2370   "   (signature float\n"
2371   "     (parameters\n"
2372   "       (declare (in) float x))\n"
2373   "     ((return (expression float noise (var_ref x)))))\n"
2374   "   (signature float\n"
2375   "     (parameters\n"
2376   "       (declare (in) vec2 x))\n"
2377   "     ((return (expression float noise (var_ref x)))))\n"
2378   "   (signature float\n"
2379   "     (parameters\n"
2380   "       (declare (in) vec3 x))\n"
2381   "     ((return (expression float noise (var_ref x)))))\n"
2382   "   (signature float\n"
2383   "     (parameters\n"
2384   "       (declare (in) vec4 x))\n"
2385   "     ((return (expression float noise (var_ref x)))))\n"
2386   "))\n"
2387   ""
2388;
2389static const char builtin_noise2[] =
2390   "((function noise2\n"
2391   "  (signature vec2\n"
2392   "    (parameters (declare (in) vec4 p))\n"
2393   "    (\n"
2394   "      (declare () float a)\n"
2395   "      (declare () float b)\n"
2396   "      (declare () vec2 t)\n"
2397   "\n"
2398   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2399   "      (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2400   "      (assign (x) (var_ref t) (var_ref a))\n"
2401   "      (assign (y) (var_ref t) (var_ref b))\n"
2402   "      (return (var_ref t))\n"
2403   "    ))\n"
2404   "\n"
2405   "  (signature vec2\n"
2406   "    (parameters (declare (in) vec3 p))\n"
2407   "    (\n"
2408   "      (declare () float a)\n"
2409   "      (declare () float b)\n"
2410   "      (declare () vec2 t)\n"
2411   "\n"
2412   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2413   "      (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2414   "      (assign (x) (var_ref t) (var_ref a))\n"
2415   "      (assign (y) (var_ref t) (var_ref b))\n"
2416   "      (return (var_ref t))\n"
2417   "    ))\n"
2418   "\n"
2419   "  (signature vec2\n"
2420   "    (parameters\n"
2421   "      (declare (in ) vec2 p)\n"
2422   "    )\n"
2423   "    (\n"
2424   "      (declare () float a)\n"
2425   "      (declare () float b)\n"
2426   "      (declare () vec2 t)\n"
2427   "\n"
2428   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2429   "      (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2430   "      (assign (x) (var_ref t) (var_ref a))\n"
2431   "      (assign (y) (var_ref t) (var_ref b))\n"
2432   "      (return (var_ref t))\n"
2433   "    ))\n"
2434   "\n"
2435   "  (signature vec2\n"
2436   "    (parameters\n"
2437   "      (declare (in ) float p)\n"
2438   "    )\n"
2439   "    (\n"
2440   "      (declare () float a)\n"
2441   "      (declare () float b)\n"
2442   "      (declare () vec2 t)\n"
2443   "\n"
2444   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2445   "      (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2446   "      (assign (x) (var_ref t) (var_ref a))\n"
2447   "      (assign (y) (var_ref t) (var_ref b))\n"
2448   "      (return (var_ref t))\n"
2449   "    ))\n"
2450   "))\n"
2451   ""
2452;
2453static const char builtin_noise3[] =
2454   "((function noise3\n"
2455   "  (signature vec3\n"
2456   "    (parameters (declare (in) vec4 p))\n"
2457   "    (\n"
2458   "      (declare () float a)\n"
2459   "      (declare () float b)\n"
2460   "      (declare () float c)\n"
2461   "      (declare () vec3 t)\n"
2462   "\n"
2463   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2464   "      (assign (x) (var_ref b) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2465   "      (assign (x) (var_ref c) (expression float noise (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0)))))\n"
2466   "\n"
2467   "      (assign (x) (var_ref t) (var_ref a))\n"
2468   "      (assign (y) (var_ref t) (var_ref b))\n"
2469   "      (assign (z) (var_ref t) (var_ref c))\n"
2470   "      (return (var_ref t))\n"
2471   "    ))\n"
2472   "\n"
2473   "  (signature vec3\n"
2474   "    (parameters (declare (in) vec3 p))\n"
2475   "    (\n"
2476   "      (declare () float a)\n"
2477   "      (declare () float b)\n"
2478   "      (declare () float c)\n"
2479   "      (declare () vec3 t)\n"
2480   "\n"
2481   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2482   "      (assign (x) (var_ref b) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2483   "      (assign (x) (var_ref c) (expression float noise (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0)))))\n"
2484   "\n"
2485   "      (assign (x) (var_ref t) (var_ref a))\n"
2486   "      (assign (y) (var_ref t) (var_ref b))\n"
2487   "      (assign (z) (var_ref t) (var_ref c))\n"
2488   "      (return (var_ref t))\n"
2489   "    ))\n"
2490   "\n"
2491   "  (signature vec3\n"
2492   "    (parameters (declare (in) vec2 p))\n"
2493   "    (\n"
2494   "      (declare () float a)\n"
2495   "      (declare () float b)\n"
2496   "      (declare () float c)\n"
2497   "      (declare () vec3 t)\n"
2498   "\n"
2499   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2500   "      (assign (x) (var_ref b) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2501   "      (assign (x) (var_ref c) (expression float noise (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0)))))\n"
2502   "\n"
2503   "      (assign (x) (var_ref t) (var_ref a))\n"
2504   "      (assign (y) (var_ref t) (var_ref b))\n"
2505   "      (assign (z) (var_ref t) (var_ref c))\n"
2506   "      (return (var_ref t))\n"
2507   "    ))\n"
2508   "\n"
2509   "  (signature vec3\n"
2510   "    (parameters (declare (in) float p))\n"
2511   "    (\n"
2512   "      (declare () float a)\n"
2513   "      (declare () float b)\n"
2514   "      (declare () float c)\n"
2515   "      (declare () vec3 t)\n"
2516   "\n"
2517   "      (assign (x) (var_ref a) (expression float noise (var_ref p)))\n"
2518   "      (assign (x) (var_ref b) (expression float noise (expression float + (var_ref p) (constant float (601.0)))))\n"
2519   "      (assign (x) (var_ref c) (expression float noise (expression float + (var_ref p) (constant float (1559.0)))))\n"
2520   "\n"
2521   "      (assign (x) (var_ref t) (var_ref a))\n"
2522   "      (assign (y) (var_ref t) (var_ref b))\n"
2523   "      (assign (z) (var_ref t) (var_ref c))\n"
2524   "      (return (var_ref t))\n"
2525   "    ))\n"
2526   "))\n"
2527   ""
2528;
2529static const char builtin_noise4[] =
2530   "((function noise4\n"
2531   "  (signature vec4\n"
2532   "    (parameters (declare (in) vec4 p))\n"
2533   "    (\n"
2534   "      (declare () float _x)\n"
2535   "      (declare () float _y)\n"
2536   "      (declare () float _z)\n"
2537   "      (declare () float _w)\n"
2538   "      (declare () vec4 _r)\n"
2539   "\n"
2540   "      (declare () vec4 _p)\n"
2541   "      (assign (xyzw) (var_ref _p) (expression vec4 + (var_ref p) (constant vec4 (1559.0 113.0 1861.0 797.0))) )\n"
2542   "\n"
2543   "      (assign (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2544   "      (assign (x) (var_ref _y) (expression float noise(expression vec4 + (var_ref p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2545   "      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2546   "      (assign (x) (var_ref _w) (expression float noise(expression vec4 + (var_ref _p) (constant vec4 (601.0 313.0 29.0 277.0)))))\n"
2547   "\n"
2548   "      (assign (x) (var_ref _r) (var_ref _x))\n"
2549   "      (assign (y) (var_ref _r) (var_ref _y))\n"
2550   "      (assign (z) (var_ref _r) (var_ref _z))\n"
2551   "      (assign (w) (var_ref _r) (var_ref _w))\n"
2552   "      (return (var_ref _r))\n"
2553   "    ))\n"
2554   "\n"
2555   "  (signature vec4\n"
2556   "    (parameters (declare (in) vec3 p))\n"
2557   "    (\n"
2558   "      (declare () float _x)\n"
2559   "      (declare () float _y)\n"
2560   "      (declare () float _z)\n"
2561   "      (declare () float _w)\n"
2562   "      (declare () vec4 _r)\n"
2563   "\n"
2564   "      (declare () vec3 _p)\n"
2565   "      (assign (xyz) (var_ref _p) (expression vec3 + (var_ref p) (constant vec3 (1559.0 113.0 1861.0))) )\n"
2566   "\n"
2567   "      (assign (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2568   "      (assign (x) (var_ref _y) (expression float noise(expression vec3 + (var_ref p) (constant vec3 (601.0 313.0 29.0)))))\n"
2569   "      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2570   "      (assign (x) (var_ref _w) (expression float noise(expression vec3 + (var_ref _p) (constant vec3 (601.0 313.0 29.0)))))\n"
2571   "\n"
2572   "      (assign (x) (var_ref _r) (var_ref _x))\n"
2573   "      (assign (y) (var_ref _r) (var_ref _y))\n"
2574   "      (assign (z) (var_ref _r) (var_ref _z))\n"
2575   "      (assign (w) (var_ref _r) (var_ref _w))\n"
2576   "      (return (var_ref _r))\n"
2577   "    ))\n"
2578   "\n"
2579   "  (signature vec4\n"
2580   "    (parameters (declare (in) vec2 p))\n"
2581   "    (\n"
2582   "      (declare () float _x)\n"
2583   "      (declare () float _y)\n"
2584   "      (declare () float _z)\n"
2585   "      (declare () float _w)\n"
2586   "      (declare () vec4 _r)\n"
2587   "\n"
2588   "      (declare () vec2 _p)\n"
2589   "      (assign (xy) (var_ref _p) (expression vec2 + (var_ref p) (constant vec2 (1559.0 113.0))) )\n"
2590   "\n"
2591   "      (assign (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2592   "      (assign (x) (var_ref _y) (expression float noise(expression vec2 + (var_ref p) (constant vec2 (601.0 313.0)))))\n"
2593   "      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2594   "      (assign (x) (var_ref _w) (expression float noise(expression vec2 + (var_ref _p) (constant vec2 (601.0 313.0)))))\n"
2595   "\n"
2596   "      (assign (x) (var_ref _r) (var_ref _x))\n"
2597   "      (assign (y) (var_ref _r) (var_ref _y))\n"
2598   "      (assign (z) (var_ref _r) (var_ref _z))\n"
2599   "      (assign (w) (var_ref _r) (var_ref _w))\n"
2600   "      (return (var_ref _r))\n"
2601   "    ))\n"
2602   "\n"
2603   "  (signature vec4\n"
2604   "    (parameters (declare (in) float p))\n"
2605   "    (\n"
2606   "      (declare () float _x)\n"
2607   "      (declare () float _y)\n"
2608   "      (declare () float _z)\n"
2609   "      (declare () float _w)\n"
2610   "      (declare () vec4 _r)\n"
2611   "\n"
2612   "      (declare () float _p)\n"
2613   "      (assign (x) (var_ref _p) (expression float + (var_ref p) (constant float (1559.0))) )\n"
2614   "\n"
2615   "      (assign (x) (var_ref _x) (expression float noise(var_ref p)))\n"
2616   "      (assign (x) (var_ref _y) (expression float noise(expression float + (var_ref p) (constant float (601.0)))))\n"
2617   "      (assign (x) (var_ref _z) (expression float noise(var_ref _p)))\n"
2618   "      (assign (x) (var_ref _w) (expression float noise(expression float + (var_ref _p) (constant float (601.0)))))\n"
2619   "\n"
2620   "      (assign (x) (var_ref _r) (var_ref _x))\n"
2621   "      (assign (y) (var_ref _r) (var_ref _y))\n"
2622   "      (assign (z) (var_ref _r) (var_ref _z))\n"
2623   "      (assign (w) (var_ref _r) (var_ref _w))\n"
2624   "      (return (var_ref _r))\n"
2625   "    ))\n"
2626   "))\n"
2627   ""
2628;
2629static const char builtin_normalize[] =
2630   "((function normalize\n"
2631   "   (signature float\n"
2632   "     (parameters\n"
2633   "       (declare (in) float arg0))\n"
2634   "     ((return (expression float sign (var_ref arg0)))))\n"
2635   "\n"
2636   "   (signature vec2\n"
2637   "     (parameters\n"
2638   "       (declare (in) vec2 arg0))\n"
2639   "     ((return (expression vec2 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2640   "\n"
2641   "   (signature vec3\n"
2642   "     (parameters\n"
2643   "       (declare (in) vec3 arg0))\n"
2644   "     ((return (expression vec3 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2645   "\n"
2646   "   (signature vec4\n"
2647   "     (parameters\n"
2648   "       (declare (in) vec4 arg0))\n"
2649   "     ((return (expression vec4 * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))\n"
2650   "))\n"
2651   ""
2652;
2653static const char builtin_not[] =
2654   "((function not\n"
2655   "   (signature bvec2\n"
2656   "     (parameters\n"
2657   "       (declare (in) bvec2 arg0))\n"
2658   "     ((return (expression bvec2 ! (var_ref arg0)))))\n"
2659   "\n"
2660   "   (signature bvec3\n"
2661   "     (parameters\n"
2662   "       (declare (in) bvec3 arg0))\n"
2663   "     ((return (expression bvec3 ! (var_ref arg0)))))\n"
2664   "\n"
2665   "   (signature bvec4\n"
2666   "     (parameters\n"
2667   "       (declare (in) bvec4 arg0))\n"
2668   "     ((return (expression bvec4 ! (var_ref arg0)))))\n"
2669   "))\n"
2670   ""
2671;
2672static const char builtin_notEqual[] =
2673   "((function notEqual\n"
2674   "   (signature bvec2\n"
2675   "     (parameters\n"
2676   "       (declare (in) vec2 arg0)\n"
2677   "       (declare (in) vec2 arg1))\n"
2678   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2679   "\n"
2680   "   (signature bvec3\n"
2681   "     (parameters\n"
2682   "       (declare (in) vec3 arg0)\n"
2683   "       (declare (in) vec3 arg1))\n"
2684   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2685   "\n"
2686   "   (signature bvec4\n"
2687   "     (parameters\n"
2688   "       (declare (in) vec4 arg0)\n"
2689   "       (declare (in) vec4 arg1))\n"
2690   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2691   "\n"
2692   "   (signature bvec2\n"
2693   "     (parameters\n"
2694   "       (declare (in) bvec2 arg0)\n"
2695   "       (declare (in) bvec2 arg1))\n"
2696   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2697   "\n"
2698   "   (signature bvec3\n"
2699   "     (parameters\n"
2700   "       (declare (in) bvec3 arg0)\n"
2701   "       (declare (in) bvec3 arg1))\n"
2702   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2703   "\n"
2704   "   (signature bvec4\n"
2705   "     (parameters\n"
2706   "       (declare (in) bvec4 arg0)\n"
2707   "       (declare (in) bvec4 arg1))\n"
2708   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2709   "\n"
2710   "   (signature bvec2\n"
2711   "     (parameters\n"
2712   "       (declare (in) ivec2 arg0)\n"
2713   "       (declare (in) ivec2 arg1))\n"
2714   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2715   "\n"
2716   "   (signature bvec3\n"
2717   "     (parameters\n"
2718   "       (declare (in) ivec3 arg0)\n"
2719   "       (declare (in) ivec3 arg1))\n"
2720   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2721   "\n"
2722   "   (signature bvec4\n"
2723   "     (parameters\n"
2724   "       (declare (in) ivec4 arg0)\n"
2725   "       (declare (in) ivec4 arg1))\n"
2726   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2727   "\n"
2728   "   (signature bvec2\n"
2729   "     (parameters\n"
2730   "       (declare (in) uvec2 arg0)\n"
2731   "       (declare (in) uvec2 arg1))\n"
2732   "     ((return (expression bvec2 != (var_ref arg0) (var_ref arg1)))))\n"
2733   "\n"
2734   "   (signature bvec3\n"
2735   "     (parameters\n"
2736   "       (declare (in) uvec3 arg0)\n"
2737   "       (declare (in) uvec3 arg1))\n"
2738   "     ((return (expression bvec3 != (var_ref arg0) (var_ref arg1)))))\n"
2739   "\n"
2740   "   (signature bvec4\n"
2741   "     (parameters\n"
2742   "       (declare (in) uvec4 arg0)\n"
2743   "       (declare (in) uvec4 arg1))\n"
2744   "     ((return (expression bvec4 != (var_ref arg0) (var_ref arg1)))))\n"
2745   "))\n"
2746   ""
2747;
2748static const char builtin_outerProduct[] =
2749   "((function outerProduct\n"
2750   "   (signature mat2\n"
2751   "     (parameters\n"
2752   "       (declare (in) vec2 u)\n"
2753   "       (declare (in) vec2 v))\n"
2754   "     ((declare () mat2 m)\n"
2755   "      (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2756   "      (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2757   "      (return (var_ref m))))\n"
2758   "\n"
2759   "   (signature mat2x3\n"
2760   "     (parameters\n"
2761   "       (declare (in) vec3 u)\n"
2762   "       (declare (in) vec2 v))\n"
2763   "     ((declare () mat2x3 m)\n"
2764   "      (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2765   "      (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2766   "      (return (var_ref m))))\n"
2767   "\n"
2768   "   (signature mat2x4\n"
2769   "     (parameters\n"
2770   "       (declare (in) vec4 u)\n"
2771   "       (declare (in) vec2 v))\n"
2772   "     ((declare () mat2x4 m)\n"
2773   "      (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2774   "      (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2775   "      (return (var_ref m))))\n"
2776   "\n"
2777   "   (signature mat3x2\n"
2778   "     (parameters\n"
2779   "       (declare (in) vec2 u)\n"
2780   "       (declare (in) vec3 v))\n"
2781   "     ((declare () mat3x2 m)\n"
2782   "      (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2783   "      (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2784   "      (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2785   "      (return (var_ref m))\n"
2786   " ))\n"
2787   "\n"
2788   "   (signature mat3\n"
2789   "     (parameters\n"
2790   "       (declare (in) vec3 u)\n"
2791   "       (declare (in) vec3 v))\n"
2792   "     ((declare () mat3 m)\n"
2793   "      (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2794   "      (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2795   "      (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2796   "      (return (var_ref m))))\n"
2797   "\n"
2798   "   (signature mat3x4\n"
2799   "     (parameters\n"
2800   "       (declare (in) vec4 u)\n"
2801   "       (declare (in) vec3 v))\n"
2802   "     ((declare () mat3x4 m)\n"
2803   "      (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2804   "      (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2805   "      (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2806   "      (return (var_ref m))))\n"
2807   "\n"
2808   "   (signature mat4x2\n"
2809   "     (parameters\n"
2810   "       (declare (in) vec2 u)\n"
2811   "       (declare (in) vec4 v))\n"
2812   "     ((declare () mat4x2 m)\n"
2813   "      (assign (xy) (array_ref (var_ref m) (constant int (0))) (expression vec2 * (var_ref u) (swiz x (var_ref v))))\n"
2814   "      (assign (xy) (array_ref (var_ref m) (constant int (1))) (expression vec2 * (var_ref u) (swiz y (var_ref v))))\n"
2815   "      (assign (xy) (array_ref (var_ref m) (constant int (2))) (expression vec2 * (var_ref u) (swiz z (var_ref v))))\n"
2816   "      (assign (xy) (array_ref (var_ref m) (constant int (3))) (expression vec2 * (var_ref u) (swiz w (var_ref v))))\n"
2817   "      (return (var_ref m))))\n"
2818   "\n"
2819   "   (signature mat4x3\n"
2820   "     (parameters\n"
2821   "       (declare (in) vec3 u)\n"
2822   "       (declare (in) vec4 v))\n"
2823   "     ((declare () mat4x3 m)\n"
2824   "      (assign (xyz) (array_ref (var_ref m) (constant int (0))) (expression vec3 * (var_ref u) (swiz x (var_ref v))))\n"
2825   "      (assign (xyz) (array_ref (var_ref m) (constant int (1))) (expression vec3 * (var_ref u) (swiz y (var_ref v))))\n"
2826   "      (assign (xyz) (array_ref (var_ref m) (constant int (2))) (expression vec3 * (var_ref u) (swiz z (var_ref v))))\n"
2827   "      (assign (xyz) (array_ref (var_ref m) (constant int (3))) (expression vec3 * (var_ref u) (swiz w (var_ref v))))\n"
2828   "      (return (var_ref m))))\n"
2829   "\n"
2830   "   (signature mat4\n"
2831   "     (parameters\n"
2832   "       (declare (in) vec4 u)\n"
2833   "       (declare (in) vec4 v))\n"
2834   "     ((declare () mat4 m)\n"
2835   "      (assign (xyzw) (array_ref (var_ref m) (constant int (0))) (expression vec4 * (var_ref u) (swiz x (var_ref v))))\n"
2836   "      (assign (xyzw) (array_ref (var_ref m) (constant int (1))) (expression vec4 * (var_ref u) (swiz y (var_ref v))))\n"
2837   "      (assign (xyzw) (array_ref (var_ref m) (constant int (2))) (expression vec4 * (var_ref u) (swiz z (var_ref v))))\n"
2838   "      (assign (xyzw) (array_ref (var_ref m) (constant int (3))) (expression vec4 * (var_ref u) (swiz w (var_ref v))))\n"
2839   "      (return (var_ref m))))\n"
2840   "))\n"
2841   ""
2842;
2843static const char builtin_pow[] =
2844   "((function pow\n"
2845   "   (signature float\n"
2846   "     (parameters\n"
2847   "       (declare (in) float arg0)\n"
2848   "       (declare (in) float arg1))\n"
2849   "     ((return (expression float pow (var_ref arg0) (var_ref arg1)))))\n"
2850   "\n"
2851   "   (signature vec2\n"
2852   "     (parameters\n"
2853   "       (declare (in) vec2 arg0)\n"
2854   "       (declare (in) vec2 arg1))\n"
2855   "     ((return (expression vec2 pow (var_ref arg0) (var_ref arg1)))))\n"
2856   "\n"
2857   "   (signature vec3\n"
2858   "     (parameters\n"
2859   "       (declare (in) vec3 arg0)\n"
2860   "       (declare (in) vec3 arg1))\n"
2861   "     ((return (expression vec3 pow (var_ref arg0) (var_ref arg1)))))\n"
2862   "\n"
2863   "   (signature vec4\n"
2864   "     (parameters\n"
2865   "       (declare (in) vec4 arg0)\n"
2866   "       (declare (in) vec4 arg1))\n"
2867   "     ((return (expression vec4 pow (var_ref arg0) (var_ref arg1)))))\n"
2868   "))\n"
2869   ""
2870;
2871static const char builtin_radians[] =
2872   "((function radians\n"
2873   "   (signature float\n"
2874   "     (parameters\n"
2875   "       (declare (in) float arg0))\n"
2876   "     ((return (expression float * (var_ref arg0) (constant float (0.0174532925))))))\n"
2877   "\n"
2878   "   (signature vec2\n"
2879   "     (parameters\n"
2880   "       (declare (in) vec2 arg0))\n"
2881   "     ((return (expression vec2 * (var_ref arg0) (constant float (0.0174532925))))))\n"
2882   "\n"
2883   "   (signature vec3\n"
2884   "     (parameters\n"
2885   "       (declare (in) vec3 arg0))\n"
2886   "     ((return (expression vec3 * (var_ref arg0) (constant float (0.0174532925))))))\n"
2887   "\n"
2888   "   (signature vec4\n"
2889   "     (parameters\n"
2890   "       (declare (in) vec4 arg0))\n"
2891   "     ((return (expression vec4 * (var_ref arg0) (constant float (0.0174532925))))))\n"
2892   "))\n"
2893   ""
2894;
2895static const char builtin_reflect[] =
2896   "((function reflect\n"
2897   "   (signature float\n"
2898   "     (parameters\n"
2899   "       (declare (in) float i)\n"
2900   "       (declare (in) float n))\n"
2901   "     ((return (expression float -\n"
2902   "	       (var_ref i)\n"
2903   "	       (expression float *\n"
2904   "		(constant float (2.0))\n"
2905   "		(expression float *\n"
2906   "		 (expression float *\n"
2907   "		  (var_ref n)\n"
2908   "		  (var_ref i))\n"
2909   "		 (var_ref n)))))))\n"
2910   "\n"
2911   "   (signature vec2\n"
2912   "     (parameters\n"
2913   "       (declare (in) vec2 i)\n"
2914   "       (declare (in) vec2 n))\n"
2915   "     ((return (expression vec2 -\n"
2916   "	       (var_ref i)\n"
2917   "	       (expression vec2 *\n"
2918   "		(constant float (2.0))\n"
2919   "		(expression vec2 *\n"
2920   "		 (expression float dot\n"
2921   "		  (var_ref n)\n"
2922   "		  (var_ref i))\n"
2923   "		 (var_ref n)))))))\n"
2924   "\n"
2925   "   (signature vec3\n"
2926   "     (parameters\n"
2927   "       (declare (in) vec3 i)\n"
2928   "       (declare (in) vec3 n))\n"
2929   "     ((return (expression vec3 -\n"
2930   "	       (var_ref i)\n"
2931   "	       (expression vec3 *\n"
2932   "		(constant float (2.0))\n"
2933   "		(expression vec3 *\n"
2934   "		 (expression float dot\n"
2935   "		  (var_ref n)\n"
2936   "		  (var_ref i))\n"
2937   "		 (var_ref n)))))))\n"
2938   "\n"
2939   "   (signature vec4\n"
2940   "     (parameters\n"
2941   "       (declare (in) vec4 i)\n"
2942   "       (declare (in) vec4 n))\n"
2943   "     ((return (expression vec4 -\n"
2944   "	       (var_ref i)\n"
2945   "	       (expression vec4 *\n"
2946   "		(constant float (2.0))\n"
2947   "		(expression vec4 *\n"
2948   "		 (expression float dot\n"
2949   "		  (var_ref n)\n"
2950   "		  (var_ref i))\n"
2951   "		 (var_ref n)))))))\n"
2952   "\n"
2953   "))\n"
2954   ""
2955;
2956static const char builtin_refract[] =
2957   "((function refract\n"
2958   "   (signature float\n"
2959   "     (parameters\n"
2960   "       (declare (in) float i)\n"
2961   "       (declare (in) float n)\n"
2962   "       (declare (in) float eta))\n"
2963   "     ((declare () float k)\n"
2964   "      (assign (x) (var_ref k)\n"
2965   "              (expression float - (constant float (1.0))\n"
2966   "	        (expression float * (var_ref eta)\n"
2967   "	          (expression float * (var_ref eta)\n"
2968   "		    (expression float - (constant float (1.0))\n"
2969   "		      (expression float * \n"
2970   "		        (expression float * (var_ref n) (var_ref i))\n"
2971   "		        (expression float * (var_ref n) (var_ref i))))))))\n"
2972   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2973   "          ((return (constant float (0.0))))\n"
2974   "	  ((return (expression float -\n"
2975   "	             (expression float * (var_ref eta) (var_ref i))\n"
2976   "		     (expression float *\n"
2977   "		       (expression float +\n"
2978   "		         (expression float * (var_ref eta)\n"
2979   "			   (expression float * (var_ref n) (var_ref i)))\n"
2980   "		         (expression float sqrt (var_ref k)))\n"
2981   "		       (var_ref n))))))))\n"
2982   "\n"
2983   "   (signature vec2\n"
2984   "     (parameters\n"
2985   "       (declare (in) vec2 i)\n"
2986   "       (declare (in) vec2 n)\n"
2987   "       (declare (in) float eta))\n"
2988   "     ((declare () float k)\n"
2989   "      (assign (x) (var_ref k)\n"
2990   "              (expression float - (constant float (1.0))\n"
2991   "	        (expression float * (var_ref eta)\n"
2992   "	          (expression float * (var_ref eta)\n"
2993   "		    (expression float - (constant float (1.0))\n"
2994   "		      (expression float * \n"
2995   "		        (expression float dot (var_ref n) (var_ref i))\n"
2996   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
2997   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
2998   "          ((return (constant vec2 (0.0 0.0))))\n"
2999   "	  ((return (expression vec2 -\n"
3000   "	             (expression vec2 * (var_ref eta) (var_ref i))\n"
3001   "		     (expression vec2 *\n"
3002   "		       (expression float +\n"
3003   "		         (expression float * (var_ref eta)\n"
3004   "			   (expression float dot (var_ref n) (var_ref i)))\n"
3005   "		         (expression float sqrt (var_ref k)))\n"
3006   "		       (var_ref n))))))))\n"
3007   "\n"
3008   "   (signature vec3\n"
3009   "     (parameters\n"
3010   "       (declare (in) vec3 i)\n"
3011   "       (declare (in) vec3 n)\n"
3012   "       (declare (in) float eta))\n"
3013   "     ((declare () float k)\n"
3014   "      (assign (x) (var_ref k)\n"
3015   "              (expression float - (constant float (1.0))\n"
3016   "	        (expression float * (var_ref eta)\n"
3017   "	          (expression float * (var_ref eta)\n"
3018   "		    (expression float - (constant float (1.0))\n"
3019   "		      (expression float * \n"
3020   "		        (expression float dot (var_ref n) (var_ref i))\n"
3021   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
3022   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
3023   "          ((return (constant vec3 (0.0 0.0 0.0))))\n"
3024   "	  ((return (expression vec3 -\n"
3025   "	             (expression vec3 * (var_ref eta) (var_ref i))\n"
3026   "		     (expression vec3 *\n"
3027   "		       (expression float +\n"
3028   "		         (expression float * (var_ref eta)\n"
3029   "			   (expression float dot (var_ref n) (var_ref i)))\n"
3030   "		         (expression float sqrt (var_ref k)))\n"
3031   "		       (var_ref n))))))))\n"
3032   "\n"
3033   "   (signature vec4\n"
3034   "     (parameters\n"
3035   "       (declare (in) vec4 i)\n"
3036   "       (declare (in) vec4 n)\n"
3037   "       (declare (in) float eta))\n"
3038   "     ((declare () float k)\n"
3039   "      (assign (x) (var_ref k)\n"
3040   "              (expression float - (constant float (1.0))\n"
3041   "	        (expression float * (var_ref eta)\n"
3042   "	          (expression float * (var_ref eta)\n"
3043   "		    (expression float - (constant float (1.0))\n"
3044   "		      (expression float * \n"
3045   "		        (expression float dot (var_ref n) (var_ref i))\n"
3046   "		        (expression float dot (var_ref n) (var_ref i))))))))\n"
3047   "      (if (expression bool < (var_ref k) (constant float (0.0)))\n"
3048   "          ((return (constant vec4 (0.0 0.0 0.0 0.0))))\n"
3049   "	  ((return (expression vec4 -\n"
3050   "	             (expression vec4 * (var_ref eta) (var_ref i))\n"
3051   "		     (expression vec4 *\n"
3052   "		       (expression float +\n"
3053   "		         (expression float * (var_ref eta)\n"
3054   "			   (expression float dot (var_ref n) (var_ref i)))\n"
3055   "		         (expression float sqrt (var_ref k)))\n"
3056   "		       (var_ref n))))))))\n"
3057   "\n"
3058   "))\n"
3059   ""
3060;
3061static const char builtin_round[] =
3062   "((function round\n"
3063   "   (signature float\n"
3064   "     (parameters\n"
3065   "       (declare (in) float arg0))\n"
3066   "     ((return (expression float round_even (var_ref arg0)))))\n"
3067   "\n"
3068   "   (signature vec2\n"
3069   "     (parameters\n"
3070   "       (declare (in) vec2 arg0))\n"
3071   "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
3072   "\n"
3073   "   (signature vec3\n"
3074   "     (parameters\n"
3075   "       (declare (in) vec3 arg0))\n"
3076   "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
3077   "\n"
3078   "   (signature vec4\n"
3079   "     (parameters\n"
3080   "       (declare (in) vec4 arg0))\n"
3081   "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
3082   "))\n"
3083   ""
3084;
3085static const char builtin_roundEven[] =
3086   "((function roundEven\n"
3087   "   (signature float\n"
3088   "     (parameters\n"
3089   "       (declare (in) float arg0))\n"
3090   "     ((return (expression float round_even (var_ref arg0)))))\n"
3091   "\n"
3092   "   (signature vec2\n"
3093   "     (parameters\n"
3094   "       (declare (in) vec2 arg0))\n"
3095   "     ((return (expression vec2 round_even (var_ref arg0)))))\n"
3096   "\n"
3097   "   (signature vec3\n"
3098   "     (parameters\n"
3099   "       (declare (in) vec3 arg0))\n"
3100   "     ((return (expression vec3 round_even (var_ref arg0)))))\n"
3101   "\n"
3102   "   (signature vec4\n"
3103   "     (parameters\n"
3104   "       (declare (in) vec4 arg0))\n"
3105   "     ((return (expression vec4 round_even (var_ref arg0)))))\n"
3106   "))\n"
3107   ""
3108;
3109static const char builtin_shadow1D[] =
3110   "((function shadow1D\n"
3111   "   (signature vec4\n"
3112   "     (parameters\n"
3113   "       (declare (in) sampler1DShadow sampler) \n"
3114   "       (declare (in) vec3 P) )\n"
3115   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
3116   "\n"
3117   "   (signature vec4\n"
3118   "     (parameters\n"
3119   "       (declare (in) sampler1DShadow sampler) \n"
3120   "       (declare (in) vec3 P) \n"
3121   "       (declare (in) float bias) )\n"
3122   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
3123   "\n"
3124   "))\n"
3125   ""
3126;
3127static const char builtin_shadow1DArray[] =
3128   "((function shadow1DArray\n"
3129   "   (signature vec4\n"
3130   "     (parameters\n"
3131   "       (declare (in) sampler1DArrayShadow sampler) \n"
3132   "       (declare (in) vec3 P) )\n"
3133   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
3134   "\n"
3135   "   (signature vec4\n"
3136   "     (parameters\n"
3137   "       (declare (in) sampler1DArrayShadow sampler) \n"
3138   "       (declare (in) vec3 P) \n"
3139   "       (declare (in) float bias) )\n"
3140   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
3141   "\n"
3142   "))\n"
3143   ""
3144;
3145static const char builtin_shadow1DArrayLod[] =
3146   "((function shadow1DArrayLod\n"
3147   "   (signature vec4\n"
3148   "     (parameters\n"
3149   "       (declare (in) sampler1DArrayShadow sampler) \n"
3150   "       (declare (in) vec3 P) \n"
3151   "       (declare (in) float lod) )\n"
3152   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
3153   "\n"
3154   "))\n"
3155   ""
3156;
3157static const char builtin_shadow1DGradARB[] =
3158   "((function shadow1DGradARB\n"
3159   "   (signature vec4\n"
3160   "     (parameters\n"
3161   "       (declare (in) sampler1DShadow sampler) \n"
3162   "       (declare (in) vec3 P) \n"
3163   "       (declare (in) float dPdx) \n"
3164   "       (declare (in) float dPdy) )\n"
3165   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3166   "\n"
3167   "))\n"
3168   ""
3169;
3170static const char builtin_shadow1DLod[] =
3171   "((function shadow1DLod\n"
3172   "   (signature vec4\n"
3173   "     (parameters\n"
3174   "       (declare (in) sampler1DShadow sampler) \n"
3175   "       (declare (in) vec3 P) \n"
3176   "       (declare (in) float lod) )\n"
3177   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
3178   "\n"
3179   "))\n"
3180   ""
3181;
3182static const char builtin_shadow1DProj[] =
3183   "((function shadow1DProj\n"
3184   "   (signature vec4\n"
3185   "     (parameters\n"
3186   "       (declare (in) sampler1DShadow sampler) \n"
3187   "       (declare (in) vec4 P) )\n"
3188   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
3189   "\n"
3190   "   (signature vec4\n"
3191   "     (parameters\n"
3192   "       (declare (in) sampler1DShadow sampler) \n"
3193   "       (declare (in) vec4 P) \n"
3194   "       (declare (in) float bias) )\n"
3195   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
3196   "\n"
3197   "))\n"
3198   ""
3199;
3200static const char builtin_shadow1DProjGradARB[] =
3201   "((function shadow1DProjGradARB\n"
3202   "   (signature vec4\n"
3203   "     (parameters\n"
3204   "       (declare (in) sampler1DShadow sampler) \n"
3205   "       (declare (in) vec4 P) \n"
3206   "       (declare (in) float dPdx) \n"
3207   "       (declare (in) float dPdy) )\n"
3208   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3209   "\n"
3210   "))\n"
3211   ""
3212;
3213static const char builtin_shadow1DProjLod[] =
3214   "((function shadow1DProjLod\n"
3215   "   (signature vec4\n"
3216   "     (parameters\n"
3217   "       (declare (in) sampler1DShadow sampler) \n"
3218   "       (declare (in) vec4 P) \n"
3219   "       (declare (in) float lod) )\n"
3220   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
3221   "\n"
3222   "))\n"
3223   ""
3224;
3225static const char builtin_shadow2D[] =
3226   "((function shadow2D\n"
3227   "   (signature vec4\n"
3228   "     (parameters\n"
3229   "       (declare (in) sampler2DShadow sampler) \n"
3230   "       (declare (in) vec3 P) )\n"
3231   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
3232   "\n"
3233   "   (signature vec4\n"
3234   "     (parameters\n"
3235   "       (declare (in) sampler2DShadow sampler) \n"
3236   "       (declare (in) vec3 P) \n"
3237   "       (declare (in) float bias) )\n"
3238   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
3239   "\n"
3240   "))\n"
3241   ""
3242;
3243static const char builtin_shadow2DArray[] =
3244   "((function shadow2DArray\n"
3245   "   (signature vec4\n"
3246   "     (parameters\n"
3247   "       (declare (in) sampler2DArrayShadow sampler) \n"
3248   "       (declare (in) vec4 P) )\n"
3249   "     ((return (tex vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) ))))\n"
3250   "\n"
3251   "))\n"
3252   ""
3253;
3254static const char builtin_shadow2DGradARB[] =
3255   "((function shadow2DGradARB\n"
3256   "   (signature vec4\n"
3257   "     (parameters\n"
3258   "       (declare (in) sampler2DShadow sampler) \n"
3259   "       (declare (in) vec3 P) \n"
3260   "       (declare (in) vec2 dPdx) \n"
3261   "       (declare (in) vec2 dPdy) )\n"
3262   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3263   "\n"
3264   "))\n"
3265   ""
3266;
3267static const char builtin_shadow2DLod[] =
3268   "((function shadow2DLod\n"
3269   "   (signature vec4\n"
3270   "     (parameters\n"
3271   "       (declare (in) sampler2DShadow sampler) \n"
3272   "       (declare (in) vec3 P) \n"
3273   "       (declare (in) float lod) )\n"
3274   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
3275   "\n"
3276   "))\n"
3277   ""
3278;
3279static const char builtin_shadow2DProj[] =
3280   "((function shadow2DProj\n"
3281   "   (signature vec4\n"
3282   "     (parameters\n"
3283   "       (declare (in) sampler2DShadow sampler) \n"
3284   "       (declare (in) vec4 P) )\n"
3285   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
3286   "\n"
3287   "   (signature vec4\n"
3288   "     (parameters\n"
3289   "       (declare (in) sampler2DShadow sampler) \n"
3290   "       (declare (in) vec4 P) \n"
3291   "       (declare (in) float bias) )\n"
3292   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
3293   "\n"
3294   "))\n"
3295   ""
3296;
3297static const char builtin_shadow2DProjGradARB[] =
3298   "((function shadow2DProjGradARB\n"
3299   "   (signature vec4\n"
3300   "     (parameters\n"
3301   "       (declare (in) sampler2DShadow sampler) \n"
3302   "       (declare (in) vec4 P) \n"
3303   "       (declare (in) vec2 dPdx) \n"
3304   "       (declare (in) vec2 dPdy) )\n"
3305   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3306   "\n"
3307   "))\n"
3308   ""
3309;
3310static const char builtin_shadow2DProjLod[] =
3311   "((function shadow2DProjLod\n"
3312   "   (signature vec4\n"
3313   "     (parameters\n"
3314   "       (declare (in) sampler2DShadow sampler) \n"
3315   "       (declare (in) vec4 P) \n"
3316   "       (declare (in) float lod) )\n"
3317   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
3318   "\n"
3319   "))\n"
3320   ""
3321;
3322static const char builtin_shadow2DRect[] =
3323   "((function shadow2DRect\n"
3324   "   (signature vec4\n"
3325   "     (parameters\n"
3326   "       (declare (in) sampler2DRectShadow sampler) \n"
3327   "       (declare (in) vec3 P) )\n"
3328   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
3329   "\n"
3330   "))\n"
3331   ""
3332;
3333static const char builtin_shadow2DRectGradARB[] =
3334   "((function shadow2DRectGradARB\n"
3335   "   (signature vec4\n"
3336   "     (parameters\n"
3337   "       (declare (in) sampler2DRectShadow sampler) \n"
3338   "       (declare (in) vec3 P) \n"
3339   "       (declare (in) vec2 dPdx) \n"
3340   "       (declare (in) vec2 dPdy) )\n"
3341   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3342   "\n"
3343   "))\n"
3344   ""
3345;
3346static const char builtin_shadow2DRectProj[] =
3347   "((function shadow2DRectProj\n"
3348   "   (signature vec4\n"
3349   "     (parameters\n"
3350   "       (declare (in) sampler2DRectShadow sampler) \n"
3351   "       (declare (in) vec4 P) )\n"
3352   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
3353   "\n"
3354   "))\n"
3355   ""
3356;
3357static const char builtin_shadow2DRectProjGradARB[] =
3358   "((function shadow2DRectProjGradARB\n"
3359   "   (signature vec4\n"
3360   "     (parameters\n"
3361   "       (declare (in) sampler2DRectShadow sampler) \n"
3362   "       (declare (in) vec4 P) \n"
3363   "       (declare (in) vec2 dPdx) \n"
3364   "       (declare (in) vec2 dPdy) )\n"
3365   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
3366   "\n"
3367   "))\n"
3368   ""
3369;
3370static const char builtin_sign[] =
3371   "((function sign\n"
3372   "   (signature float\n"
3373   "     (parameters\n"
3374   "       (declare (in) float x))\n"
3375   "     ((return (expression float sign (var_ref x)))))\n"
3376   "\n"
3377   "   (signature vec2\n"
3378   "     (parameters\n"
3379   "       (declare (in) vec2 x))\n"
3380   "     ((return (expression vec2 sign (var_ref x)))))\n"
3381   "\n"
3382   "   (signature vec3\n"
3383   "     (parameters\n"
3384   "       (declare (in) vec3 x))\n"
3385   "     ((return (expression vec3 sign (var_ref x)))))\n"
3386   "\n"
3387   "   (signature vec4\n"
3388   "     (parameters\n"
3389   "       (declare (in) vec4 x))\n"
3390   "     ((return (expression vec4 sign (var_ref x)))))\n"
3391   "\n"
3392   "   (signature int\n"
3393   "     (parameters\n"
3394   "       (declare (in) int x))\n"
3395   "     ((return (expression int sign (var_ref x)))))\n"
3396   "\n"
3397   "   (signature ivec2\n"
3398   "     (parameters\n"
3399   "       (declare (in) ivec2 x))\n"
3400   "     ((return (expression ivec2 sign (var_ref x)))))\n"
3401   "\n"
3402   "   (signature ivec3\n"
3403   "     (parameters\n"
3404   "       (declare (in) ivec3 x))\n"
3405   "     ((return (expression ivec3 sign (var_ref x)))))\n"
3406   "\n"
3407   "   (signature ivec4\n"
3408   "     (parameters\n"
3409   "       (declare (in) ivec4 x))\n"
3410   "     ((return (expression ivec4 sign (var_ref x)))))\n"
3411   "))\n"
3412   "\n"
3413   ""
3414;
3415static const char builtin_sin[] =
3416   "((function sin\n"
3417   "   (signature float\n"
3418   "     (parameters\n"
3419   "       (declare (in) float angle))\n"
3420   "     ((return (expression float sin (var_ref angle)))))\n"
3421   "\n"
3422   "   (signature vec2\n"
3423   "     (parameters\n"
3424   "       (declare (in) vec2 angle))\n"
3425   "     ((return (expression vec2 sin (var_ref angle)))))\n"
3426   "\n"
3427   "   (signature vec3\n"
3428   "     (parameters\n"
3429   "       (declare (in) vec3 angle))\n"
3430   "     ((return (expression vec3 sin (var_ref angle)))))\n"
3431   "\n"
3432   "   (signature vec4\n"
3433   "     (parameters\n"
3434   "       (declare (in) vec4 angle))\n"
3435   "     ((return (expression vec4 sin (var_ref angle)))))\n"
3436   "))\n"
3437   ""
3438;
3439static const char builtin_sinh[] =
3440   "((function sinh\n"
3441   "   (signature float\n"
3442   "     (parameters\n"
3443   "       (declare (in) float x))\n"
3444   "     ((return (expression float * (constant float (0.5))\n"
3445   "                (expression float -\n"
3446   "		  (expression float exp (var_ref x))\n"
3447   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
3448   "   (signature vec2\n"
3449   "     (parameters\n"
3450   "       (declare (in) vec2 x))\n"
3451   "     ((return (expression vec2 * (constant float (0.5))\n"
3452   "                (expression vec2 -\n"
3453   "		  (expression vec2 exp (var_ref x))\n"
3454   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3455   "   (signature vec3\n"
3456   "     (parameters\n"
3457   "       (declare (in) vec3 x))\n"
3458   "     ((return (expression vec3 * (constant float (0.5))\n"
3459   "                (expression vec3 -\n"
3460   "		  (expression vec3 exp (var_ref x))\n"
3461   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3462   "   (signature vec4\n"
3463   "     (parameters\n"
3464   "       (declare (in) vec4 x))\n"
3465   "     ((return (expression vec4 * (constant float (0.5))\n"
3466   "                (expression vec4 -\n"
3467   "		  (expression vec4 exp (var_ref x))\n"
3468   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3469   "))\n"
3470   ""
3471;
3472static const char builtin_smoothstep[] =
3473   "((function smoothstep\n"
3474   "   (signature float\n"
3475   "     (parameters\n"
3476   "       (declare (in) float edge0)\n"
3477   "       (declare (in) float edge1)\n"
3478   "       (declare (in) float x))\n"
3479   "     ((declare () float t)\n"
3480   "      (assign (x) (var_ref t)\n"
3481   "              (expression float max\n"
3482   "	                  (expression float min\n"
3483   "	                              (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3484   "	                              (constant float (1.0)))\n"
3485   "	                  (constant float (0.0))))\n"
3486   "      (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.0)) (expression float * (constant float (2.0)) (var_ref t))))))))\n"
3487   "   (signature vec2\n"
3488   "     (parameters\n"
3489   "       (declare (in) float edge0)\n"
3490   "       (declare (in) float edge1)\n"
3491   "       (declare (in) vec2 x))\n"
3492   "     ((declare () vec2 t)\n"
3493   "      (assign (xy) (var_ref t)\n"
3494   "              (expression vec2 max\n"
3495   "	                  (expression vec2 min\n"
3496   "	                              (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3497   "	                              (constant float (1.0)))\n"
3498   "	                  (constant float (0.0))))\n"
3499   "      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))\n"
3500   "\n"
3501   "   (signature vec3\n"
3502   "     (parameters\n"
3503   "       (declare (in) float edge0)\n"
3504   "       (declare (in) float edge1)\n"
3505   "       (declare (in) vec3 x))\n"
3506   "     ((declare () vec3 t)\n"
3507   "      (assign (xyz) (var_ref t)\n"
3508   "              (expression vec3 max\n"
3509   "	                  (expression vec3 min\n"
3510   "	                              (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3511   "	                              (constant float (1.0)))\n"
3512   "	                  (constant float (0.0))))\n"
3513   "      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))\n"
3514   "\n"
3515   "\n"
3516   "   (signature vec4\n"
3517   "     (parameters\n"
3518   "       (declare (in) float edge0)\n"
3519   "       (declare (in) float edge1)\n"
3520   "       (declare (in) vec4 x))\n"
3521   "     ((declare () vec4 t)\n"
3522   "      (assign (xyzw) (var_ref t)\n"
3523   "              (expression vec4 max\n"
3524   "	                  (expression vec4 min\n"
3525   "	                              (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))\n"
3526   "	                              (constant float (1.0)))\n"
3527   "	                  (constant float (0.0))))\n"
3528   "      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))\n"
3529   "\n"
3530   "   (signature vec2\n"
3531   "     (parameters\n"
3532   "       (declare (in) vec2 edge0)\n"
3533   "       (declare (in) vec2 edge1)\n"
3534   "       (declare (in) vec2 x))\n"
3535   "     ((declare () vec2 t)\n"
3536   "      (assign (xy) (var_ref t)\n"
3537   "              (expression vec2 max\n"
3538   "                          (expression vec2 min\n"
3539   "                                      (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))\n"
3540   "                                      (constant float (1.0)))\n"
3541   "                          (constant float (0.0))))\n"
3542   "      (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))\n"
3543   "\n"
3544   "   (signature vec3\n"
3545   "     (parameters\n"
3546   "       (declare (in) vec3 edge0)\n"
3547   "       (declare (in) vec3 edge1)\n"
3548   "       (declare (in) vec3 x))\n"
3549   "     ((declare () vec3 t)\n"
3550   "      (assign (xyz) (var_ref t)\n"
3551   "              (expression vec3 max\n"
3552   "                          (expression vec3 min\n"
3553   "                                      (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))\n"
3554   "                                      (constant float (1.0)))\n"
3555   "                          (constant float (0.0))))\n"
3556   "      (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))\n"
3557   "\n"
3558   "   (signature vec4\n"
3559   "     (parameters\n"
3560   "       (declare (in) vec4 edge0)\n"
3561   "       (declare (in) vec4 edge1)\n"
3562   "       (declare (in) vec4 x))\n"
3563   "     ((declare () vec4 t)\n"
3564   "      (assign (xyzw) (var_ref t)\n"
3565   "              (expression vec4 max\n"
3566   "                          (expression vec4 min\n"
3567   "                                      (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))\n"
3568   "                                      (constant float (1.0)))\n"
3569   "                          (constant float (0.0))))\n"
3570   "      (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))\n"
3571   "))\n"
3572   "\n"
3573   ""
3574;
3575static const char builtin_sqrt[] =
3576   "((function sqrt\n"
3577   "   (signature float\n"
3578   "     (parameters\n"
3579   "       (declare (in) float arg0))\n"
3580   "     ((return (expression float sqrt (var_ref arg0)))))\n"
3581   "\n"
3582   "   (signature vec2\n"
3583   "     (parameters\n"
3584   "       (declare (in) vec2 arg0))\n"
3585   "     ((return (expression vec2 sqrt (var_ref arg0)))))\n"
3586   "\n"
3587   "   (signature vec3\n"
3588   "     (parameters\n"
3589   "       (declare (in) vec3 arg0))\n"
3590   "     ((return (expression vec3 sqrt (var_ref arg0)))))\n"
3591   "\n"
3592   "   (signature vec4\n"
3593   "     (parameters\n"
3594   "       (declare (in) vec4 arg0))\n"
3595   "     ((return (expression vec4 sqrt (var_ref arg0)))))\n"
3596   "))\n"
3597   ""
3598;
3599static const char builtin_step[] =
3600   "((function step\n"
3601   "   (signature float\n"
3602   "     (parameters\n"
3603   "       (declare (in) float edge)\n"
3604   "       (declare (in) float x))\n"
3605   "     ((return (expression float b2f (expression bool >= (var_ref x) (var_ref edge))))))\n"
3606   "\n"
3607   "   (signature vec2\n"
3608   "     (parameters\n"
3609   "       (declare (in) float edge)\n"
3610   "       (declare (in) vec2 x))\n"
3611   "     ((declare () vec2 t)\n"
3612   "      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3613   "      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3614   "      (return (var_ref t))))\n"
3615   "\n"
3616   "   (signature vec3\n"
3617   "     (parameters\n"
3618   "       (declare (in) float edge)\n"
3619   "       (declare (in) vec3 x))\n"
3620   "     ((declare () vec3 t)\n"
3621   "      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3622   "      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3623   "      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3624   "      (return (var_ref t))))\n"
3625   "\n"
3626   "   (signature vec4\n"
3627   "     (parameters\n"
3628   "       (declare (in) float edge)\n"
3629   "       (declare (in) vec4 x))\n"
3630   "     ((declare () vec4 t)\n"
3631   "      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(var_ref edge))))\n"
3632   "      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(var_ref edge))))\n"
3633   "      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(var_ref edge))))\n"
3634   "      (assign (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(var_ref edge))))\n"
3635   "      (return (var_ref t))))\n"
3636   "\n"
3637   "   (signature vec2\n"
3638   "     (parameters\n"
3639   "       (declare (in) vec2 edge)\n"
3640   "       (declare (in) vec2 x))\n"
3641   "     ((declare () vec2 t)\n"
3642   "      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3643   "      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3644   "      (return (var_ref t))))\n"
3645   "\n"
3646   "   (signature vec3\n"
3647   "     (parameters\n"
3648   "       (declare (in) vec3 edge)\n"
3649   "       (declare (in) vec3 x))\n"
3650   "     ((declare () vec3 t)\n"
3651   "      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3652   "      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3653   "      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3654   "      (return (var_ref t))))\n"
3655   "\n"
3656   "   (signature vec4\n"
3657   "     (parameters\n"
3658   "       (declare (in) vec4 edge)\n"
3659   "       (declare (in) vec4 x))\n"
3660   "     ((declare () vec4 t)\n"
3661   "      (assign (x) (var_ref t) (expression float b2f (expression bool >= (swiz x (var_ref x))(swiz x (var_ref edge)))))\n"
3662   "      (assign (y) (var_ref t) (expression float b2f (expression bool >= (swiz y (var_ref x))(swiz y (var_ref edge)))))\n"
3663   "      (assign (z) (var_ref t) (expression float b2f (expression bool >= (swiz z (var_ref x))(swiz z (var_ref edge)))))\n"
3664   "      (assign (w) (var_ref t) (expression float b2f (expression bool >= (swiz w (var_ref x))(swiz w (var_ref edge)))))\n"
3665   "      (return (var_ref t))))\n"
3666   "))\n"
3667   "\n"
3668   ""
3669;
3670static const char builtin_tan[] =
3671   "((function tan\n"
3672   "   (signature float\n"
3673   "     (parameters\n"
3674   "       (declare (in) float angle))\n"
3675   "     ((return (expression float / (expression float sin (var_ref angle)) (expression float cos (var_ref angle))))))\n"
3676   "\n"
3677   "   (signature vec2\n"
3678   "     (parameters\n"
3679   "       (declare (in) vec2 angle))\n"
3680   "     ((return (expression vec2 / (expression vec2 sin (var_ref angle)) (expression vec2 cos (var_ref angle))))))\n"
3681   "\n"
3682   "   (signature vec3\n"
3683   "     (parameters\n"
3684   "       (declare (in) vec3 angle))\n"
3685   "     ((return (expression vec3 / (expression vec3 sin (var_ref angle)) (expression vec3 cos (var_ref angle))))))\n"
3686   "\n"
3687   "   (signature vec4\n"
3688   "     (parameters\n"
3689   "       (declare (in) vec4 angle))\n"
3690   "     ((return (expression vec4 / (expression vec4 sin (var_ref angle)) (expression vec4 cos (var_ref angle))))))\n"
3691   "))\n"
3692   ""
3693;
3694static const char builtin_tanh[] =
3695   "((function tanh\n"
3696   "   (signature float\n"
3697   "     (parameters\n"
3698   "       (declare (in) float x))\n"
3699   "     ((return (expression float /\n"
3700   "                (expression float -\n"
3701   "		  (expression float exp (var_ref x))\n"
3702   "		  (expression float exp (expression float neg (var_ref x))))\n"
3703   "                (expression float +\n"
3704   "		  (expression float exp (var_ref x))\n"
3705   "		  (expression float exp (expression float neg (var_ref x))))))))\n"
3706   "   (signature vec2\n"
3707   "     (parameters\n"
3708   "       (declare (in) vec2 x))\n"
3709   "     ((return (expression vec2 /\n"
3710   "                (expression vec2 -\n"
3711   "		  (expression vec2 exp (var_ref x))\n"
3712   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))\n"
3713   "                (expression vec2 +\n"
3714   "		  (expression vec2 exp (var_ref x))\n"
3715   "		  (expression vec2 exp (expression vec2 neg (var_ref x))))))))\n"
3716   "   (signature vec3\n"
3717   "     (parameters\n"
3718   "       (declare (in) vec3 x))\n"
3719   "     ((return (expression vec3 /\n"
3720   "                (expression vec3 -\n"
3721   "		  (expression vec3 exp (var_ref x))\n"
3722   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))\n"
3723   "                (expression vec3 +\n"
3724   "		  (expression vec3 exp (var_ref x))\n"
3725   "		  (expression vec3 exp (expression vec3 neg (var_ref x))))))))\n"
3726   "   (signature vec4\n"
3727   "     (parameters\n"
3728   "       (declare (in) vec4 x))\n"
3729   "     ((return (expression vec4 /\n"
3730   "                (expression vec4 -\n"
3731   "		  (expression vec4 exp (var_ref x))\n"
3732   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))\n"
3733   "                (expression vec4 +\n"
3734   "		  (expression vec4 exp (var_ref x))\n"
3735   "		  (expression vec4 exp (expression vec4 neg (var_ref x))))))))\n"
3736   "))\n"
3737   ""
3738;
3739static const char builtin_texelFetch[] =
3740   "((function texelFetch\n"
3741   "   (signature vec4\n"
3742   "     (parameters\n"
3743   "       (declare (in) sampler1D sampler) \n"
3744   "       (declare (in) int P) \n"
3745   "       (declare (in) int lod) )\n"
3746   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3747   "\n"
3748   "   (signature ivec4\n"
3749   "     (parameters\n"
3750   "       (declare (in) isampler1D sampler) \n"
3751   "       (declare (in) int P) \n"
3752   "       (declare (in) int lod) )\n"
3753   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3754   "\n"
3755   "   (signature uvec4\n"
3756   "     (parameters\n"
3757   "       (declare (in) usampler1D sampler) \n"
3758   "       (declare (in) int P) \n"
3759   "       (declare (in) int lod) )\n"
3760   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3761   "\n"
3762   "   (signature vec4\n"
3763   "     (parameters\n"
3764   "       (declare (in) sampler2D sampler) \n"
3765   "       (declare (in) ivec2 P) \n"
3766   "       (declare (in) int lod) )\n"
3767   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3768   "\n"
3769   "   (signature ivec4\n"
3770   "     (parameters\n"
3771   "       (declare (in) isampler2D sampler) \n"
3772   "       (declare (in) ivec2 P) \n"
3773   "       (declare (in) int lod) )\n"
3774   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3775   "\n"
3776   "   (signature uvec4\n"
3777   "     (parameters\n"
3778   "       (declare (in) usampler2D sampler) \n"
3779   "       (declare (in) ivec2 P) \n"
3780   "       (declare (in) int lod) )\n"
3781   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3782   "\n"
3783   "   (signature vec4\n"
3784   "     (parameters\n"
3785   "       (declare (in) sampler3D sampler) \n"
3786   "       (declare (in) ivec3 P) \n"
3787   "       (declare (in) int lod) )\n"
3788   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3789   "\n"
3790   "   (signature ivec4\n"
3791   "     (parameters\n"
3792   "       (declare (in) isampler3D sampler) \n"
3793   "       (declare (in) ivec3 P) \n"
3794   "       (declare (in) int lod) )\n"
3795   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3796   "\n"
3797   "   (signature uvec4\n"
3798   "     (parameters\n"
3799   "       (declare (in) usampler3D sampler) \n"
3800   "       (declare (in) ivec3 P) \n"
3801   "       (declare (in) int lod) )\n"
3802   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3803   "\n"
3804   "   (signature vec4\n"
3805   "     (parameters\n"
3806   "       (declare (in) sampler2DRect sampler) \n"
3807   "       (declare (in) ivec2 P) )\n"
3808   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (constant int (0))\n"
3809   "))))\n"
3810   "\n"
3811   "   (signature ivec4\n"
3812   "     (parameters\n"
3813   "       (declare (in) isampler2DRect sampler) \n"
3814   "       (declare (in) ivec2 P) )\n"
3815   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (constant int (0))\n"
3816   "))))\n"
3817   "\n"
3818   "   (signature uvec4\n"
3819   "     (parameters\n"
3820   "       (declare (in) usampler2DRect sampler) \n"
3821   "       (declare (in) ivec2 P) )\n"
3822   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (constant int (0))\n"
3823   "))))\n"
3824   "\n"
3825   "   (signature vec4\n"
3826   "     (parameters\n"
3827   "       (declare (in) sampler1DArray sampler) \n"
3828   "       (declare (in) ivec2 P) \n"
3829   "       (declare (in) int lod) )\n"
3830   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3831   "\n"
3832   "   (signature ivec4\n"
3833   "     (parameters\n"
3834   "       (declare (in) isampler1DArray sampler) \n"
3835   "       (declare (in) ivec2 P) \n"
3836   "       (declare (in) int lod) )\n"
3837   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3838   "\n"
3839   "   (signature uvec4\n"
3840   "     (parameters\n"
3841   "       (declare (in) usampler1DArray sampler) \n"
3842   "       (declare (in) ivec2 P) \n"
3843   "       (declare (in) int lod) )\n"
3844   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3845   "\n"
3846   "   (signature vec4\n"
3847   "     (parameters\n"
3848   "       (declare (in) sampler2DArray sampler) \n"
3849   "       (declare (in) ivec3 P) \n"
3850   "       (declare (in) int lod) )\n"
3851   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3852   "\n"
3853   "   (signature ivec4\n"
3854   "     (parameters\n"
3855   "       (declare (in) isampler2DArray sampler) \n"
3856   "       (declare (in) ivec3 P) \n"
3857   "       (declare (in) int lod) )\n"
3858   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3859   "\n"
3860   "   (signature uvec4\n"
3861   "     (parameters\n"
3862   "       (declare (in) usampler2DArray sampler) \n"
3863   "       (declare (in) ivec3 P) \n"
3864   "       (declare (in) int lod) )\n"
3865   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (var_ref lod) ))))\n"
3866   "\n"
3867   "   (signature vec4\n"
3868   "     (parameters\n"
3869   "       (declare (in) samplerBuffer sampler) \n"
3870   "       (declare (in) int P) )\n"
3871   "     ((return (txf vec4 (var_ref sampler) (var_ref P) 0 (constant int (0))\n"
3872   "))))\n"
3873   "\n"
3874   "   (signature ivec4\n"
3875   "     (parameters\n"
3876   "       (declare (in) isamplerBuffer sampler) \n"
3877   "       (declare (in) int P) )\n"
3878   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) 0 (constant int (0))\n"
3879   "))))\n"
3880   "\n"
3881   "   (signature uvec4\n"
3882   "     (parameters\n"
3883   "       (declare (in) usamplerBuffer sampler) \n"
3884   "       (declare (in) int P) )\n"
3885   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) 0 (constant int (0))\n"
3886   "))))\n"
3887   "\n"
3888   "))\n"
3889   ""
3890;
3891static const char builtin_texelFetchOffset[] =
3892   "((function texelFetchOffset\n"
3893   "   (signature vec4\n"
3894   "     (parameters\n"
3895   "       (declare (in) sampler1D sampler) \n"
3896   "       (declare (in) int P) \n"
3897   "       (declare (in) int lod) \n"
3898   "       (declare (const_in) int offset) )\n"
3899   "     ((return (txf vec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3900   "\n"
3901   "   (signature ivec4\n"
3902   "     (parameters\n"
3903   "       (declare (in) isampler1D sampler) \n"
3904   "       (declare (in) int P) \n"
3905   "       (declare (in) int lod) \n"
3906   "       (declare (const_in) int offset) )\n"
3907   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3908   "\n"
3909   "   (signature uvec4\n"
3910   "     (parameters\n"
3911   "       (declare (in) usampler1D sampler) \n"
3912   "       (declare (in) int P) \n"
3913   "       (declare (in) int lod) \n"
3914   "       (declare (const_in) int offset) )\n"
3915   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3916   "\n"
3917   "   (signature vec4\n"
3918   "     (parameters\n"
3919   "       (declare (in) sampler2D sampler) \n"
3920   "       (declare (in) ivec2 P) \n"
3921   "       (declare (in) int lod) \n"
3922   "       (declare (const_in) ivec2 offset) )\n"
3923   "     ((return (txf vec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3924   "\n"
3925   "   (signature ivec4\n"
3926   "     (parameters\n"
3927   "       (declare (in) isampler2D sampler) \n"
3928   "       (declare (in) ivec2 P) \n"
3929   "       (declare (in) int lod) \n"
3930   "       (declare (const_in) ivec2 offset) )\n"
3931   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3932   "\n"
3933   "   (signature uvec4\n"
3934   "     (parameters\n"
3935   "       (declare (in) usampler2D sampler) \n"
3936   "       (declare (in) ivec2 P) \n"
3937   "       (declare (in) int lod) \n"
3938   "       (declare (const_in) ivec2 offset) )\n"
3939   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3940   "\n"
3941   "   (signature vec4\n"
3942   "     (parameters\n"
3943   "       (declare (in) sampler3D sampler) \n"
3944   "       (declare (in) ivec3 P) \n"
3945   "       (declare (in) int lod) \n"
3946   "       (declare (const_in) ivec3 offset) )\n"
3947   "     ((return (txf vec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3948   "\n"
3949   "   (signature ivec4\n"
3950   "     (parameters\n"
3951   "       (declare (in) isampler3D sampler) \n"
3952   "       (declare (in) ivec3 P) \n"
3953   "       (declare (in) int lod) \n"
3954   "       (declare (const_in) ivec3 offset) )\n"
3955   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3956   "\n"
3957   "   (signature uvec4\n"
3958   "     (parameters\n"
3959   "       (declare (in) usampler3D sampler) \n"
3960   "       (declare (in) ivec3 P) \n"
3961   "       (declare (in) int lod) \n"
3962   "       (declare (const_in) ivec3 offset) )\n"
3963   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3964   "\n"
3965   "   (signature vec4\n"
3966   "     (parameters\n"
3967   "       (declare (in) sampler2DRect sampler) \n"
3968   "       (declare (in) ivec2 P) \n"
3969   "       (declare (const_in) ivec2 offset) )\n"
3970   "     ((return (txf vec4 (var_ref sampler) (var_ref P) (var_ref offset) (constant int (0))\n"
3971   "))))\n"
3972   "\n"
3973   "   (signature ivec4\n"
3974   "     (parameters\n"
3975   "       (declare (in) isampler2DRect sampler) \n"
3976   "       (declare (in) ivec2 P) \n"
3977   "       (declare (const_in) ivec2 offset) )\n"
3978   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) (var_ref offset) (constant int (0))\n"
3979   "))))\n"
3980   "\n"
3981   "   (signature uvec4\n"
3982   "     (parameters\n"
3983   "       (declare (in) usampler2DRect sampler) \n"
3984   "       (declare (in) ivec2 P) \n"
3985   "       (declare (const_in) ivec2 offset) )\n"
3986   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) (var_ref offset) (constant int (0))\n"
3987   "))))\n"
3988   "\n"
3989   "   (signature vec4\n"
3990   "     (parameters\n"
3991   "       (declare (in) sampler1DArray sampler) \n"
3992   "       (declare (in) ivec2 P) \n"
3993   "       (declare (in) int lod) \n"
3994   "       (declare (const_in) int offset) )\n"
3995   "     ((return (txf vec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
3996   "\n"
3997   "   (signature ivec4\n"
3998   "     (parameters\n"
3999   "       (declare (in) isampler1DArray sampler) \n"
4000   "       (declare (in) ivec2 P) \n"
4001   "       (declare (in) int lod) \n"
4002   "       (declare (const_in) int offset) )\n"
4003   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
4004   "\n"
4005   "   (signature uvec4\n"
4006   "     (parameters\n"
4007   "       (declare (in) usampler1DArray sampler) \n"
4008   "       (declare (in) ivec2 P) \n"
4009   "       (declare (in) int lod) \n"
4010   "       (declare (const_in) int offset) )\n"
4011   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
4012   "\n"
4013   "   (signature vec4\n"
4014   "     (parameters\n"
4015   "       (declare (in) sampler2DArray sampler) \n"
4016   "       (declare (in) ivec3 P) \n"
4017   "       (declare (in) int lod) \n"
4018   "       (declare (const_in) ivec2 offset) )\n"
4019   "     ((return (txf vec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
4020   "\n"
4021   "   (signature ivec4\n"
4022   "     (parameters\n"
4023   "       (declare (in) isampler2DArray sampler) \n"
4024   "       (declare (in) ivec3 P) \n"
4025   "       (declare (in) int lod) \n"
4026   "       (declare (const_in) ivec2 offset) )\n"
4027   "     ((return (txf ivec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
4028   "\n"
4029   "   (signature uvec4\n"
4030   "     (parameters\n"
4031   "       (declare (in) usampler2DArray sampler) \n"
4032   "       (declare (in) ivec3 P) \n"
4033   "       (declare (in) int lod) \n"
4034   "       (declare (const_in) ivec2 offset) )\n"
4035   "     ((return (txf uvec4 (var_ref sampler) (var_ref P) (var_ref offset) (var_ref lod) ))))\n"
4036   "\n"
4037   "))\n"
4038   ""
4039;
4040static const char builtin_texture[] =
4041   "((function texture\n"
4042   "   (signature vec4\n"
4043   "     (parameters\n"
4044   "       (declare (in) sampler1D sampler) \n"
4045   "       (declare (in) float P) )\n"
4046   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4047   "\n"
4048   "   (signature ivec4\n"
4049   "     (parameters\n"
4050   "       (declare (in) isampler1D sampler) \n"
4051   "       (declare (in) float P) )\n"
4052   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4053   "\n"
4054   "   (signature uvec4\n"
4055   "     (parameters\n"
4056   "       (declare (in) usampler1D sampler) \n"
4057   "       (declare (in) float P) )\n"
4058   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4059   "\n"
4060   "   (signature vec4\n"
4061   "     (parameters\n"
4062   "       (declare (in) sampler2D sampler) \n"
4063   "       (declare (in) vec2 P) )\n"
4064   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4065   "\n"
4066   "   (signature ivec4\n"
4067   "     (parameters\n"
4068   "       (declare (in) isampler2D sampler) \n"
4069   "       (declare (in) vec2 P) )\n"
4070   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4071   "\n"
4072   "   (signature uvec4\n"
4073   "     (parameters\n"
4074   "       (declare (in) usampler2D sampler) \n"
4075   "       (declare (in) vec2 P) )\n"
4076   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4077   "\n"
4078   "   (signature vec4\n"
4079   "     (parameters\n"
4080   "       (declare (in) sampler3D sampler) \n"
4081   "       (declare (in) vec3 P) )\n"
4082   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4083   "\n"
4084   "   (signature ivec4\n"
4085   "     (parameters\n"
4086   "       (declare (in) isampler3D sampler) \n"
4087   "       (declare (in) vec3 P) )\n"
4088   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4089   "\n"
4090   "   (signature uvec4\n"
4091   "     (parameters\n"
4092   "       (declare (in) usampler3D sampler) \n"
4093   "       (declare (in) vec3 P) )\n"
4094   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4095   "\n"
4096   "   (signature vec4\n"
4097   "     (parameters\n"
4098   "       (declare (in) samplerCube sampler) \n"
4099   "       (declare (in) vec3 P) )\n"
4100   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4101   "\n"
4102   "   (signature ivec4\n"
4103   "     (parameters\n"
4104   "       (declare (in) isamplerCube sampler) \n"
4105   "       (declare (in) vec3 P) )\n"
4106   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4107   "\n"
4108   "   (signature uvec4\n"
4109   "     (parameters\n"
4110   "       (declare (in) usamplerCube sampler) \n"
4111   "       (declare (in) vec3 P) )\n"
4112   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4113   "\n"
4114   "   (signature vec4\n"
4115   "     (parameters\n"
4116   "       (declare (in) sampler1DArray sampler) \n"
4117   "       (declare (in) vec2 P) )\n"
4118   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4119   "\n"
4120   "   (signature ivec4\n"
4121   "     (parameters\n"
4122   "       (declare (in) isampler1DArray sampler) \n"
4123   "       (declare (in) vec2 P) )\n"
4124   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4125   "\n"
4126   "   (signature uvec4\n"
4127   "     (parameters\n"
4128   "       (declare (in) usampler1DArray sampler) \n"
4129   "       (declare (in) vec2 P) )\n"
4130   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4131   "\n"
4132   "   (signature vec4\n"
4133   "     (parameters\n"
4134   "       (declare (in) sampler2DArray sampler) \n"
4135   "       (declare (in) vec3 P) )\n"
4136   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4137   "\n"
4138   "   (signature ivec4\n"
4139   "     (parameters\n"
4140   "       (declare (in) isampler2DArray sampler) \n"
4141   "       (declare (in) vec3 P) )\n"
4142   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4143   "\n"
4144   "   (signature uvec4\n"
4145   "     (parameters\n"
4146   "       (declare (in) usampler2DArray sampler) \n"
4147   "       (declare (in) vec3 P) )\n"
4148   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4149   "\n"
4150   "   (signature float\n"
4151   "     (parameters\n"
4152   "       (declare (in) sampler1DShadow sampler) \n"
4153   "       (declare (in) vec3 P) )\n"
4154   "     ((return (tex float (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
4155   "\n"
4156   "   (signature float\n"
4157   "     (parameters\n"
4158   "       (declare (in) sampler2DShadow sampler) \n"
4159   "       (declare (in) vec3 P) )\n"
4160   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
4161   "\n"
4162   "   (signature float\n"
4163   "     (parameters\n"
4164   "       (declare (in) samplerCubeShadow sampler) \n"
4165   "       (declare (in) vec4 P) )\n"
4166   "     ((return (tex float (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) ))))\n"
4167   "\n"
4168   "   (signature float\n"
4169   "     (parameters\n"
4170   "       (declare (in) sampler1DArrayShadow sampler) \n"
4171   "       (declare (in) vec3 P) )\n"
4172   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
4173   "\n"
4174   "   (signature float\n"
4175   "     (parameters\n"
4176   "       (declare (in) sampler2DArrayShadow sampler) \n"
4177   "       (declare (in) vec4 P) )\n"
4178   "     ((return (tex float (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) ))))\n"
4179   "\n"
4180   "   (signature vec4\n"
4181   "     (parameters\n"
4182   "       (declare (in) sampler2DRect sampler) \n"
4183   "       (declare (in) vec2 P) )\n"
4184   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4185   "\n"
4186   "   (signature ivec4\n"
4187   "     (parameters\n"
4188   "       (declare (in) isampler2DRect sampler) \n"
4189   "       (declare (in) vec2 P) )\n"
4190   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4191   "\n"
4192   "   (signature uvec4\n"
4193   "     (parameters\n"
4194   "       (declare (in) usampler2DRect sampler) \n"
4195   "       (declare (in) vec2 P) )\n"
4196   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4197   "\n"
4198   "   (signature float\n"
4199   "     (parameters\n"
4200   "       (declare (in) sampler2DRectShadow sampler) \n"
4201   "       (declare (in) vec3 P) )\n"
4202   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ))))\n"
4203   "\n"
4204   "   (signature vec4\n"
4205   "     (parameters\n"
4206   "       (declare (in) sampler1D sampler) \n"
4207   "       (declare (in) float P) \n"
4208   "       (declare (in) float bias) )\n"
4209   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4210   "\n"
4211   "   (signature ivec4\n"
4212   "     (parameters\n"
4213   "       (declare (in) isampler1D sampler) \n"
4214   "       (declare (in) float P) \n"
4215   "       (declare (in) float bias) )\n"
4216   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4217   "\n"
4218   "   (signature uvec4\n"
4219   "     (parameters\n"
4220   "       (declare (in) usampler1D sampler) \n"
4221   "       (declare (in) float P) \n"
4222   "       (declare (in) float bias) )\n"
4223   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4224   "\n"
4225   "   (signature vec4\n"
4226   "     (parameters\n"
4227   "       (declare (in) sampler2D sampler) \n"
4228   "       (declare (in) vec2 P) \n"
4229   "       (declare (in) float bias) )\n"
4230   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4231   "\n"
4232   "   (signature ivec4\n"
4233   "     (parameters\n"
4234   "       (declare (in) isampler2D sampler) \n"
4235   "       (declare (in) vec2 P) \n"
4236   "       (declare (in) float bias) )\n"
4237   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4238   "\n"
4239   "   (signature uvec4\n"
4240   "     (parameters\n"
4241   "       (declare (in) usampler2D sampler) \n"
4242   "       (declare (in) vec2 P) \n"
4243   "       (declare (in) float bias) )\n"
4244   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4245   "\n"
4246   "   (signature vec4\n"
4247   "     (parameters\n"
4248   "       (declare (in) sampler3D sampler) \n"
4249   "       (declare (in) vec3 P) \n"
4250   "       (declare (in) float bias) )\n"
4251   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4252   "\n"
4253   "   (signature ivec4\n"
4254   "     (parameters\n"
4255   "       (declare (in) isampler3D sampler) \n"
4256   "       (declare (in) vec3 P) \n"
4257   "       (declare (in) float bias) )\n"
4258   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4259   "\n"
4260   "   (signature uvec4\n"
4261   "     (parameters\n"
4262   "       (declare (in) usampler3D sampler) \n"
4263   "       (declare (in) vec3 P) \n"
4264   "       (declare (in) float bias) )\n"
4265   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4266   "\n"
4267   "   (signature vec4\n"
4268   "     (parameters\n"
4269   "       (declare (in) samplerCube sampler) \n"
4270   "       (declare (in) vec3 P) \n"
4271   "       (declare (in) float bias) )\n"
4272   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4273   "\n"
4274   "   (signature ivec4\n"
4275   "     (parameters\n"
4276   "       (declare (in) isamplerCube sampler) \n"
4277   "       (declare (in) vec3 P) \n"
4278   "       (declare (in) float bias) )\n"
4279   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4280   "\n"
4281   "   (signature uvec4\n"
4282   "     (parameters\n"
4283   "       (declare (in) usamplerCube sampler) \n"
4284   "       (declare (in) vec3 P) \n"
4285   "       (declare (in) float bias) )\n"
4286   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4287   "\n"
4288   "   (signature vec4\n"
4289   "     (parameters\n"
4290   "       (declare (in) sampler1DArray sampler) \n"
4291   "       (declare (in) vec2 P) \n"
4292   "       (declare (in) float bias) )\n"
4293   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4294   "\n"
4295   "   (signature ivec4\n"
4296   "     (parameters\n"
4297   "       (declare (in) isampler1DArray sampler) \n"
4298   "       (declare (in) vec2 P) \n"
4299   "       (declare (in) float bias) )\n"
4300   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4301   "\n"
4302   "   (signature uvec4\n"
4303   "     (parameters\n"
4304   "       (declare (in) usampler1DArray sampler) \n"
4305   "       (declare (in) vec2 P) \n"
4306   "       (declare (in) float bias) )\n"
4307   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4308   "\n"
4309   "   (signature vec4\n"
4310   "     (parameters\n"
4311   "       (declare (in) sampler2DArray sampler) \n"
4312   "       (declare (in) vec3 P) \n"
4313   "       (declare (in) float bias) )\n"
4314   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4315   "\n"
4316   "   (signature ivec4\n"
4317   "     (parameters\n"
4318   "       (declare (in) isampler2DArray sampler) \n"
4319   "       (declare (in) vec3 P) \n"
4320   "       (declare (in) float bias) )\n"
4321   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4322   "\n"
4323   "   (signature uvec4\n"
4324   "     (parameters\n"
4325   "       (declare (in) usampler2DArray sampler) \n"
4326   "       (declare (in) vec3 P) \n"
4327   "       (declare (in) float bias) )\n"
4328   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4329   "\n"
4330   "   (signature float\n"
4331   "     (parameters\n"
4332   "       (declare (in) sampler1DShadow sampler) \n"
4333   "       (declare (in) vec3 P) \n"
4334   "       (declare (in) float bias) )\n"
4335   "     ((return (txb float (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
4336   "\n"
4337   "   (signature float\n"
4338   "     (parameters\n"
4339   "       (declare (in) sampler2DShadow sampler) \n"
4340   "       (declare (in) vec3 P) \n"
4341   "       (declare (in) float bias) )\n"
4342   "     ((return (txb float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
4343   "\n"
4344   "   (signature float\n"
4345   "     (parameters\n"
4346   "       (declare (in) samplerCubeShadow sampler) \n"
4347   "       (declare (in) vec4 P) \n"
4348   "       (declare (in) float bias) )\n"
4349   "     ((return (txb float (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) (var_ref bias) ))))\n"
4350   "\n"
4351   "   (signature float\n"
4352   "     (parameters\n"
4353   "       (declare (in) sampler1DArrayShadow sampler) \n"
4354   "       (declare (in) vec3 P) \n"
4355   "       (declare (in) float bias) )\n"
4356   "     ((return (txb float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
4357   "\n"
4358   "   (signature float\n"
4359   "     (parameters\n"
4360   "       (declare (in) sampler2DArrayShadow sampler) \n"
4361   "       (declare (in) vec4 P) \n"
4362   "       (declare (in) float bias) )\n"
4363   "     ((return (txb float (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) (var_ref bias) ))))\n"
4364   "\n"
4365   "))\n"
4366   ""
4367;
4368static const char builtin_texture1D[] =
4369   "((function texture1D\n"
4370   "   (signature vec4\n"
4371   "     (parameters\n"
4372   "       (declare (in) sampler1D sampler) \n"
4373   "       (declare (in) float P) )\n"
4374   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4375   "\n"
4376   "   (signature vec4\n"
4377   "     (parameters\n"
4378   "       (declare (in) sampler1D sampler) \n"
4379   "       (declare (in) float P) \n"
4380   "       (declare (in) float bias) )\n"
4381   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4382   "\n"
4383   "))\n"
4384   ""
4385;
4386static const char builtin_texture1DArray[] =
4387   "((function texture1DArray\n"
4388   "   (signature vec4\n"
4389   "     (parameters\n"
4390   "       (declare (in) sampler1DArray sampler) \n"
4391   "       (declare (in) vec2 P) )\n"
4392   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4393   "\n"
4394   "   (signature vec4\n"
4395   "     (parameters\n"
4396   "       (declare (in) sampler1DArray sampler) \n"
4397   "       (declare (in) vec2 P) \n"
4398   "       (declare (in) float bias) )\n"
4399   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4400   "\n"
4401   "))\n"
4402   ""
4403;
4404static const char builtin_texture1DArrayLod[] =
4405   "((function texture1DArrayLod\n"
4406   "   (signature vec4\n"
4407   "     (parameters\n"
4408   "       (declare (in) sampler1DArray sampler) \n"
4409   "       (declare (in) vec2 P) \n"
4410   "       (declare (in) float lod) )\n"
4411   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
4412   "\n"
4413   "))\n"
4414   ""
4415;
4416static const char builtin_texture1DGradARB[] =
4417   "((function texture1DGradARB\n"
4418   "   (signature vec4\n"
4419   "     (parameters\n"
4420   "       (declare (in) sampler1D sampler) \n"
4421   "       (declare (in) float P) \n"
4422   "       (declare (in) float dPdx) \n"
4423   "       (declare (in) float dPdy) )\n"
4424   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4425   "\n"
4426   "   (signature ivec4\n"
4427   "     (parameters\n"
4428   "       (declare (in) isampler1D sampler) \n"
4429   "       (declare (in) float P) \n"
4430   "       (declare (in) float dPdx) \n"
4431   "       (declare (in) float dPdy) )\n"
4432   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4433   "\n"
4434   "   (signature uvec4\n"
4435   "     (parameters\n"
4436   "       (declare (in) usampler1D sampler) \n"
4437   "       (declare (in) float P) \n"
4438   "       (declare (in) float dPdx) \n"
4439   "       (declare (in) float dPdy) )\n"
4440   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4441   "\n"
4442   "))\n"
4443   ""
4444;
4445static const char builtin_texture1DLod[] =
4446   "((function texture1DLod\n"
4447   "   (signature vec4\n"
4448   "     (parameters\n"
4449   "       (declare (in) sampler1D sampler) \n"
4450   "       (declare (in) float P) \n"
4451   "       (declare (in) float lod) )\n"
4452   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
4453   "\n"
4454   "))\n"
4455   ""
4456;
4457static const char builtin_texture1DProj[] =
4458   "((function texture1DProj\n"
4459   "   (signature vec4\n"
4460   "     (parameters\n"
4461   "       (declare (in) sampler1D sampler) \n"
4462   "       (declare (in) vec2 P) )\n"
4463   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ))))\n"
4464   "\n"
4465   "   (signature vec4\n"
4466   "     (parameters\n"
4467   "       (declare (in) sampler1D sampler) \n"
4468   "       (declare (in) vec4 P) )\n"
4469   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
4470   "\n"
4471   "   (signature vec4\n"
4472   "     (parameters\n"
4473   "       (declare (in) sampler1D sampler) \n"
4474   "       (declare (in) vec2 P) \n"
4475   "       (declare (in) float bias) )\n"
4476   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref bias) ))))\n"
4477   "\n"
4478   "   (signature vec4\n"
4479   "     (parameters\n"
4480   "       (declare (in) sampler1D sampler) \n"
4481   "       (declare (in) vec4 P) \n"
4482   "       (declare (in) float bias) )\n"
4483   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4484   "\n"
4485   "))\n"
4486   ""
4487;
4488static const char builtin_texture1DProjGradARB[] =
4489   "((function texture1DProjGradARB\n"
4490   "   (signature vec4\n"
4491   "     (parameters\n"
4492   "       (declare (in) sampler1D sampler) \n"
4493   "       (declare (in) vec2 P) \n"
4494   "       (declare (in) float dPdx) \n"
4495   "       (declare (in) float dPdy) )\n"
4496   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4497   "\n"
4498   "   (signature ivec4\n"
4499   "     (parameters\n"
4500   "       (declare (in) isampler1D sampler) \n"
4501   "       (declare (in) vec2 P) \n"
4502   "       (declare (in) float dPdx) \n"
4503   "       (declare (in) float dPdy) )\n"
4504   "     ((return (txd ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4505   "\n"
4506   "   (signature uvec4\n"
4507   "     (parameters\n"
4508   "       (declare (in) usampler1D sampler) \n"
4509   "       (declare (in) vec2 P) \n"
4510   "       (declare (in) float dPdx) \n"
4511   "       (declare (in) float dPdy) )\n"
4512   "     ((return (txd uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4513   "\n"
4514   "   (signature vec4\n"
4515   "     (parameters\n"
4516   "       (declare (in) sampler1D sampler) \n"
4517   "       (declare (in) vec4 P) \n"
4518   "       (declare (in) float dPdx) \n"
4519   "       (declare (in) float dPdy) )\n"
4520   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4521   "\n"
4522   "   (signature ivec4\n"
4523   "     (parameters\n"
4524   "       (declare (in) isampler1D sampler) \n"
4525   "       (declare (in) vec4 P) \n"
4526   "       (declare (in) float dPdx) \n"
4527   "       (declare (in) float dPdy) )\n"
4528   "     ((return (txd ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4529   "\n"
4530   "   (signature uvec4\n"
4531   "     (parameters\n"
4532   "       (declare (in) usampler1D sampler) \n"
4533   "       (declare (in) vec4 P) \n"
4534   "       (declare (in) float dPdx) \n"
4535   "       (declare (in) float dPdy) )\n"
4536   "     ((return (txd uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4537   "\n"
4538   "))\n"
4539   ""
4540;
4541static const char builtin_texture1DProjLod[] =
4542   "((function texture1DProjLod\n"
4543   "   (signature vec4\n"
4544   "     (parameters\n"
4545   "       (declare (in) sampler1D sampler) \n"
4546   "       (declare (in) vec2 P) \n"
4547   "       (declare (in) float lod) )\n"
4548   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref lod) ))))\n"
4549   "\n"
4550   "   (signature vec4\n"
4551   "     (parameters\n"
4552   "       (declare (in) sampler1D sampler) \n"
4553   "       (declare (in) vec4 P) \n"
4554   "       (declare (in) float lod) )\n"
4555   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4556   "\n"
4557   "))\n"
4558   ""
4559;
4560static const char builtin_texture2D[] =
4561   "((function texture2D\n"
4562   "   (signature vec4\n"
4563   "     (parameters\n"
4564   "       (declare (in) sampler2D sampler) \n"
4565   "       (declare (in) vec2 P) )\n"
4566   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4567   "\n"
4568   "   (signature vec4\n"
4569   "     (parameters\n"
4570   "       (declare (in) sampler2D sampler) \n"
4571   "       (declare (in) vec2 P) \n"
4572   "       (declare (in) float bias) )\n"
4573   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4574   "\n"
4575   "   (signature vec4\n"
4576   "     (parameters\n"
4577   "       (declare (in) samplerExternalOES sampler) \n"
4578   "       (declare (in) vec2 P) )\n"
4579   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4580   "\n"
4581   "))\n"
4582   ""
4583;
4584static const char builtin_texture2DArray[] =
4585   "((function texture2DArray\n"
4586   "   (signature vec4\n"
4587   "     (parameters\n"
4588   "       (declare (in) sampler2DArray sampler) \n"
4589   "       (declare (in) vec3 P) )\n"
4590   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4591   "\n"
4592   "   (signature vec4\n"
4593   "     (parameters\n"
4594   "       (declare (in) sampler2DArray sampler) \n"
4595   "       (declare (in) vec3 P) \n"
4596   "       (declare (in) float bias) )\n"
4597   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4598   "\n"
4599   "))\n"
4600   ""
4601;
4602static const char builtin_texture2DArrayLod[] =
4603   "((function texture2DArrayLod\n"
4604   "   (signature vec4\n"
4605   "     (parameters\n"
4606   "       (declare (in) sampler2DArray sampler) \n"
4607   "       (declare (in) vec3 P) \n"
4608   "       (declare (in) float lod) )\n"
4609   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
4610   "\n"
4611   "))\n"
4612   ""
4613;
4614static const char builtin_texture2DGradARB[] =
4615   "((function texture2DGradARB\n"
4616   "   (signature vec4\n"
4617   "     (parameters\n"
4618   "       (declare (in) sampler2D sampler) \n"
4619   "       (declare (in) vec2 P) \n"
4620   "       (declare (in) vec2 dPdx) \n"
4621   "       (declare (in) vec2 dPdy) )\n"
4622   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4623   "\n"
4624   "   (signature ivec4\n"
4625   "     (parameters\n"
4626   "       (declare (in) isampler2D sampler) \n"
4627   "       (declare (in) vec2 P) \n"
4628   "       (declare (in) vec2 dPdx) \n"
4629   "       (declare (in) vec2 dPdy) )\n"
4630   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4631   "\n"
4632   "   (signature uvec4\n"
4633   "     (parameters\n"
4634   "       (declare (in) usampler2D sampler) \n"
4635   "       (declare (in) vec2 P) \n"
4636   "       (declare (in) vec2 dPdx) \n"
4637   "       (declare (in) vec2 dPdy) )\n"
4638   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4639   "\n"
4640   "))\n"
4641   ""
4642;
4643static const char builtin_texture2DLod[] =
4644   "((function texture2DLod\n"
4645   "   (signature vec4\n"
4646   "     (parameters\n"
4647   "       (declare (in) sampler2D sampler) \n"
4648   "       (declare (in) vec2 P) \n"
4649   "       (declare (in) float lod) )\n"
4650   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
4651   "\n"
4652   "))\n"
4653   ""
4654;
4655static const char builtin_texture2DProj[] =
4656   "((function texture2DProj\n"
4657   "   (signature vec4\n"
4658   "     (parameters\n"
4659   "       (declare (in) sampler2D sampler) \n"
4660   "       (declare (in) vec3 P) )\n"
4661   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
4662   "\n"
4663   "   (signature vec4\n"
4664   "     (parameters\n"
4665   "       (declare (in) sampler2D sampler) \n"
4666   "       (declare (in) vec4 P) )\n"
4667   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
4668   "\n"
4669   "   (signature vec4\n"
4670   "     (parameters\n"
4671   "       (declare (in) sampler2D sampler) \n"
4672   "       (declare (in) vec3 P) \n"
4673   "       (declare (in) float bias) )\n"
4674   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref bias) ))))\n"
4675   "\n"
4676   "   (signature vec4\n"
4677   "     (parameters\n"
4678   "       (declare (in) sampler2D sampler) \n"
4679   "       (declare (in) vec4 P) \n"
4680   "       (declare (in) float bias) )\n"
4681   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4682   "\n"
4683   "   (signature vec4\n"
4684   "     (parameters\n"
4685   "       (declare (in) samplerExternalOES sampler) \n"
4686   "       (declare (in) vec3 P) )\n"
4687   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
4688   "\n"
4689   "   (signature vec4\n"
4690   "     (parameters\n"
4691   "       (declare (in) samplerExternalOES sampler) \n"
4692   "       (declare (in) vec4 P) )\n"
4693   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
4694   "\n"
4695   "))\n"
4696   ""
4697;
4698static const char builtin_texture2DProjGradARB[] =
4699   "((function texture2DProjGradARB\n"
4700   "   (signature vec4\n"
4701   "     (parameters\n"
4702   "       (declare (in) sampler2D sampler) \n"
4703   "       (declare (in) vec3 P) \n"
4704   "       (declare (in) vec2 dPdx) \n"
4705   "       (declare (in) vec2 dPdy) )\n"
4706   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4707   "\n"
4708   "   (signature ivec4\n"
4709   "     (parameters\n"
4710   "       (declare (in) isampler2D sampler) \n"
4711   "       (declare (in) vec3 P) \n"
4712   "       (declare (in) vec2 dPdx) \n"
4713   "       (declare (in) vec2 dPdy) )\n"
4714   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4715   "\n"
4716   "   (signature uvec4\n"
4717   "     (parameters\n"
4718   "       (declare (in) usampler2D sampler) \n"
4719   "       (declare (in) vec3 P) \n"
4720   "       (declare (in) vec2 dPdx) \n"
4721   "       (declare (in) vec2 dPdy) )\n"
4722   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4723   "\n"
4724   "   (signature vec4\n"
4725   "     (parameters\n"
4726   "       (declare (in) sampler2D sampler) \n"
4727   "       (declare (in) vec4 P) \n"
4728   "       (declare (in) vec2 dPdx) \n"
4729   "       (declare (in) vec2 dPdy) )\n"
4730   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4731   "\n"
4732   "   (signature ivec4\n"
4733   "     (parameters\n"
4734   "       (declare (in) isampler2D sampler) \n"
4735   "       (declare (in) vec4 P) \n"
4736   "       (declare (in) vec2 dPdx) \n"
4737   "       (declare (in) vec2 dPdy) )\n"
4738   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4739   "\n"
4740   "   (signature uvec4\n"
4741   "     (parameters\n"
4742   "       (declare (in) usampler2D sampler) \n"
4743   "       (declare (in) vec4 P) \n"
4744   "       (declare (in) vec2 dPdx) \n"
4745   "       (declare (in) vec2 dPdy) )\n"
4746   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4747   "\n"
4748   "))\n"
4749   ""
4750;
4751static const char builtin_texture2DProjLod[] =
4752   "((function texture2DProjLod\n"
4753   "   (signature vec4\n"
4754   "     (parameters\n"
4755   "       (declare (in) sampler2D sampler) \n"
4756   "       (declare (in) vec3 P) \n"
4757   "       (declare (in) float lod) )\n"
4758   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref lod) ))))\n"
4759   "\n"
4760   "   (signature vec4\n"
4761   "     (parameters\n"
4762   "       (declare (in) sampler2D sampler) \n"
4763   "       (declare (in) vec4 P) \n"
4764   "       (declare (in) float lod) )\n"
4765   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4766   "\n"
4767   "))\n"
4768   ""
4769;
4770static const char builtin_texture2DRect[] =
4771   "((function texture2DRect\n"
4772   "   (signature vec4\n"
4773   "     (parameters\n"
4774   "       (declare (in) sampler2DRect sampler) \n"
4775   "       (declare (in) vec2 P) )\n"
4776   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4777   "\n"
4778   "))\n"
4779   ""
4780;
4781static const char builtin_texture2DRectGradARB[] =
4782   "((function texture2DRectGradARB\n"
4783   "   (signature vec4\n"
4784   "     (parameters\n"
4785   "       (declare (in) sampler2DRect sampler) \n"
4786   "       (declare (in) vec2 P) \n"
4787   "       (declare (in) vec2 dPdx) \n"
4788   "       (declare (in) vec2 dPdy) )\n"
4789   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4790   "\n"
4791   "))\n"
4792   ""
4793;
4794static const char builtin_texture2DRectProj[] =
4795   "((function texture2DRectProj\n"
4796   "   (signature vec4\n"
4797   "     (parameters\n"
4798   "       (declare (in) sampler2DRect sampler) \n"
4799   "       (declare (in) vec3 P) )\n"
4800   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
4801   "\n"
4802   "   (signature vec4\n"
4803   "     (parameters\n"
4804   "       (declare (in) sampler2DRect sampler) \n"
4805   "       (declare (in) vec4 P) )\n"
4806   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
4807   "\n"
4808   "))\n"
4809   ""
4810;
4811static const char builtin_texture2DRectProjGradARB[] =
4812   "((function texture2DRectProjGradARB\n"
4813   "   (signature vec4\n"
4814   "     (parameters\n"
4815   "       (declare (in) sampler2DRect sampler) \n"
4816   "       (declare (in) vec3 P) \n"
4817   "       (declare (in) vec2 dPdx) \n"
4818   "       (declare (in) vec2 dPdy) )\n"
4819   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4820   "\n"
4821   "   (signature vec4\n"
4822   "     (parameters\n"
4823   "       (declare (in) sampler2DRect sampler) \n"
4824   "       (declare (in) vec4 P) \n"
4825   "       (declare (in) vec2 dPdx) \n"
4826   "       (declare (in) vec2 dPdy) )\n"
4827   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4828   "\n"
4829   "))\n"
4830   ""
4831;
4832static const char builtin_texture3D[] =
4833   "((function texture3D\n"
4834   "   (signature vec4\n"
4835   "     (parameters\n"
4836   "       (declare (in) sampler3D sampler) \n"
4837   "       (declare (in) vec3 P) )\n"
4838   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4839   "\n"
4840   "   (signature vec4\n"
4841   "     (parameters\n"
4842   "       (declare (in) sampler3D sampler) \n"
4843   "       (declare (in) vec3 P) \n"
4844   "       (declare (in) float bias) )\n"
4845   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4846   "\n"
4847   "))\n"
4848   ""
4849;
4850static const char builtin_texture3DGradARB[] =
4851   "((function texture3DGradARB\n"
4852   "   (signature vec4\n"
4853   "     (parameters\n"
4854   "       (declare (in) sampler3D sampler) \n"
4855   "       (declare (in) vec3 P) \n"
4856   "       (declare (in) vec3 dPdx) \n"
4857   "       (declare (in) vec3 dPdy) )\n"
4858   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4859   "\n"
4860   "   (signature ivec4\n"
4861   "     (parameters\n"
4862   "       (declare (in) isampler3D sampler) \n"
4863   "       (declare (in) vec3 P) \n"
4864   "       (declare (in) vec3 dPdx) \n"
4865   "       (declare (in) vec3 dPdy) )\n"
4866   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4867   "\n"
4868   "   (signature uvec4\n"
4869   "     (parameters\n"
4870   "       (declare (in) usampler3D sampler) \n"
4871   "       (declare (in) vec3 P) \n"
4872   "       (declare (in) vec3 dPdx) \n"
4873   "       (declare (in) vec3 dPdy) )\n"
4874   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4875   "\n"
4876   "))\n"
4877   ""
4878;
4879static const char builtin_texture3DLod[] =
4880   "((function texture3DLod\n"
4881   "   (signature vec4\n"
4882   "     (parameters\n"
4883   "       (declare (in) sampler3D sampler) \n"
4884   "       (declare (in) vec3 P) \n"
4885   "       (declare (in) float lod) )\n"
4886   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
4887   "\n"
4888   "))\n"
4889   ""
4890;
4891static const char builtin_texture3DProj[] =
4892   "((function texture3DProj\n"
4893   "   (signature vec4\n"
4894   "     (parameters\n"
4895   "       (declare (in) sampler3D sampler) \n"
4896   "       (declare (in) vec4 P) )\n"
4897   "     ((return (tex vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
4898   "\n"
4899   "   (signature vec4\n"
4900   "     (parameters\n"
4901   "       (declare (in) sampler3D sampler) \n"
4902   "       (declare (in) vec4 P) \n"
4903   "       (declare (in) float bias) )\n"
4904   "     ((return (txb vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
4905   "\n"
4906   "))\n"
4907   ""
4908;
4909static const char builtin_texture3DProjGradARB[] =
4910   "((function texture3DProjGradARB\n"
4911   "   (signature vec4\n"
4912   "     (parameters\n"
4913   "       (declare (in) sampler3D sampler) \n"
4914   "       (declare (in) vec4 P) \n"
4915   "       (declare (in) vec3 dPdx) \n"
4916   "       (declare (in) vec3 dPdy) )\n"
4917   "     ((return (txd vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4918   "\n"
4919   "   (signature ivec4\n"
4920   "     (parameters\n"
4921   "       (declare (in) isampler3D sampler) \n"
4922   "       (declare (in) vec4 P) \n"
4923   "       (declare (in) vec3 dPdx) \n"
4924   "       (declare (in) vec3 dPdy) )\n"
4925   "     ((return (txd ivec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4926   "\n"
4927   "   (signature uvec4\n"
4928   "     (parameters\n"
4929   "       (declare (in) usampler3D sampler) \n"
4930   "       (declare (in) vec4 P) \n"
4931   "       (declare (in) vec3 dPdx) \n"
4932   "       (declare (in) vec3 dPdy) )\n"
4933   "     ((return (txd uvec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4934   "\n"
4935   "))\n"
4936   ""
4937;
4938static const char builtin_texture3DProjLod[] =
4939   "((function texture3DProjLod\n"
4940   "   (signature vec4\n"
4941   "     (parameters\n"
4942   "       (declare (in) sampler3D sampler) \n"
4943   "       (declare (in) vec4 P) \n"
4944   "       (declare (in) float lod) )\n"
4945   "     ((return (txl vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
4946   "\n"
4947   "))\n"
4948   ""
4949;
4950static const char builtin_textureCube[] =
4951   "((function textureCube\n"
4952   "   (signature vec4\n"
4953   "     (parameters\n"
4954   "       (declare (in) samplerCube sampler) \n"
4955   "       (declare (in) vec3 P) )\n"
4956   "     ((return (tex vec4 (var_ref sampler) (var_ref P) 0 1 () ))))\n"
4957   "\n"
4958   "   (signature vec4\n"
4959   "     (parameters\n"
4960   "       (declare (in) samplerCube sampler) \n"
4961   "       (declare (in) vec3 P) \n"
4962   "       (declare (in) float bias) )\n"
4963   "     ((return (txb vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref bias) ))))\n"
4964   "\n"
4965   "))\n"
4966   ""
4967;
4968static const char builtin_textureCubeGradARB[] =
4969   "((function textureCubeGradARB\n"
4970   "   (signature vec4\n"
4971   "     (parameters\n"
4972   "       (declare (in) samplerCube sampler) \n"
4973   "       (declare (in) vec3 P) \n"
4974   "       (declare (in) vec3 dPdx) \n"
4975   "       (declare (in) vec3 dPdy) )\n"
4976   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4977   "\n"
4978   "   (signature ivec4\n"
4979   "     (parameters\n"
4980   "       (declare (in) isamplerCube sampler) \n"
4981   "       (declare (in) vec3 P) \n"
4982   "       (declare (in) vec3 dPdx) \n"
4983   "       (declare (in) vec3 dPdy) )\n"
4984   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4985   "\n"
4986   "   (signature uvec4\n"
4987   "     (parameters\n"
4988   "       (declare (in) usamplerCube sampler) \n"
4989   "       (declare (in) vec3 P) \n"
4990   "       (declare (in) vec3 dPdx) \n"
4991   "       (declare (in) vec3 dPdy) )\n"
4992   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
4993   "\n"
4994   "))\n"
4995   ""
4996;
4997static const char builtin_textureCubeLod[] =
4998   "((function textureCubeLod\n"
4999   "   (signature vec4\n"
5000   "     (parameters\n"
5001   "       (declare (in) samplerCube sampler) \n"
5002   "       (declare (in) vec3 P) \n"
5003   "       (declare (in) float lod) )\n"
5004   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5005   "\n"
5006   "))\n"
5007   ""
5008;
5009static const char builtin_textureGrad[] =
5010   "((function textureGrad\n"
5011   "   (signature vec4\n"
5012   "     (parameters\n"
5013   "       (declare (in) sampler1D sampler) \n"
5014   "       (declare (in) float P) \n"
5015   "       (declare (in) float dPdx) \n"
5016   "       (declare (in) float dPdy) )\n"
5017   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5018   "\n"
5019   "   (signature ivec4\n"
5020   "     (parameters\n"
5021   "       (declare (in) isampler1D sampler) \n"
5022   "       (declare (in) float P) \n"
5023   "       (declare (in) float dPdx) \n"
5024   "       (declare (in) float dPdy) )\n"
5025   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5026   "\n"
5027   "   (signature uvec4\n"
5028   "     (parameters\n"
5029   "       (declare (in) usampler1D sampler) \n"
5030   "       (declare (in) float P) \n"
5031   "       (declare (in) float dPdx) \n"
5032   "       (declare (in) float dPdy) )\n"
5033   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5034   "\n"
5035   "   (signature vec4\n"
5036   "     (parameters\n"
5037   "       (declare (in) sampler2D sampler) \n"
5038   "       (declare (in) vec2 P) \n"
5039   "       (declare (in) vec2 dPdx) \n"
5040   "       (declare (in) vec2 dPdy) )\n"
5041   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5042   "\n"
5043   "   (signature ivec4\n"
5044   "     (parameters\n"
5045   "       (declare (in) isampler2D sampler) \n"
5046   "       (declare (in) vec2 P) \n"
5047   "       (declare (in) vec2 dPdx) \n"
5048   "       (declare (in) vec2 dPdy) )\n"
5049   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5050   "\n"
5051   "   (signature uvec4\n"
5052   "     (parameters\n"
5053   "       (declare (in) usampler2D sampler) \n"
5054   "       (declare (in) vec2 P) \n"
5055   "       (declare (in) vec2 dPdx) \n"
5056   "       (declare (in) vec2 dPdy) )\n"
5057   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5058   "\n"
5059   "   (signature vec4\n"
5060   "     (parameters\n"
5061   "       (declare (in) sampler3D sampler) \n"
5062   "       (declare (in) vec3 P) \n"
5063   "       (declare (in) vec3 dPdx) \n"
5064   "       (declare (in) vec3 dPdy) )\n"
5065   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5066   "\n"
5067   "   (signature ivec4\n"
5068   "     (parameters\n"
5069   "       (declare (in) isampler3D sampler) \n"
5070   "       (declare (in) vec3 P) \n"
5071   "       (declare (in) vec3 dPdx) \n"
5072   "       (declare (in) vec3 dPdy) )\n"
5073   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5074   "\n"
5075   "   (signature uvec4\n"
5076   "     (parameters\n"
5077   "       (declare (in) usampler3D sampler) \n"
5078   "       (declare (in) vec3 P) \n"
5079   "       (declare (in) vec3 dPdx) \n"
5080   "       (declare (in) vec3 dPdy) )\n"
5081   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5082   "\n"
5083   "   (signature vec4\n"
5084   "     (parameters\n"
5085   "       (declare (in) samplerCube sampler) \n"
5086   "       (declare (in) vec3 P) \n"
5087   "       (declare (in) vec3 dPdx) \n"
5088   "       (declare (in) vec3 dPdy) )\n"
5089   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5090   "\n"
5091   "   (signature ivec4\n"
5092   "     (parameters\n"
5093   "       (declare (in) isamplerCube sampler) \n"
5094   "       (declare (in) vec3 P) \n"
5095   "       (declare (in) vec3 dPdx) \n"
5096   "       (declare (in) vec3 dPdy) )\n"
5097   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5098   "\n"
5099   "   (signature uvec4\n"
5100   "     (parameters\n"
5101   "       (declare (in) usamplerCube sampler) \n"
5102   "       (declare (in) vec3 P) \n"
5103   "       (declare (in) vec3 dPdx) \n"
5104   "       (declare (in) vec3 dPdy) )\n"
5105   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5106   "\n"
5107   "   (signature vec4\n"
5108   "     (parameters\n"
5109   "       (declare (in) sampler1DArray sampler) \n"
5110   "       (declare (in) vec2 P) \n"
5111   "       (declare (in) float dPdx) \n"
5112   "       (declare (in) float dPdy) )\n"
5113   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5114   "\n"
5115   "   (signature ivec4\n"
5116   "     (parameters\n"
5117   "       (declare (in) isampler1DArray sampler) \n"
5118   "       (declare (in) vec2 P) \n"
5119   "       (declare (in) float dPdx) \n"
5120   "       (declare (in) float dPdy) )\n"
5121   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5122   "\n"
5123   "   (signature uvec4\n"
5124   "     (parameters\n"
5125   "       (declare (in) usampler1DArray sampler) \n"
5126   "       (declare (in) vec2 P) \n"
5127   "       (declare (in) float dPdx) \n"
5128   "       (declare (in) float dPdy) )\n"
5129   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5130   "\n"
5131   "   (signature vec4\n"
5132   "     (parameters\n"
5133   "       (declare (in) sampler2DArray sampler) \n"
5134   "       (declare (in) vec3 P) \n"
5135   "       (declare (in) vec2 dPdx) \n"
5136   "       (declare (in) vec2 dPdy) )\n"
5137   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5138   "\n"
5139   "   (signature ivec4\n"
5140   "     (parameters\n"
5141   "       (declare (in) isampler2DArray sampler) \n"
5142   "       (declare (in) vec3 P) \n"
5143   "       (declare (in) vec2 dPdx) \n"
5144   "       (declare (in) vec2 dPdy) )\n"
5145   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5146   "\n"
5147   "   (signature uvec4\n"
5148   "     (parameters\n"
5149   "       (declare (in) usampler2DArray sampler) \n"
5150   "       (declare (in) vec3 P) \n"
5151   "       (declare (in) vec2 dPdx) \n"
5152   "       (declare (in) vec2 dPdy) )\n"
5153   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5154   "\n"
5155   "   (signature vec4\n"
5156   "     (parameters\n"
5157   "       (declare (in) sampler2DRect sampler) \n"
5158   "       (declare (in) vec2 P) \n"
5159   "       (declare (in) vec2 dPdx) \n"
5160   "       (declare (in) vec2 dPdy) )\n"
5161   "     ((return (txd vec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5162   "\n"
5163   "   (signature ivec4\n"
5164   "     (parameters\n"
5165   "       (declare (in) isampler2DRect sampler) \n"
5166   "       (declare (in) vec2 P) \n"
5167   "       (declare (in) vec2 dPdx) \n"
5168   "       (declare (in) vec2 dPdy) )\n"
5169   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5170   "\n"
5171   "   (signature uvec4\n"
5172   "     (parameters\n"
5173   "       (declare (in) usampler2DRect sampler) \n"
5174   "       (declare (in) vec2 P) \n"
5175   "       (declare (in) vec2 dPdx) \n"
5176   "       (declare (in) vec2 dPdy) )\n"
5177   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) 0 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5178   "\n"
5179   "   (signature float\n"
5180   "     (parameters\n"
5181   "       (declare (in) sampler2DRectShadow sampler) \n"
5182   "       (declare (in) vec3 P) \n"
5183   "       (declare (in) vec2 dPdx) \n"
5184   "       (declare (in) vec2 dPdy) )\n"
5185   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5186   "\n"
5187   "   (signature float\n"
5188   "     (parameters\n"
5189   "       (declare (in) sampler1DShadow sampler) \n"
5190   "       (declare (in) vec3 P) \n"
5191   "       (declare (in) float dPdx) \n"
5192   "       (declare (in) float dPdy) )\n"
5193   "     ((return (txd float (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5194   "\n"
5195   "   (signature float\n"
5196   "     (parameters\n"
5197   "       (declare (in) sampler2DShadow sampler) \n"
5198   "       (declare (in) vec3 P) \n"
5199   "       (declare (in) vec2 dPdx) \n"
5200   "       (declare (in) vec2 dPdy) )\n"
5201   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5202   "\n"
5203   "   (signature float\n"
5204   "     (parameters\n"
5205   "       (declare (in) samplerCubeShadow sampler) \n"
5206   "       (declare (in) vec4 P) \n"
5207   "       (declare (in) vec3 dPdx) \n"
5208   "       (declare (in) vec3 dPdy) )\n"
5209   "     ((return (txd float (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5210   "\n"
5211   "   (signature float\n"
5212   "     (parameters\n"
5213   "       (declare (in) sampler1DArrayShadow sampler) \n"
5214   "       (declare (in) vec3 P) \n"
5215   "       (declare (in) float dPdx) \n"
5216   "       (declare (in) float dPdy) )\n"
5217   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5218   "\n"
5219   "   (signature float\n"
5220   "     (parameters\n"
5221   "       (declare (in) sampler2DArrayShadow sampler) \n"
5222   "       (declare (in) vec4 P) \n"
5223   "       (declare (in) vec2 dPdx) \n"
5224   "       (declare (in) vec2 dPdy) )\n"
5225   "     ((return (txd float (var_ref sampler) (swiz xyz (var_ref P)) 0 1 (swiz w (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5226   "\n"
5227   "))\n"
5228   ""
5229;
5230static const char builtin_textureGradOffset[] =
5231   "((function textureGradOffset\n"
5232   "   (signature vec4\n"
5233   "     (parameters\n"
5234   "       (declare (in) sampler1D sampler) \n"
5235   "       (declare (in) float P) \n"
5236   "       (declare (in) float dPdx) \n"
5237   "       (declare (in) float dPdy) \n"
5238   "       (declare (const_in) int offset) )\n"
5239   "     ((return (txd vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5240   "\n"
5241   "   (signature ivec4\n"
5242   "     (parameters\n"
5243   "       (declare (in) isampler1D sampler) \n"
5244   "       (declare (in) float P) \n"
5245   "       (declare (in) float dPdx) \n"
5246   "       (declare (in) float dPdy) \n"
5247   "       (declare (const_in) int offset) )\n"
5248   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5249   "\n"
5250   "   (signature uvec4\n"
5251   "     (parameters\n"
5252   "       (declare (in) usampler1D sampler) \n"
5253   "       (declare (in) float P) \n"
5254   "       (declare (in) float dPdx) \n"
5255   "       (declare (in) float dPdy) \n"
5256   "       (declare (const_in) int offset) )\n"
5257   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5258   "\n"
5259   "   (signature vec4\n"
5260   "     (parameters\n"
5261   "       (declare (in) sampler2D sampler) \n"
5262   "       (declare (in) vec2 P) \n"
5263   "       (declare (in) vec2 dPdx) \n"
5264   "       (declare (in) vec2 dPdy) \n"
5265   "       (declare (const_in) ivec2 offset) )\n"
5266   "     ((return (txd vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5267   "\n"
5268   "   (signature ivec4\n"
5269   "     (parameters\n"
5270   "       (declare (in) isampler2D sampler) \n"
5271   "       (declare (in) vec2 P) \n"
5272   "       (declare (in) vec2 dPdx) \n"
5273   "       (declare (in) vec2 dPdy) \n"
5274   "       (declare (const_in) ivec2 offset) )\n"
5275   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5276   "\n"
5277   "   (signature uvec4\n"
5278   "     (parameters\n"
5279   "       (declare (in) usampler2D sampler) \n"
5280   "       (declare (in) vec2 P) \n"
5281   "       (declare (in) vec2 dPdx) \n"
5282   "       (declare (in) vec2 dPdy) \n"
5283   "       (declare (const_in) ivec2 offset) )\n"
5284   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5285   "\n"
5286   "   (signature vec4\n"
5287   "     (parameters\n"
5288   "       (declare (in) sampler3D sampler) \n"
5289   "       (declare (in) vec3 P) \n"
5290   "       (declare (in) vec3 dPdx) \n"
5291   "       (declare (in) vec3 dPdy) \n"
5292   "       (declare (const_in) ivec3 offset) )\n"
5293   "     ((return (txd vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5294   "\n"
5295   "   (signature ivec4\n"
5296   "     (parameters\n"
5297   "       (declare (in) isampler3D sampler) \n"
5298   "       (declare (in) vec3 P) \n"
5299   "       (declare (in) vec3 dPdx) \n"
5300   "       (declare (in) vec3 dPdy) \n"
5301   "       (declare (const_in) ivec3 offset) )\n"
5302   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5303   "\n"
5304   "   (signature uvec4\n"
5305   "     (parameters\n"
5306   "       (declare (in) usampler3D sampler) \n"
5307   "       (declare (in) vec3 P) \n"
5308   "       (declare (in) vec3 dPdx) \n"
5309   "       (declare (in) vec3 dPdy) \n"
5310   "       (declare (const_in) ivec3 offset) )\n"
5311   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5312   "\n"
5313   "   (signature vec4\n"
5314   "     (parameters\n"
5315   "       (declare (in) sampler2DRect sampler) \n"
5316   "       (declare (in) vec2 P) \n"
5317   "       (declare (in) vec2 dPdx) \n"
5318   "       (declare (in) vec2 dPdy) \n"
5319   "       (declare (const_in) ivec2 offset) )\n"
5320   "     ((return (txd vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5321   "\n"
5322   "   (signature ivec4\n"
5323   "     (parameters\n"
5324   "       (declare (in) isampler2DRect sampler) \n"
5325   "       (declare (in) vec2 P) \n"
5326   "       (declare (in) vec2 dPdx) \n"
5327   "       (declare (in) vec2 dPdy) \n"
5328   "       (declare (const_in) ivec2 offset) )\n"
5329   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5330   "\n"
5331   "   (signature uvec4\n"
5332   "     (parameters\n"
5333   "       (declare (in) usampler2DRect sampler) \n"
5334   "       (declare (in) vec2 P) \n"
5335   "       (declare (in) vec2 dPdx) \n"
5336   "       (declare (in) vec2 dPdy) \n"
5337   "       (declare (const_in) ivec2 offset) )\n"
5338   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5339   "\n"
5340   "   (signature float\n"
5341   "     (parameters\n"
5342   "       (declare (in) sampler2DRectShadow sampler) \n"
5343   "       (declare (in) vec3 P) \n"
5344   "       (declare (in) vec2 dPdx) \n"
5345   "       (declare (in) vec2 dPdy) \n"
5346   "       (declare (const_in) ivec2 offset) )\n"
5347   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5348   "\n"
5349   "   (signature vec4\n"
5350   "     (parameters\n"
5351   "       (declare (in) sampler1DArray sampler) \n"
5352   "       (declare (in) vec2 P) \n"
5353   "       (declare (in) float dPdx) \n"
5354   "       (declare (in) float dPdy) \n"
5355   "       (declare (const_in) int offset) )\n"
5356   "     ((return (txd vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5357   "\n"
5358   "   (signature ivec4\n"
5359   "     (parameters\n"
5360   "       (declare (in) isampler1DArray sampler) \n"
5361   "       (declare (in) vec2 P) \n"
5362   "       (declare (in) float dPdx) \n"
5363   "       (declare (in) float dPdy) \n"
5364   "       (declare (const_in) int offset) )\n"
5365   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5366   "\n"
5367   "   (signature uvec4\n"
5368   "     (parameters\n"
5369   "       (declare (in) usampler1DArray sampler) \n"
5370   "       (declare (in) vec2 P) \n"
5371   "       (declare (in) float dPdx) \n"
5372   "       (declare (in) float dPdy) \n"
5373   "       (declare (const_in) int offset) )\n"
5374   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5375   "\n"
5376   "   (signature vec4\n"
5377   "     (parameters\n"
5378   "       (declare (in) sampler2DArray sampler) \n"
5379   "       (declare (in) vec3 P) \n"
5380   "       (declare (in) vec2 dPdx) \n"
5381   "       (declare (in) vec2 dPdy) \n"
5382   "       (declare (const_in) ivec2 offset) )\n"
5383   "     ((return (txd vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5384   "\n"
5385   "   (signature ivec4\n"
5386   "     (parameters\n"
5387   "       (declare (in) isampler2DArray sampler) \n"
5388   "       (declare (in) vec3 P) \n"
5389   "       (declare (in) vec2 dPdx) \n"
5390   "       (declare (in) vec2 dPdy) \n"
5391   "       (declare (const_in) ivec2 offset) )\n"
5392   "     ((return (txd ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5393   "\n"
5394   "   (signature uvec4\n"
5395   "     (parameters\n"
5396   "       (declare (in) usampler2DArray sampler) \n"
5397   "       (declare (in) vec3 P) \n"
5398   "       (declare (in) vec2 dPdx) \n"
5399   "       (declare (in) vec2 dPdy) \n"
5400   "       (declare (const_in) ivec2 offset) )\n"
5401   "     ((return (txd uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5402   "\n"
5403   "   (signature float\n"
5404   "     (parameters\n"
5405   "       (declare (in) sampler1DShadow sampler) \n"
5406   "       (declare (in) vec3 P) \n"
5407   "       (declare (in) float dPdx) \n"
5408   "       (declare (in) float dPdy) \n"
5409   "       (declare (const_in) int offset) )\n"
5410   "     ((return (txd float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5411   "\n"
5412   "   (signature float\n"
5413   "     (parameters\n"
5414   "       (declare (in) sampler2DShadow sampler) \n"
5415   "       (declare (in) vec3 P) \n"
5416   "       (declare (in) vec2 dPdx) \n"
5417   "       (declare (in) vec2 dPdy) \n"
5418   "       (declare (const_in) ivec2 offset) )\n"
5419   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5420   "\n"
5421   "   (signature float\n"
5422   "     (parameters\n"
5423   "       (declare (in) sampler1DArrayShadow sampler) \n"
5424   "       (declare (in) vec3 P) \n"
5425   "       (declare (in) float dPdx) \n"
5426   "       (declare (in) float dPdy) \n"
5427   "       (declare (const_in) int offset) )\n"
5428   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5429   "\n"
5430   "   (signature float\n"
5431   "     (parameters\n"
5432   "       (declare (in) sampler2DArrayShadow sampler) \n"
5433   "       (declare (in) vec4 P) \n"
5434   "       (declare (in) vec2 dPdx) \n"
5435   "       (declare (in) vec2 dPdy) \n"
5436   "       (declare (const_in) ivec2 offset) )\n"
5437   "     ((return (txd float (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) 1 (swiz w (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
5438   "\n"
5439   "))\n"
5440   ""
5441;
5442static const char builtin_textureLod[] =
5443   "((function textureLod\n"
5444   "   (signature vec4\n"
5445   "     (parameters\n"
5446   "       (declare (in) sampler1D sampler) \n"
5447   "       (declare (in) float P) \n"
5448   "       (declare (in) float lod) )\n"
5449   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5450   "\n"
5451   "   (signature ivec4\n"
5452   "     (parameters\n"
5453   "       (declare (in) isampler1D sampler) \n"
5454   "       (declare (in) float P) \n"
5455   "       (declare (in) float lod) )\n"
5456   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5457   "\n"
5458   "   (signature uvec4\n"
5459   "     (parameters\n"
5460   "       (declare (in) usampler1D sampler) \n"
5461   "       (declare (in) float P) \n"
5462   "       (declare (in) float lod) )\n"
5463   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5464   "\n"
5465   "   (signature vec4\n"
5466   "     (parameters\n"
5467   "       (declare (in) sampler2D sampler) \n"
5468   "       (declare (in) vec2 P) \n"
5469   "       (declare (in) float lod) )\n"
5470   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5471   "\n"
5472   "   (signature ivec4\n"
5473   "     (parameters\n"
5474   "       (declare (in) isampler2D sampler) \n"
5475   "       (declare (in) vec2 P) \n"
5476   "       (declare (in) float lod) )\n"
5477   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5478   "\n"
5479   "   (signature uvec4\n"
5480   "     (parameters\n"
5481   "       (declare (in) usampler2D sampler) \n"
5482   "       (declare (in) vec2 P) \n"
5483   "       (declare (in) float lod) )\n"
5484   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5485   "\n"
5486   "   (signature vec4\n"
5487   "     (parameters\n"
5488   "       (declare (in) sampler3D sampler) \n"
5489   "       (declare (in) vec3 P) \n"
5490   "       (declare (in) float lod) )\n"
5491   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5492   "\n"
5493   "   (signature ivec4\n"
5494   "     (parameters\n"
5495   "       (declare (in) isampler3D sampler) \n"
5496   "       (declare (in) vec3 P) \n"
5497   "       (declare (in) float lod) )\n"
5498   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5499   "\n"
5500   "   (signature uvec4\n"
5501   "     (parameters\n"
5502   "       (declare (in) usampler3D sampler) \n"
5503   "       (declare (in) vec3 P) \n"
5504   "       (declare (in) float lod) )\n"
5505   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5506   "\n"
5507   "   (signature vec4\n"
5508   "     (parameters\n"
5509   "       (declare (in) samplerCube sampler) \n"
5510   "       (declare (in) vec3 P) \n"
5511   "       (declare (in) float lod) )\n"
5512   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5513   "\n"
5514   "   (signature ivec4\n"
5515   "     (parameters\n"
5516   "       (declare (in) isamplerCube sampler) \n"
5517   "       (declare (in) vec3 P) \n"
5518   "       (declare (in) float lod) )\n"
5519   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5520   "\n"
5521   "   (signature uvec4\n"
5522   "     (parameters\n"
5523   "       (declare (in) usamplerCube sampler) \n"
5524   "       (declare (in) vec3 P) \n"
5525   "       (declare (in) float lod) )\n"
5526   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5527   "\n"
5528   "   (signature vec4\n"
5529   "     (parameters\n"
5530   "       (declare (in) sampler1DArray sampler) \n"
5531   "       (declare (in) vec2 P) \n"
5532   "       (declare (in) float lod) )\n"
5533   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5534   "\n"
5535   "   (signature ivec4\n"
5536   "     (parameters\n"
5537   "       (declare (in) isampler1DArray sampler) \n"
5538   "       (declare (in) vec2 P) \n"
5539   "       (declare (in) float lod) )\n"
5540   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5541   "\n"
5542   "   (signature uvec4\n"
5543   "     (parameters\n"
5544   "       (declare (in) usampler1DArray sampler) \n"
5545   "       (declare (in) vec2 P) \n"
5546   "       (declare (in) float lod) )\n"
5547   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5548   "\n"
5549   "   (signature vec4\n"
5550   "     (parameters\n"
5551   "       (declare (in) sampler2DArray sampler) \n"
5552   "       (declare (in) vec3 P) \n"
5553   "       (declare (in) float lod) )\n"
5554   "     ((return (txl vec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5555   "\n"
5556   "   (signature ivec4\n"
5557   "     (parameters\n"
5558   "       (declare (in) isampler2DArray sampler) \n"
5559   "       (declare (in) vec3 P) \n"
5560   "       (declare (in) float lod) )\n"
5561   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5562   "\n"
5563   "   (signature uvec4\n"
5564   "     (parameters\n"
5565   "       (declare (in) usampler2DArray sampler) \n"
5566   "       (declare (in) vec3 P) \n"
5567   "       (declare (in) float lod) )\n"
5568   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) 0 1 () (var_ref lod) ))))\n"
5569   "\n"
5570   "   (signature float\n"
5571   "     (parameters\n"
5572   "       (declare (in) sampler1DShadow sampler) \n"
5573   "       (declare (in) vec3 P) \n"
5574   "       (declare (in) float lod) )\n"
5575   "     ((return (txl float (var_ref sampler) (swiz x (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
5576   "\n"
5577   "   (signature float\n"
5578   "     (parameters\n"
5579   "       (declare (in) sampler2DShadow sampler) \n"
5580   "       (declare (in) vec3 P) \n"
5581   "       (declare (in) float lod) )\n"
5582   "     ((return (txl float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
5583   "\n"
5584   "   (signature float\n"
5585   "     (parameters\n"
5586   "       (declare (in) sampler1DArrayShadow sampler) \n"
5587   "       (declare (in) vec3 P) \n"
5588   "       (declare (in) float lod) )\n"
5589   "     ((return (txl float (var_ref sampler) (swiz xy (var_ref P)) 0 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
5590   "\n"
5591   "))\n"
5592   ""
5593;
5594static const char builtin_textureLodOffset[] =
5595   "((function textureLodOffset\n"
5596   "   (signature vec4\n"
5597   "     (parameters\n"
5598   "       (declare (in) sampler1D sampler) \n"
5599   "       (declare (in) float P) \n"
5600   "       (declare (in) float lod) \n"
5601   "       (declare (const_in) int offset) )\n"
5602   "     ((return (txl vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5603   "\n"
5604   "   (signature ivec4\n"
5605   "     (parameters\n"
5606   "       (declare (in) isampler1D sampler) \n"
5607   "       (declare (in) float P) \n"
5608   "       (declare (in) float lod) \n"
5609   "       (declare (const_in) int offset) )\n"
5610   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5611   "\n"
5612   "   (signature uvec4\n"
5613   "     (parameters\n"
5614   "       (declare (in) usampler1D sampler) \n"
5615   "       (declare (in) float P) \n"
5616   "       (declare (in) float lod) \n"
5617   "       (declare (const_in) int offset) )\n"
5618   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5619   "\n"
5620   "   (signature vec4\n"
5621   "     (parameters\n"
5622   "       (declare (in) sampler2D sampler) \n"
5623   "       (declare (in) vec2 P) \n"
5624   "       (declare (in) float lod) \n"
5625   "       (declare (const_in) ivec2 offset) )\n"
5626   "     ((return (txl vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5627   "\n"
5628   "   (signature ivec4\n"
5629   "     (parameters\n"
5630   "       (declare (in) isampler2D sampler) \n"
5631   "       (declare (in) vec2 P) \n"
5632   "       (declare (in) float lod) \n"
5633   "       (declare (const_in) ivec2 offset) )\n"
5634   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5635   "\n"
5636   "   (signature uvec4\n"
5637   "     (parameters\n"
5638   "       (declare (in) usampler2D sampler) \n"
5639   "       (declare (in) vec2 P) \n"
5640   "       (declare (in) float lod) \n"
5641   "       (declare (const_in) ivec2 offset) )\n"
5642   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5643   "\n"
5644   "   (signature vec4\n"
5645   "     (parameters\n"
5646   "       (declare (in) sampler3D sampler) \n"
5647   "       (declare (in) vec3 P) \n"
5648   "       (declare (in) float lod) \n"
5649   "       (declare (const_in) ivec3 offset) )\n"
5650   "     ((return (txl vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5651   "\n"
5652   "   (signature ivec4\n"
5653   "     (parameters\n"
5654   "       (declare (in) isampler3D sampler) \n"
5655   "       (declare (in) vec3 P) \n"
5656   "       (declare (in) float lod) \n"
5657   "       (declare (const_in) ivec3 offset) )\n"
5658   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5659   "\n"
5660   "   (signature uvec4\n"
5661   "     (parameters\n"
5662   "       (declare (in) usampler3D sampler) \n"
5663   "       (declare (in) vec3 P) \n"
5664   "       (declare (in) float lod) \n"
5665   "       (declare (const_in) ivec3 offset) )\n"
5666   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5667   "\n"
5668   "   (signature vec4\n"
5669   "     (parameters\n"
5670   "       (declare (in) sampler1DArray sampler) \n"
5671   "       (declare (in) vec2 P) \n"
5672   "       (declare (in) float lod) \n"
5673   "       (declare (const_in) int offset) )\n"
5674   "     ((return (txl vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5675   "\n"
5676   "   (signature ivec4\n"
5677   "     (parameters\n"
5678   "       (declare (in) isampler1DArray sampler) \n"
5679   "       (declare (in) vec2 P) \n"
5680   "       (declare (in) float lod) \n"
5681   "       (declare (const_in) int offset) )\n"
5682   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5683   "\n"
5684   "   (signature uvec4\n"
5685   "     (parameters\n"
5686   "       (declare (in) usampler1DArray sampler) \n"
5687   "       (declare (in) vec2 P) \n"
5688   "       (declare (in) float lod) \n"
5689   "       (declare (const_in) int offset) )\n"
5690   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5691   "\n"
5692   "   (signature vec4\n"
5693   "     (parameters\n"
5694   "       (declare (in) sampler2DArray sampler) \n"
5695   "       (declare (in) vec3 P) \n"
5696   "       (declare (in) float lod) \n"
5697   "       (declare (const_in) ivec2 offset) )\n"
5698   "     ((return (txl vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5699   "\n"
5700   "   (signature ivec4\n"
5701   "     (parameters\n"
5702   "       (declare (in) isampler2DArray sampler) \n"
5703   "       (declare (in) vec3 P) \n"
5704   "       (declare (in) float lod) \n"
5705   "       (declare (const_in) ivec2 offset) )\n"
5706   "     ((return (txl ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5707   "\n"
5708   "   (signature uvec4\n"
5709   "     (parameters\n"
5710   "       (declare (in) usampler2DArray sampler) \n"
5711   "       (declare (in) vec3 P) \n"
5712   "       (declare (in) float lod) \n"
5713   "       (declare (const_in) ivec2 offset) )\n"
5714   "     ((return (txl uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref lod) ))))\n"
5715   "\n"
5716   "   (signature float\n"
5717   "     (parameters\n"
5718   "       (declare (in) sampler1DShadow sampler) \n"
5719   "       (declare (in) vec3 P) \n"
5720   "       (declare (in) float lod) \n"
5721   "       (declare (const_in) int offset) )\n"
5722   "     ((return (txl float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
5723   "\n"
5724   "   (signature float\n"
5725   "     (parameters\n"
5726   "       (declare (in) sampler2DShadow sampler) \n"
5727   "       (declare (in) vec3 P) \n"
5728   "       (declare (in) float lod) \n"
5729   "       (declare (const_in) ivec2 offset) )\n"
5730   "     ((return (txl float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
5731   "\n"
5732   "   (signature float\n"
5733   "     (parameters\n"
5734   "       (declare (in) sampler1DArrayShadow sampler) \n"
5735   "       (declare (in) vec3 P) \n"
5736   "       (declare (in) float lod) \n"
5737   "       (declare (const_in) int offset) )\n"
5738   "     ((return (txl float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) (var_ref lod) ))))\n"
5739   "\n"
5740   "))\n"
5741   ""
5742;
5743static const char builtin_textureOffset[] =
5744   "((function textureOffset\n"
5745   "   (signature vec4\n"
5746   "     (parameters\n"
5747   "       (declare (in) sampler1D sampler) \n"
5748   "       (declare (in) float P) \n"
5749   "       (declare (const_in) int offset) )\n"
5750   "     ((return (tex vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5751   "\n"
5752   "   (signature ivec4\n"
5753   "     (parameters\n"
5754   "       (declare (in) isampler1D sampler) \n"
5755   "       (declare (in) float P) \n"
5756   "       (declare (const_in) int offset) )\n"
5757   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5758   "\n"
5759   "   (signature uvec4\n"
5760   "     (parameters\n"
5761   "       (declare (in) usampler1D sampler) \n"
5762   "       (declare (in) float P) \n"
5763   "       (declare (const_in) int offset) )\n"
5764   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5765   "\n"
5766   "   (signature vec4\n"
5767   "     (parameters\n"
5768   "       (declare (in) sampler2D sampler) \n"
5769   "       (declare (in) vec2 P) \n"
5770   "       (declare (const_in) ivec2 offset) )\n"
5771   "     ((return (tex vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5772   "\n"
5773   "   (signature ivec4\n"
5774   "     (parameters\n"
5775   "       (declare (in) isampler2D sampler) \n"
5776   "       (declare (in) vec2 P) \n"
5777   "       (declare (const_in) ivec2 offset) )\n"
5778   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5779   "\n"
5780   "   (signature uvec4\n"
5781   "     (parameters\n"
5782   "       (declare (in) usampler2D sampler) \n"
5783   "       (declare (in) vec2 P) \n"
5784   "       (declare (const_in) ivec2 offset) )\n"
5785   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5786   "\n"
5787   "   (signature vec4\n"
5788   "     (parameters\n"
5789   "       (declare (in) sampler3D sampler) \n"
5790   "       (declare (in) vec3 P) \n"
5791   "       (declare (const_in) ivec3 offset) )\n"
5792   "     ((return (tex vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5793   "\n"
5794   "   (signature ivec4\n"
5795   "     (parameters\n"
5796   "       (declare (in) isampler3D sampler) \n"
5797   "       (declare (in) vec3 P) \n"
5798   "       (declare (const_in) ivec3 offset) )\n"
5799   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5800   "\n"
5801   "   (signature uvec4\n"
5802   "     (parameters\n"
5803   "       (declare (in) usampler3D sampler) \n"
5804   "       (declare (in) vec3 P) \n"
5805   "       (declare (const_in) ivec3 offset) )\n"
5806   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5807   "\n"
5808   "   (signature vec4\n"
5809   "     (parameters\n"
5810   "       (declare (in) sampler2DRect sampler) \n"
5811   "       (declare (in) vec2 P) \n"
5812   "       (declare (const_in) ivec2 offset) )\n"
5813   "     ((return (tex vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5814   "\n"
5815   "   (signature ivec4\n"
5816   "     (parameters\n"
5817   "       (declare (in) isampler2DRect sampler) \n"
5818   "       (declare (in) vec2 P) \n"
5819   "       (declare (const_in) ivec2 offset) )\n"
5820   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5821   "\n"
5822   "   (signature uvec4\n"
5823   "     (parameters\n"
5824   "       (declare (in) usampler2DRect sampler) \n"
5825   "       (declare (in) vec2 P) \n"
5826   "       (declare (const_in) ivec2 offset) )\n"
5827   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5828   "\n"
5829   "   (signature float\n"
5830   "     (parameters\n"
5831   "       (declare (in) sampler2DRectShadow sampler) \n"
5832   "       (declare (in) vec3 P) \n"
5833   "       (declare (const_in) ivec2 offset) )\n"
5834   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ))))\n"
5835   "\n"
5836   "   (signature vec4\n"
5837   "     (parameters\n"
5838   "       (declare (in) sampler1DArray sampler) \n"
5839   "       (declare (in) vec2 P) \n"
5840   "       (declare (const_in) int offset) )\n"
5841   "     ((return (tex vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5842   "\n"
5843   "   (signature ivec4\n"
5844   "     (parameters\n"
5845   "       (declare (in) isampler1DArray sampler) \n"
5846   "       (declare (in) vec2 P) \n"
5847   "       (declare (const_in) int offset) )\n"
5848   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5849   "\n"
5850   "   (signature uvec4\n"
5851   "     (parameters\n"
5852   "       (declare (in) usampler1DArray sampler) \n"
5853   "       (declare (in) vec2 P) \n"
5854   "       (declare (const_in) int offset) )\n"
5855   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5856   "\n"
5857   "   (signature vec4\n"
5858   "     (parameters\n"
5859   "       (declare (in) sampler2DArray sampler) \n"
5860   "       (declare (in) vec3 P) \n"
5861   "       (declare (const_in) ivec2 offset) )\n"
5862   "     ((return (tex vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5863   "\n"
5864   "   (signature ivec4\n"
5865   "     (parameters\n"
5866   "       (declare (in) isampler2DArray sampler) \n"
5867   "       (declare (in) vec3 P) \n"
5868   "       (declare (const_in) ivec2 offset) )\n"
5869   "     ((return (tex ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5870   "\n"
5871   "   (signature uvec4\n"
5872   "     (parameters\n"
5873   "       (declare (in) usampler2DArray sampler) \n"
5874   "       (declare (in) vec3 P) \n"
5875   "       (declare (const_in) ivec2 offset) )\n"
5876   "     ((return (tex uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () ))))\n"
5877   "\n"
5878   "   (signature float\n"
5879   "     (parameters\n"
5880   "       (declare (in) sampler1DShadow sampler) \n"
5881   "       (declare (in) vec3 P) \n"
5882   "       (declare (const_in) int offset) )\n"
5883   "     ((return (tex float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ))))\n"
5884   "\n"
5885   "   (signature float\n"
5886   "     (parameters\n"
5887   "       (declare (in) sampler2DShadow sampler) \n"
5888   "       (declare (in) vec3 P) \n"
5889   "       (declare (const_in) ivec2 offset) )\n"
5890   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ))))\n"
5891   "\n"
5892   "   (signature float\n"
5893   "     (parameters\n"
5894   "       (declare (in) sampler1DArrayShadow sampler) \n"
5895   "       (declare (in) vec3 P) \n"
5896   "       (declare (const_in) int offset) )\n"
5897   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) ))))\n"
5898   "\n"
5899   "   (signature vec4\n"
5900   "     (parameters\n"
5901   "       (declare (in) sampler1D sampler) \n"
5902   "       (declare (in) float P) \n"
5903   "       (declare (const_in) int offset) \n"
5904   "       (declare (in) float bias) )\n"
5905   "     ((return (txb vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5906   "\n"
5907   "   (signature ivec4\n"
5908   "     (parameters\n"
5909   "       (declare (in) isampler1D sampler) \n"
5910   "       (declare (in) float P) \n"
5911   "       (declare (const_in) int offset) \n"
5912   "       (declare (in) float bias) )\n"
5913   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5914   "\n"
5915   "   (signature uvec4\n"
5916   "     (parameters\n"
5917   "       (declare (in) usampler1D sampler) \n"
5918   "       (declare (in) float P) \n"
5919   "       (declare (const_in) int offset) \n"
5920   "       (declare (in) float bias) )\n"
5921   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5922   "\n"
5923   "   (signature vec4\n"
5924   "     (parameters\n"
5925   "       (declare (in) sampler2D sampler) \n"
5926   "       (declare (in) vec2 P) \n"
5927   "       (declare (const_in) ivec2 offset) \n"
5928   "       (declare (in) float bias) )\n"
5929   "     ((return (txb vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5930   "\n"
5931   "   (signature ivec4\n"
5932   "     (parameters\n"
5933   "       (declare (in) isampler2D sampler) \n"
5934   "       (declare (in) vec2 P) \n"
5935   "       (declare (const_in) ivec2 offset) \n"
5936   "       (declare (in) float bias) )\n"
5937   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5938   "\n"
5939   "   (signature uvec4\n"
5940   "     (parameters\n"
5941   "       (declare (in) usampler2D sampler) \n"
5942   "       (declare (in) vec2 P) \n"
5943   "       (declare (const_in) ivec2 offset) \n"
5944   "       (declare (in) float bias) )\n"
5945   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5946   "\n"
5947   "   (signature vec4\n"
5948   "     (parameters\n"
5949   "       (declare (in) sampler3D sampler) \n"
5950   "       (declare (in) vec3 P) \n"
5951   "       (declare (const_in) ivec3 offset) \n"
5952   "       (declare (in) float bias) )\n"
5953   "     ((return (txb vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5954   "\n"
5955   "   (signature ivec4\n"
5956   "     (parameters\n"
5957   "       (declare (in) isampler3D sampler) \n"
5958   "       (declare (in) vec3 P) \n"
5959   "       (declare (const_in) ivec3 offset) \n"
5960   "       (declare (in) float bias) )\n"
5961   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5962   "\n"
5963   "   (signature uvec4\n"
5964   "     (parameters\n"
5965   "       (declare (in) usampler3D sampler) \n"
5966   "       (declare (in) vec3 P) \n"
5967   "       (declare (const_in) ivec3 offset) \n"
5968   "       (declare (in) float bias) )\n"
5969   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5970   "\n"
5971   "   (signature vec4\n"
5972   "     (parameters\n"
5973   "       (declare (in) sampler1DArray sampler) \n"
5974   "       (declare (in) vec2 P) \n"
5975   "       (declare (const_in) int offset) \n"
5976   "       (declare (in) float bias) )\n"
5977   "     ((return (txb vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5978   "\n"
5979   "   (signature ivec4\n"
5980   "     (parameters\n"
5981   "       (declare (in) isampler1DArray sampler) \n"
5982   "       (declare (in) vec2 P) \n"
5983   "       (declare (const_in) int offset) \n"
5984   "       (declare (in) float bias) )\n"
5985   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5986   "\n"
5987   "   (signature uvec4\n"
5988   "     (parameters\n"
5989   "       (declare (in) usampler1DArray sampler) \n"
5990   "       (declare (in) vec2 P) \n"
5991   "       (declare (const_in) int offset) \n"
5992   "       (declare (in) float bias) )\n"
5993   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
5994   "\n"
5995   "   (signature vec4\n"
5996   "     (parameters\n"
5997   "       (declare (in) sampler2DArray sampler) \n"
5998   "       (declare (in) vec3 P) \n"
5999   "       (declare (const_in) ivec2 offset) \n"
6000   "       (declare (in) float bias) )\n"
6001   "     ((return (txb vec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
6002   "\n"
6003   "   (signature ivec4\n"
6004   "     (parameters\n"
6005   "       (declare (in) isampler2DArray sampler) \n"
6006   "       (declare (in) vec3 P) \n"
6007   "       (declare (const_in) ivec2 offset) \n"
6008   "       (declare (in) float bias) )\n"
6009   "     ((return (txb ivec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
6010   "\n"
6011   "   (signature uvec4\n"
6012   "     (parameters\n"
6013   "       (declare (in) usampler2DArray sampler) \n"
6014   "       (declare (in) vec3 P) \n"
6015   "       (declare (const_in) ivec2 offset) \n"
6016   "       (declare (in) float bias) )\n"
6017   "     ((return (txb uvec4 (var_ref sampler) (var_ref P) (var_ref offset) 1 () (var_ref bias) ))))\n"
6018   "\n"
6019   "   (signature float\n"
6020   "     (parameters\n"
6021   "       (declare (in) sampler1DShadow sampler) \n"
6022   "       (declare (in) vec3 P) \n"
6023   "       (declare (const_in) int offset) \n"
6024   "       (declare (in) float bias) )\n"
6025   "     ((return (txb float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
6026   "\n"
6027   "   (signature float\n"
6028   "     (parameters\n"
6029   "       (declare (in) sampler2DShadow sampler) \n"
6030   "       (declare (in) vec3 P) \n"
6031   "       (declare (const_in) ivec2 offset) \n"
6032   "       (declare (in) float bias) )\n"
6033   "     ((return (txb float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
6034   "\n"
6035   "   (signature float\n"
6036   "     (parameters\n"
6037   "       (declare (in) sampler1DArrayShadow sampler) \n"
6038   "       (declare (in) vec3 P) \n"
6039   "       (declare (const_in) int offset) \n"
6040   "       (declare (in) float bias) )\n"
6041   "     ((return (txb float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) 1 (swiz z (var_ref P)) (var_ref bias) ))))\n"
6042   "\n"
6043   "))\n"
6044   ""
6045;
6046static const char builtin_textureProj[] =
6047   "((function textureProj\n"
6048   "   (signature vec4\n"
6049   "     (parameters\n"
6050   "       (declare (in) sampler1D sampler) \n"
6051   "       (declare (in) vec2 P) )\n"
6052   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ))))\n"
6053   "\n"
6054   "   (signature ivec4\n"
6055   "     (parameters\n"
6056   "       (declare (in) isampler1D sampler) \n"
6057   "       (declare (in) vec2 P) )\n"
6058   "     ((return (tex ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ))))\n"
6059   "\n"
6060   "   (signature uvec4\n"
6061   "     (parameters\n"
6062   "       (declare (in) usampler1D sampler) \n"
6063   "       (declare (in) vec2 P) )\n"
6064   "     ((return (tex uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ))))\n"
6065   "\n"
6066   "   (signature vec4\n"
6067   "     (parameters\n"
6068   "       (declare (in) sampler1D sampler) \n"
6069   "       (declare (in) vec4 P) )\n"
6070   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6071   "\n"
6072   "   (signature ivec4\n"
6073   "     (parameters\n"
6074   "       (declare (in) isampler1D sampler) \n"
6075   "       (declare (in) vec4 P) )\n"
6076   "     ((return (tex ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6077   "\n"
6078   "   (signature uvec4\n"
6079   "     (parameters\n"
6080   "       (declare (in) usampler1D sampler) \n"
6081   "       (declare (in) vec4 P) )\n"
6082   "     ((return (tex uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6083   "\n"
6084   "   (signature vec4\n"
6085   "     (parameters\n"
6086   "       (declare (in) sampler2D sampler) \n"
6087   "       (declare (in) vec3 P) )\n"
6088   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
6089   "\n"
6090   "   (signature ivec4\n"
6091   "     (parameters\n"
6092   "       (declare (in) isampler2D sampler) \n"
6093   "       (declare (in) vec3 P) )\n"
6094   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
6095   "\n"
6096   "   (signature uvec4\n"
6097   "     (parameters\n"
6098   "       (declare (in) usampler2D sampler) \n"
6099   "       (declare (in) vec3 P) )\n"
6100   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
6101   "\n"
6102   "   (signature vec4\n"
6103   "     (parameters\n"
6104   "       (declare (in) sampler2D sampler) \n"
6105   "       (declare (in) vec4 P) )\n"
6106   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6107   "\n"
6108   "   (signature ivec4\n"
6109   "     (parameters\n"
6110   "       (declare (in) isampler2D sampler) \n"
6111   "       (declare (in) vec4 P) )\n"
6112   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6113   "\n"
6114   "   (signature uvec4\n"
6115   "     (parameters\n"
6116   "       (declare (in) usampler2D sampler) \n"
6117   "       (declare (in) vec4 P) )\n"
6118   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6119   "\n"
6120   "   (signature vec4\n"
6121   "     (parameters\n"
6122   "       (declare (in) sampler3D sampler) \n"
6123   "       (declare (in) vec4 P) )\n"
6124   "     ((return (tex vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6125   "\n"
6126   "   (signature ivec4\n"
6127   "     (parameters\n"
6128   "       (declare (in) isampler3D sampler) \n"
6129   "       (declare (in) vec4 P) )\n"
6130   "     ((return (tex ivec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6131   "\n"
6132   "   (signature uvec4\n"
6133   "     (parameters\n"
6134   "       (declare (in) usampler3D sampler) \n"
6135   "       (declare (in) vec4 P) )\n"
6136   "     ((return (tex uvec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6137   "\n"
6138   "   (signature float\n"
6139   "     (parameters\n"
6140   "       (declare (in) sampler1DShadow sampler) \n"
6141   "       (declare (in) vec4 P) )\n"
6142   "     ((return (tex float (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
6143   "\n"
6144   "   (signature float\n"
6145   "     (parameters\n"
6146   "       (declare (in) sampler2DShadow sampler) \n"
6147   "       (declare (in) vec4 P) )\n"
6148   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
6149   "\n"
6150   "   (signature vec4\n"
6151   "     (parameters\n"
6152   "       (declare (in) sampler2DRect sampler) \n"
6153   "       (declare (in) vec3 P) )\n"
6154   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
6155   "\n"
6156   "   (signature ivec4\n"
6157   "     (parameters\n"
6158   "       (declare (in) isampler2DRect sampler) \n"
6159   "       (declare (in) vec3 P) )\n"
6160   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
6161   "\n"
6162   "   (signature uvec4\n"
6163   "     (parameters\n"
6164   "       (declare (in) usampler2DRect sampler) \n"
6165   "       (declare (in) vec3 P) )\n"
6166   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ))))\n"
6167   "\n"
6168   "   (signature vec4\n"
6169   "     (parameters\n"
6170   "       (declare (in) sampler2DRect sampler) \n"
6171   "       (declare (in) vec4 P) )\n"
6172   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6173   "\n"
6174   "   (signature ivec4\n"
6175   "     (parameters\n"
6176   "       (declare (in) isampler2DRect sampler) \n"
6177   "       (declare (in) vec4 P) )\n"
6178   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6179   "\n"
6180   "   (signature uvec4\n"
6181   "     (parameters\n"
6182   "       (declare (in) usampler2DRect sampler) \n"
6183   "       (declare (in) vec4 P) )\n"
6184   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ))))\n"
6185   "\n"
6186   "   (signature float\n"
6187   "     (parameters\n"
6188   "       (declare (in) sampler2DRectShadow sampler) \n"
6189   "       (declare (in) vec4 P) )\n"
6190   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
6191   "\n"
6192   "   (signature vec4\n"
6193   "     (parameters\n"
6194   "       (declare (in) sampler1D sampler) \n"
6195   "       (declare (in) vec2 P) \n"
6196   "       (declare (in) float bias) )\n"
6197   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref bias) ))))\n"
6198   "\n"
6199   "   (signature ivec4\n"
6200   "     (parameters\n"
6201   "       (declare (in) isampler1D sampler) \n"
6202   "       (declare (in) vec2 P) \n"
6203   "       (declare (in) float bias) )\n"
6204   "     ((return (txb ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref bias) ))))\n"
6205   "\n"
6206   "   (signature uvec4\n"
6207   "     (parameters\n"
6208   "       (declare (in) usampler1D sampler) \n"
6209   "       (declare (in) vec2 P) \n"
6210   "       (declare (in) float bias) )\n"
6211   "     ((return (txb uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref bias) ))))\n"
6212   "\n"
6213   "   (signature vec4\n"
6214   "     (parameters\n"
6215   "       (declare (in) sampler1D sampler) \n"
6216   "       (declare (in) vec4 P) \n"
6217   "       (declare (in) float bias) )\n"
6218   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6219   "\n"
6220   "   (signature ivec4\n"
6221   "     (parameters\n"
6222   "       (declare (in) isampler1D sampler) \n"
6223   "       (declare (in) vec4 P) \n"
6224   "       (declare (in) float bias) )\n"
6225   "     ((return (txb ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6226   "\n"
6227   "   (signature uvec4\n"
6228   "     (parameters\n"
6229   "       (declare (in) usampler1D sampler) \n"
6230   "       (declare (in) vec4 P) \n"
6231   "       (declare (in) float bias) )\n"
6232   "     ((return (txb uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6233   "\n"
6234   "   (signature vec4\n"
6235   "     (parameters\n"
6236   "       (declare (in) sampler2D sampler) \n"
6237   "       (declare (in) vec3 P) \n"
6238   "       (declare (in) float bias) )\n"
6239   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref bias) ))))\n"
6240   "\n"
6241   "   (signature ivec4\n"
6242   "     (parameters\n"
6243   "       (declare (in) isampler2D sampler) \n"
6244   "       (declare (in) vec3 P) \n"
6245   "       (declare (in) float bias) )\n"
6246   "     ((return (txb ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref bias) ))))\n"
6247   "\n"
6248   "   (signature uvec4\n"
6249   "     (parameters\n"
6250   "       (declare (in) usampler2D sampler) \n"
6251   "       (declare (in) vec3 P) \n"
6252   "       (declare (in) float bias) )\n"
6253   "     ((return (txb uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref bias) ))))\n"
6254   "\n"
6255   "   (signature vec4\n"
6256   "     (parameters\n"
6257   "       (declare (in) sampler2D sampler) \n"
6258   "       (declare (in) vec4 P) \n"
6259   "       (declare (in) float bias) )\n"
6260   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6261   "\n"
6262   "   (signature ivec4\n"
6263   "     (parameters\n"
6264   "       (declare (in) isampler2D sampler) \n"
6265   "       (declare (in) vec4 P) \n"
6266   "       (declare (in) float bias) )\n"
6267   "     ((return (txb ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6268   "\n"
6269   "   (signature uvec4\n"
6270   "     (parameters\n"
6271   "       (declare (in) usampler2D sampler) \n"
6272   "       (declare (in) vec4 P) \n"
6273   "       (declare (in) float bias) )\n"
6274   "     ((return (txb uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6275   "\n"
6276   "   (signature vec4\n"
6277   "     (parameters\n"
6278   "       (declare (in) sampler3D sampler) \n"
6279   "       (declare (in) vec4 P) \n"
6280   "       (declare (in) float bias) )\n"
6281   "     ((return (txb vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6282   "\n"
6283   "   (signature ivec4\n"
6284   "     (parameters\n"
6285   "       (declare (in) isampler3D sampler) \n"
6286   "       (declare (in) vec4 P) \n"
6287   "       (declare (in) float bias) )\n"
6288   "     ((return (txb ivec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6289   "\n"
6290   "   (signature uvec4\n"
6291   "     (parameters\n"
6292   "       (declare (in) usampler3D sampler) \n"
6293   "       (declare (in) vec4 P) \n"
6294   "       (declare (in) float bias) )\n"
6295   "     ((return (txb uvec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref bias) ))))\n"
6296   "\n"
6297   "   (signature float\n"
6298   "     (parameters\n"
6299   "       (declare (in) sampler1DShadow sampler) \n"
6300   "       (declare (in) vec4 P) \n"
6301   "       (declare (in) float bias) )\n"
6302   "     ((return (txb float (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
6303   "\n"
6304   "   (signature float\n"
6305   "     (parameters\n"
6306   "       (declare (in) sampler2DShadow sampler) \n"
6307   "       (declare (in) vec4 P) \n"
6308   "       (declare (in) float bias) )\n"
6309   "     ((return (txb float (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
6310   "\n"
6311   "))\n"
6312   ""
6313;
6314static const char builtin_textureProjGrad[] =
6315   "((function textureProjGrad\n"
6316   "   (signature vec4\n"
6317   "     (parameters\n"
6318   "       (declare (in) sampler1D sampler) \n"
6319   "       (declare (in) vec2 P) \n"
6320   "       (declare (in) float dPdx) \n"
6321   "       (declare (in) float dPdy) )\n"
6322   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6323   "\n"
6324   "   (signature ivec4\n"
6325   "     (parameters\n"
6326   "       (declare (in) isampler1D sampler) \n"
6327   "       (declare (in) vec2 P) \n"
6328   "       (declare (in) float dPdx) \n"
6329   "       (declare (in) float dPdy) )\n"
6330   "     ((return (txd ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6331   "\n"
6332   "   (signature uvec4\n"
6333   "     (parameters\n"
6334   "       (declare (in) usampler1D sampler) \n"
6335   "       (declare (in) vec2 P) \n"
6336   "       (declare (in) float dPdx) \n"
6337   "       (declare (in) float dPdy) )\n"
6338   "     ((return (txd uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6339   "\n"
6340   "   (signature vec4\n"
6341   "     (parameters\n"
6342   "       (declare (in) sampler1D sampler) \n"
6343   "       (declare (in) vec4 P) \n"
6344   "       (declare (in) float dPdx) \n"
6345   "       (declare (in) float dPdy) )\n"
6346   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6347   "\n"
6348   "   (signature ivec4\n"
6349   "     (parameters\n"
6350   "       (declare (in) isampler1D sampler) \n"
6351   "       (declare (in) vec4 P) \n"
6352   "       (declare (in) float dPdx) \n"
6353   "       (declare (in) float dPdy) )\n"
6354   "     ((return (txd ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6355   "\n"
6356   "   (signature uvec4\n"
6357   "     (parameters\n"
6358   "       (declare (in) usampler1D sampler) \n"
6359   "       (declare (in) vec4 P) \n"
6360   "       (declare (in) float dPdx) \n"
6361   "       (declare (in) float dPdy) )\n"
6362   "     ((return (txd uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6363   "\n"
6364   "   (signature vec4\n"
6365   "     (parameters\n"
6366   "       (declare (in) sampler2D sampler) \n"
6367   "       (declare (in) vec3 P) \n"
6368   "       (declare (in) vec2 dPdx) \n"
6369   "       (declare (in) vec2 dPdy) )\n"
6370   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6371   "\n"
6372   "   (signature ivec4\n"
6373   "     (parameters\n"
6374   "       (declare (in) isampler2D sampler) \n"
6375   "       (declare (in) vec3 P) \n"
6376   "       (declare (in) vec2 dPdx) \n"
6377   "       (declare (in) vec2 dPdy) )\n"
6378   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6379   "\n"
6380   "   (signature uvec4\n"
6381   "     (parameters\n"
6382   "       (declare (in) usampler2D sampler) \n"
6383   "       (declare (in) vec3 P) \n"
6384   "       (declare (in) vec2 dPdx) \n"
6385   "       (declare (in) vec2 dPdy) )\n"
6386   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6387   "\n"
6388   "   (signature vec4\n"
6389   "     (parameters\n"
6390   "       (declare (in) sampler2D sampler) \n"
6391   "       (declare (in) vec4 P) \n"
6392   "       (declare (in) vec2 dPdx) \n"
6393   "       (declare (in) vec2 dPdy) )\n"
6394   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6395   "\n"
6396   "   (signature ivec4\n"
6397   "     (parameters\n"
6398   "       (declare (in) isampler2D sampler) \n"
6399   "       (declare (in) vec4 P) \n"
6400   "       (declare (in) vec2 dPdx) \n"
6401   "       (declare (in) vec2 dPdy) )\n"
6402   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6403   "\n"
6404   "   (signature uvec4\n"
6405   "     (parameters\n"
6406   "       (declare (in) usampler2D sampler) \n"
6407   "       (declare (in) vec4 P) \n"
6408   "       (declare (in) vec2 dPdx) \n"
6409   "       (declare (in) vec2 dPdy) )\n"
6410   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6411   "\n"
6412   "   (signature vec4\n"
6413   "     (parameters\n"
6414   "       (declare (in) sampler3D sampler) \n"
6415   "       (declare (in) vec4 P) \n"
6416   "       (declare (in) vec3 dPdx) \n"
6417   "       (declare (in) vec3 dPdy) )\n"
6418   "     ((return (txd vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6419   "\n"
6420   "   (signature ivec4\n"
6421   "     (parameters\n"
6422   "       (declare (in) isampler3D sampler) \n"
6423   "       (declare (in) vec4 P) \n"
6424   "       (declare (in) vec3 dPdx) \n"
6425   "       (declare (in) vec3 dPdy) )\n"
6426   "     ((return (txd ivec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6427   "\n"
6428   "   (signature uvec4\n"
6429   "     (parameters\n"
6430   "       (declare (in) usampler3D sampler) \n"
6431   "       (declare (in) vec4 P) \n"
6432   "       (declare (in) vec3 dPdx) \n"
6433   "       (declare (in) vec3 dPdy) )\n"
6434   "     ((return (txd uvec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6435   "\n"
6436   "   (signature vec4\n"
6437   "     (parameters\n"
6438   "       (declare (in) sampler2DRect sampler) \n"
6439   "       (declare (in) vec3 P) \n"
6440   "       (declare (in) vec2 dPdx) \n"
6441   "       (declare (in) vec2 dPdy) )\n"
6442   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6443   "\n"
6444   "   (signature ivec4\n"
6445   "     (parameters\n"
6446   "       (declare (in) isampler2DRect sampler) \n"
6447   "       (declare (in) vec3 P) \n"
6448   "       (declare (in) vec2 dPdx) \n"
6449   "       (declare (in) vec2 dPdy) )\n"
6450   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6451   "\n"
6452   "   (signature uvec4\n"
6453   "     (parameters\n"
6454   "       (declare (in) usampler2DRect sampler) \n"
6455   "       (declare (in) vec3 P) \n"
6456   "       (declare (in) vec2 dPdx) \n"
6457   "       (declare (in) vec2 dPdy) )\n"
6458   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6459   "\n"
6460   "   (signature vec4\n"
6461   "     (parameters\n"
6462   "       (declare (in) sampler2DRect sampler) \n"
6463   "       (declare (in) vec4 P) \n"
6464   "       (declare (in) vec2 dPdx) \n"
6465   "       (declare (in) vec2 dPdy) )\n"
6466   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6467   "\n"
6468   "   (signature ivec4\n"
6469   "     (parameters\n"
6470   "       (declare (in) isampler2DRect sampler) \n"
6471   "       (declare (in) vec4 P) \n"
6472   "       (declare (in) vec2 dPdx) \n"
6473   "       (declare (in) vec2 dPdy) )\n"
6474   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6475   "\n"
6476   "   (signature uvec4\n"
6477   "     (parameters\n"
6478   "       (declare (in) usampler2DRect sampler) \n"
6479   "       (declare (in) vec4 P) \n"
6480   "       (declare (in) vec2 dPdx) \n"
6481   "       (declare (in) vec2 dPdy) )\n"
6482   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6483   "\n"
6484   "   (signature float\n"
6485   "     (parameters\n"
6486   "       (declare (in) sampler2DRectShadow sampler) \n"
6487   "       (declare (in) vec4 P) \n"
6488   "       (declare (in) vec2 dPdx) \n"
6489   "       (declare (in) vec2 dPdy) )\n"
6490   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6491   "\n"
6492   "   (signature float\n"
6493   "     (parameters\n"
6494   "       (declare (in) sampler1DShadow sampler) \n"
6495   "       (declare (in) vec4 P) \n"
6496   "       (declare (in) float dPdx) \n"
6497   "       (declare (in) float dPdy) )\n"
6498   "     ((return (txd float (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6499   "\n"
6500   "   (signature float\n"
6501   "     (parameters\n"
6502   "       (declare (in) sampler2DShadow sampler) \n"
6503   "       (declare (in) vec4 P) \n"
6504   "       (declare (in) vec2 dPdx) \n"
6505   "       (declare (in) vec2 dPdy) )\n"
6506   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6507   "\n"
6508   "))\n"
6509   ""
6510;
6511static const char builtin_textureProjGradOffset[] =
6512   "((function textureProjGradOffset\n"
6513   "   (signature vec4\n"
6514   "     (parameters\n"
6515   "       (declare (in) sampler1D sampler) \n"
6516   "       (declare (in) vec2 P) \n"
6517   "       (declare (in) float dPdx) \n"
6518   "       (declare (in) float dPdy) \n"
6519   "       (declare (const_in) int offset) )\n"
6520   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6521   "\n"
6522   "   (signature ivec4\n"
6523   "     (parameters\n"
6524   "       (declare (in) isampler1D sampler) \n"
6525   "       (declare (in) vec2 P) \n"
6526   "       (declare (in) float dPdx) \n"
6527   "       (declare (in) float dPdy) \n"
6528   "       (declare (const_in) int offset) )\n"
6529   "     ((return (txd ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6530   "\n"
6531   "   (signature uvec4\n"
6532   "     (parameters\n"
6533   "       (declare (in) usampler1D sampler) \n"
6534   "       (declare (in) vec2 P) \n"
6535   "       (declare (in) float dPdx) \n"
6536   "       (declare (in) float dPdy) \n"
6537   "       (declare (const_in) int offset) )\n"
6538   "     ((return (txd uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6539   "\n"
6540   "   (signature vec4\n"
6541   "     (parameters\n"
6542   "       (declare (in) sampler1D sampler) \n"
6543   "       (declare (in) vec4 P) \n"
6544   "       (declare (in) float dPdx) \n"
6545   "       (declare (in) float dPdy) \n"
6546   "       (declare (const_in) int offset) )\n"
6547   "     ((return (txd vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6548   "\n"
6549   "   (signature ivec4\n"
6550   "     (parameters\n"
6551   "       (declare (in) isampler1D sampler) \n"
6552   "       (declare (in) vec4 P) \n"
6553   "       (declare (in) float dPdx) \n"
6554   "       (declare (in) float dPdy) \n"
6555   "       (declare (const_in) int offset) )\n"
6556   "     ((return (txd ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6557   "\n"
6558   "   (signature uvec4\n"
6559   "     (parameters\n"
6560   "       (declare (in) usampler1D sampler) \n"
6561   "       (declare (in) vec4 P) \n"
6562   "       (declare (in) float dPdx) \n"
6563   "       (declare (in) float dPdy) \n"
6564   "       (declare (const_in) int offset) )\n"
6565   "     ((return (txd uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6566   "\n"
6567   "   (signature vec4\n"
6568   "     (parameters\n"
6569   "       (declare (in) sampler2D sampler) \n"
6570   "       (declare (in) vec3 P) \n"
6571   "       (declare (in) vec2 dPdx) \n"
6572   "       (declare (in) vec2 dPdy) \n"
6573   "       (declare (const_in) ivec2 offset) )\n"
6574   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6575   "\n"
6576   "   (signature ivec4\n"
6577   "     (parameters\n"
6578   "       (declare (in) isampler2D sampler) \n"
6579   "       (declare (in) vec3 P) \n"
6580   "       (declare (in) vec2 dPdx) \n"
6581   "       (declare (in) vec2 dPdy) \n"
6582   "       (declare (const_in) ivec2 offset) )\n"
6583   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6584   "\n"
6585   "   (signature uvec4\n"
6586   "     (parameters\n"
6587   "       (declare (in) usampler2D sampler) \n"
6588   "       (declare (in) vec3 P) \n"
6589   "       (declare (in) vec2 dPdx) \n"
6590   "       (declare (in) vec2 dPdy) \n"
6591   "       (declare (const_in) ivec2 offset) )\n"
6592   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6593   "\n"
6594   "   (signature vec4\n"
6595   "     (parameters\n"
6596   "       (declare (in) sampler2D sampler) \n"
6597   "       (declare (in) vec4 P) \n"
6598   "       (declare (in) vec2 dPdx) \n"
6599   "       (declare (in) vec2 dPdy) \n"
6600   "       (declare (const_in) ivec2 offset) )\n"
6601   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6602   "\n"
6603   "   (signature ivec4\n"
6604   "     (parameters\n"
6605   "       (declare (in) isampler2D sampler) \n"
6606   "       (declare (in) vec4 P) \n"
6607   "       (declare (in) vec2 dPdx) \n"
6608   "       (declare (in) vec2 dPdy) \n"
6609   "       (declare (const_in) ivec2 offset) )\n"
6610   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6611   "\n"
6612   "   (signature uvec4\n"
6613   "     (parameters\n"
6614   "       (declare (in) usampler2D sampler) \n"
6615   "       (declare (in) vec4 P) \n"
6616   "       (declare (in) vec2 dPdx) \n"
6617   "       (declare (in) vec2 dPdy) \n"
6618   "       (declare (const_in) ivec2 offset) )\n"
6619   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6620   "\n"
6621   "   (signature vec4\n"
6622   "     (parameters\n"
6623   "       (declare (in) sampler3D sampler) \n"
6624   "       (declare (in) vec4 P) \n"
6625   "       (declare (in) vec3 dPdx) \n"
6626   "       (declare (in) vec3 dPdy) \n"
6627   "       (declare (const_in) ivec3 offset) )\n"
6628   "     ((return (txd vec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6629   "\n"
6630   "   (signature ivec4\n"
6631   "     (parameters\n"
6632   "       (declare (in) isampler3D sampler) \n"
6633   "       (declare (in) vec4 P) \n"
6634   "       (declare (in) vec3 dPdx) \n"
6635   "       (declare (in) vec3 dPdy) \n"
6636   "       (declare (const_in) ivec3 offset) )\n"
6637   "     ((return (txd ivec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6638   "\n"
6639   "   (signature uvec4\n"
6640   "     (parameters\n"
6641   "       (declare (in) usampler3D sampler) \n"
6642   "       (declare (in) vec4 P) \n"
6643   "       (declare (in) vec3 dPdx) \n"
6644   "       (declare (in) vec3 dPdy) \n"
6645   "       (declare (const_in) ivec3 offset) )\n"
6646   "     ((return (txd uvec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6647   "\n"
6648   "   (signature vec4\n"
6649   "     (parameters\n"
6650   "       (declare (in) sampler2DRect sampler) \n"
6651   "       (declare (in) vec3 P) \n"
6652   "       (declare (in) vec2 dPdx) \n"
6653   "       (declare (in) vec2 dPdy) \n"
6654   "       (declare (const_in) ivec2 offset) )\n"
6655   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6656   "\n"
6657   "   (signature ivec4\n"
6658   "     (parameters\n"
6659   "       (declare (in) isampler2DRect sampler) \n"
6660   "       (declare (in) vec3 P) \n"
6661   "       (declare (in) vec2 dPdx) \n"
6662   "       (declare (in) vec2 dPdy) \n"
6663   "       (declare (const_in) ivec2 offset) )\n"
6664   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6665   "\n"
6666   "   (signature uvec4\n"
6667   "     (parameters\n"
6668   "       (declare (in) usampler2DRect sampler) \n"
6669   "       (declare (in) vec3 P) \n"
6670   "       (declare (in) vec2 dPdx) \n"
6671   "       (declare (in) vec2 dPdy) \n"
6672   "       (declare (const_in) ivec2 offset) )\n"
6673   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6674   "\n"
6675   "   (signature vec4\n"
6676   "     (parameters\n"
6677   "       (declare (in) sampler2DRect sampler) \n"
6678   "       (declare (in) vec4 P) \n"
6679   "       (declare (in) vec2 dPdx) \n"
6680   "       (declare (in) vec2 dPdy) \n"
6681   "       (declare (const_in) ivec2 offset) )\n"
6682   "     ((return (txd vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6683   "\n"
6684   "   (signature ivec4\n"
6685   "     (parameters\n"
6686   "       (declare (in) isampler2DRect sampler) \n"
6687   "       (declare (in) vec4 P) \n"
6688   "       (declare (in) vec2 dPdx) \n"
6689   "       (declare (in) vec2 dPdy) \n"
6690   "       (declare (const_in) ivec2 offset) )\n"
6691   "     ((return (txd ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6692   "\n"
6693   "   (signature uvec4\n"
6694   "     (parameters\n"
6695   "       (declare (in) usampler2DRect sampler) \n"
6696   "       (declare (in) vec4 P) \n"
6697   "       (declare (in) vec2 dPdx) \n"
6698   "       (declare (in) vec2 dPdy) \n"
6699   "       (declare (const_in) ivec2 offset) )\n"
6700   "     ((return (txd uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6701   "\n"
6702   "   (signature float\n"
6703   "     (parameters\n"
6704   "       (declare (in) sampler2DRectShadow sampler) \n"
6705   "       (declare (in) vec4 P) \n"
6706   "       (declare (in) vec2 dPdx) \n"
6707   "       (declare (in) vec2 dPdy) \n"
6708   "       (declare (const_in) ivec2 offset) )\n"
6709   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6710   "\n"
6711   "   (signature float\n"
6712   "     (parameters\n"
6713   "       (declare (in) sampler1DShadow sampler) \n"
6714   "       (declare (in) vec4 P) \n"
6715   "       (declare (in) float dPdx) \n"
6716   "       (declare (in) float dPdy) \n"
6717   "       (declare (const_in) int offset) )\n"
6718   "     ((return (txd float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6719   "\n"
6720   "   (signature float\n"
6721   "     (parameters\n"
6722   "       (declare (in) sampler2DShadow sampler) \n"
6723   "       (declare (in) vec4 P) \n"
6724   "       (declare (in) vec2 dPdx) \n"
6725   "       (declare (in) vec2 dPdy) \n"
6726   "       (declare (const_in) ivec2 offset) )\n"
6727   "     ((return (txd float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) ((var_ref dPdx) (var_ref dPdy)) ))))\n"
6728   "\n"
6729   "))\n"
6730   ""
6731;
6732static const char builtin_textureProjLod[] =
6733   "((function textureProjLod\n"
6734   "   (signature vec4\n"
6735   "     (parameters\n"
6736   "       (declare (in) sampler1D sampler) \n"
6737   "       (declare (in) vec2 P) \n"
6738   "       (declare (in) float lod) )\n"
6739   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref lod) ))))\n"
6740   "\n"
6741   "   (signature ivec4\n"
6742   "     (parameters\n"
6743   "       (declare (in) isampler1D sampler) \n"
6744   "       (declare (in) vec2 P) \n"
6745   "       (declare (in) float lod) )\n"
6746   "     ((return (txl ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref lod) ))))\n"
6747   "\n"
6748   "   (signature uvec4\n"
6749   "     (parameters\n"
6750   "       (declare (in) usampler1D sampler) \n"
6751   "       (declare (in) vec2 P) \n"
6752   "       (declare (in) float lod) )\n"
6753   "     ((return (txl uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz y (var_ref P)) () (var_ref lod) ))))\n"
6754   "\n"
6755   "   (signature vec4\n"
6756   "     (parameters\n"
6757   "       (declare (in) sampler1D sampler) \n"
6758   "       (declare (in) vec4 P) \n"
6759   "       (declare (in) float lod) )\n"
6760   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6761   "\n"
6762   "   (signature ivec4\n"
6763   "     (parameters\n"
6764   "       (declare (in) isampler1D sampler) \n"
6765   "       (declare (in) vec4 P) \n"
6766   "       (declare (in) float lod) )\n"
6767   "     ((return (txl ivec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6768   "\n"
6769   "   (signature uvec4\n"
6770   "     (parameters\n"
6771   "       (declare (in) usampler1D sampler) \n"
6772   "       (declare (in) vec4 P) \n"
6773   "       (declare (in) float lod) )\n"
6774   "     ((return (txl uvec4 (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6775   "\n"
6776   "   (signature vec4\n"
6777   "     (parameters\n"
6778   "       (declare (in) sampler2D sampler) \n"
6779   "       (declare (in) vec3 P) \n"
6780   "       (declare (in) float lod) )\n"
6781   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref lod) ))))\n"
6782   "\n"
6783   "   (signature ivec4\n"
6784   "     (parameters\n"
6785   "       (declare (in) isampler2D sampler) \n"
6786   "       (declare (in) vec3 P) \n"
6787   "       (declare (in) float lod) )\n"
6788   "     ((return (txl ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref lod) ))))\n"
6789   "\n"
6790   "   (signature uvec4\n"
6791   "     (parameters\n"
6792   "       (declare (in) usampler2D sampler) \n"
6793   "       (declare (in) vec3 P) \n"
6794   "       (declare (in) float lod) )\n"
6795   "     ((return (txl uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz z (var_ref P)) () (var_ref lod) ))))\n"
6796   "\n"
6797   "   (signature vec4\n"
6798   "     (parameters\n"
6799   "       (declare (in) sampler2D sampler) \n"
6800   "       (declare (in) vec4 P) \n"
6801   "       (declare (in) float lod) )\n"
6802   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6803   "\n"
6804   "   (signature ivec4\n"
6805   "     (parameters\n"
6806   "       (declare (in) isampler2D sampler) \n"
6807   "       (declare (in) vec4 P) \n"
6808   "       (declare (in) float lod) )\n"
6809   "     ((return (txl ivec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6810   "\n"
6811   "   (signature uvec4\n"
6812   "     (parameters\n"
6813   "       (declare (in) usampler2D sampler) \n"
6814   "       (declare (in) vec4 P) \n"
6815   "       (declare (in) float lod) )\n"
6816   "     ((return (txl uvec4 (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6817   "\n"
6818   "   (signature vec4\n"
6819   "     (parameters\n"
6820   "       (declare (in) sampler3D sampler) \n"
6821   "       (declare (in) vec4 P) \n"
6822   "       (declare (in) float lod) )\n"
6823   "     ((return (txl vec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6824   "\n"
6825   "   (signature ivec4\n"
6826   "     (parameters\n"
6827   "       (declare (in) isampler3D sampler) \n"
6828   "       (declare (in) vec4 P) \n"
6829   "       (declare (in) float lod) )\n"
6830   "     ((return (txl ivec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6831   "\n"
6832   "   (signature uvec4\n"
6833   "     (parameters\n"
6834   "       (declare (in) usampler3D sampler) \n"
6835   "       (declare (in) vec4 P) \n"
6836   "       (declare (in) float lod) )\n"
6837   "     ((return (txl uvec4 (var_ref sampler) (swiz xyz (var_ref P)) 0 (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6838   "\n"
6839   "   (signature float\n"
6840   "     (parameters\n"
6841   "       (declare (in) sampler1DShadow sampler) \n"
6842   "       (declare (in) vec4 P) \n"
6843   "       (declare (in) float lod) )\n"
6844   "     ((return (txl float (var_ref sampler) (swiz x (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
6845   "\n"
6846   "   (signature float\n"
6847   "     (parameters\n"
6848   "       (declare (in) sampler2DShadow sampler) \n"
6849   "       (declare (in) vec4 P) \n"
6850   "       (declare (in) float lod) )\n"
6851   "     ((return (txl float (var_ref sampler) (swiz xy (var_ref P)) 0 (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
6852   "\n"
6853   "))\n"
6854   ""
6855;
6856static const char builtin_textureProjLodOffset[] =
6857   "((function textureProjLodOffset\n"
6858   "   (signature vec4\n"
6859   "     (parameters\n"
6860   "       (declare (in) sampler1D sampler) \n"
6861   "       (declare (in) vec2 P) \n"
6862   "       (declare (in) float lod) \n"
6863   "       (declare (const_in) int offset) )\n"
6864   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
6865   "\n"
6866   "   (signature ivec4\n"
6867   "     (parameters\n"
6868   "       (declare (in) isampler1D sampler) \n"
6869   "       (declare (in) vec2 P) \n"
6870   "       (declare (in) float lod) \n"
6871   "       (declare (const_in) int offset) )\n"
6872   "     ((return (txl ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
6873   "\n"
6874   "   (signature uvec4\n"
6875   "     (parameters\n"
6876   "       (declare (in) usampler1D sampler) \n"
6877   "       (declare (in) vec2 P) \n"
6878   "       (declare (in) float lod) \n"
6879   "       (declare (const_in) int offset) )\n"
6880   "     ((return (txl uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () (var_ref lod) ))))\n"
6881   "\n"
6882   "   (signature vec4\n"
6883   "     (parameters\n"
6884   "       (declare (in) sampler1D sampler) \n"
6885   "       (declare (in) vec4 P) \n"
6886   "       (declare (in) float lod) \n"
6887   "       (declare (const_in) int offset) )\n"
6888   "     ((return (txl vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6889   "\n"
6890   "   (signature ivec4\n"
6891   "     (parameters\n"
6892   "       (declare (in) isampler1D sampler) \n"
6893   "       (declare (in) vec4 P) \n"
6894   "       (declare (in) float lod) \n"
6895   "       (declare (const_in) int offset) )\n"
6896   "     ((return (txl ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6897   "\n"
6898   "   (signature uvec4\n"
6899   "     (parameters\n"
6900   "       (declare (in) usampler1D sampler) \n"
6901   "       (declare (in) vec4 P) \n"
6902   "       (declare (in) float lod) \n"
6903   "       (declare (const_in) int offset) )\n"
6904   "     ((return (txl uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6905   "\n"
6906   "   (signature vec4\n"
6907   "     (parameters\n"
6908   "       (declare (in) sampler2D sampler) \n"
6909   "       (declare (in) vec3 P) \n"
6910   "       (declare (in) float lod) \n"
6911   "       (declare (const_in) ivec2 offset) )\n"
6912   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
6913   "\n"
6914   "   (signature ivec4\n"
6915   "     (parameters\n"
6916   "       (declare (in) isampler2D sampler) \n"
6917   "       (declare (in) vec3 P) \n"
6918   "       (declare (in) float lod) \n"
6919   "       (declare (const_in) ivec2 offset) )\n"
6920   "     ((return (txl ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
6921   "\n"
6922   "   (signature uvec4\n"
6923   "     (parameters\n"
6924   "       (declare (in) usampler2D sampler) \n"
6925   "       (declare (in) vec3 P) \n"
6926   "       (declare (in) float lod) \n"
6927   "       (declare (const_in) ivec2 offset) )\n"
6928   "     ((return (txl uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () (var_ref lod) ))))\n"
6929   "\n"
6930   "   (signature vec4\n"
6931   "     (parameters\n"
6932   "       (declare (in) sampler2D sampler) \n"
6933   "       (declare (in) vec4 P) \n"
6934   "       (declare (in) float lod) \n"
6935   "       (declare (const_in) ivec2 offset) )\n"
6936   "     ((return (txl vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6937   "\n"
6938   "   (signature ivec4\n"
6939   "     (parameters\n"
6940   "       (declare (in) isampler2D sampler) \n"
6941   "       (declare (in) vec4 P) \n"
6942   "       (declare (in) float lod) \n"
6943   "       (declare (const_in) ivec2 offset) )\n"
6944   "     ((return (txl ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6945   "\n"
6946   "   (signature uvec4\n"
6947   "     (parameters\n"
6948   "       (declare (in) usampler2D sampler) \n"
6949   "       (declare (in) vec4 P) \n"
6950   "       (declare (in) float lod) \n"
6951   "       (declare (const_in) ivec2 offset) )\n"
6952   "     ((return (txl uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6953   "\n"
6954   "   (signature vec4\n"
6955   "     (parameters\n"
6956   "       (declare (in) sampler3D sampler) \n"
6957   "       (declare (in) vec4 P) \n"
6958   "       (declare (in) float lod) \n"
6959   "       (declare (const_in) ivec3 offset) )\n"
6960   "     ((return (txl vec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6961   "\n"
6962   "   (signature ivec4\n"
6963   "     (parameters\n"
6964   "       (declare (in) isampler3D sampler) \n"
6965   "       (declare (in) vec4 P) \n"
6966   "       (declare (in) float lod) \n"
6967   "       (declare (const_in) ivec3 offset) )\n"
6968   "     ((return (txl ivec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6969   "\n"
6970   "   (signature uvec4\n"
6971   "     (parameters\n"
6972   "       (declare (in) usampler3D sampler) \n"
6973   "       (declare (in) vec4 P) \n"
6974   "       (declare (in) float lod) \n"
6975   "       (declare (const_in) ivec3 offset) )\n"
6976   "     ((return (txl uvec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref lod) ))))\n"
6977   "\n"
6978   "   (signature float\n"
6979   "     (parameters\n"
6980   "       (declare (in) sampler1DShadow sampler) \n"
6981   "       (declare (in) vec4 P) \n"
6982   "       (declare (in) float lod) \n"
6983   "       (declare (const_in) int offset) )\n"
6984   "     ((return (txl float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
6985   "\n"
6986   "   (signature float\n"
6987   "     (parameters\n"
6988   "       (declare (in) sampler2DShadow sampler) \n"
6989   "       (declare (in) vec4 P) \n"
6990   "       (declare (in) float lod) \n"
6991   "       (declare (const_in) ivec2 offset) )\n"
6992   "     ((return (txl float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref lod) ))))\n"
6993   "\n"
6994   "))\n"
6995   ""
6996;
6997static const char builtin_textureProjOffset[] =
6998   "((function textureProjOffset\n"
6999   "   (signature vec4\n"
7000   "     (parameters\n"
7001   "       (declare (in) sampler1D sampler) \n"
7002   "       (declare (in) vec2 P) \n"
7003   "       (declare (const_in) int offset) )\n"
7004   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () ))))\n"
7005   "\n"
7006   "   (signature ivec4\n"
7007   "     (parameters\n"
7008   "       (declare (in) isampler1D sampler) \n"
7009   "       (declare (in) vec2 P) \n"
7010   "       (declare (const_in) int offset) )\n"
7011   "     ((return (tex ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () ))))\n"
7012   "\n"
7013   "   (signature uvec4\n"
7014   "     (parameters\n"
7015   "       (declare (in) usampler1D sampler) \n"
7016   "       (declare (in) vec2 P) \n"
7017   "       (declare (const_in) int offset) )\n"
7018   "     ((return (tex uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () ))))\n"
7019   "\n"
7020   "   (signature vec4\n"
7021   "     (parameters\n"
7022   "       (declare (in) sampler1D sampler) \n"
7023   "       (declare (in) vec4 P) \n"
7024   "       (declare (const_in) int offset) )\n"
7025   "     ((return (tex vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7026   "\n"
7027   "   (signature ivec4\n"
7028   "     (parameters\n"
7029   "       (declare (in) isampler1D sampler) \n"
7030   "       (declare (in) vec4 P) \n"
7031   "       (declare (const_in) int offset) )\n"
7032   "     ((return (tex ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7033   "\n"
7034   "   (signature uvec4\n"
7035   "     (parameters\n"
7036   "       (declare (in) usampler1D sampler) \n"
7037   "       (declare (in) vec4 P) \n"
7038   "       (declare (const_in) int offset) )\n"
7039   "     ((return (tex uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7040   "\n"
7041   "   (signature vec4\n"
7042   "     (parameters\n"
7043   "       (declare (in) sampler2D sampler) \n"
7044   "       (declare (in) vec3 P) \n"
7045   "       (declare (const_in) ivec2 offset) )\n"
7046   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ))))\n"
7047   "\n"
7048   "   (signature ivec4\n"
7049   "     (parameters\n"
7050   "       (declare (in) isampler2D sampler) \n"
7051   "       (declare (in) vec3 P) \n"
7052   "       (declare (const_in) ivec2 offset) )\n"
7053   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ))))\n"
7054   "\n"
7055   "   (signature uvec4\n"
7056   "     (parameters\n"
7057   "       (declare (in) usampler2D sampler) \n"
7058   "       (declare (in) vec3 P) \n"
7059   "       (declare (const_in) ivec2 offset) )\n"
7060   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ))))\n"
7061   "\n"
7062   "   (signature vec4\n"
7063   "     (parameters\n"
7064   "       (declare (in) sampler2D sampler) \n"
7065   "       (declare (in) vec4 P) \n"
7066   "       (declare (const_in) ivec2 offset) )\n"
7067   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7068   "\n"
7069   "   (signature ivec4\n"
7070   "     (parameters\n"
7071   "       (declare (in) isampler2D sampler) \n"
7072   "       (declare (in) vec4 P) \n"
7073   "       (declare (const_in) ivec2 offset) )\n"
7074   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7075   "\n"
7076   "   (signature uvec4\n"
7077   "     (parameters\n"
7078   "       (declare (in) usampler2D sampler) \n"
7079   "       (declare (in) vec4 P) \n"
7080   "       (declare (const_in) ivec2 offset) )\n"
7081   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7082   "\n"
7083   "   (signature vec4\n"
7084   "     (parameters\n"
7085   "       (declare (in) sampler3D sampler) \n"
7086   "       (declare (in) vec4 P) \n"
7087   "       (declare (const_in) ivec3 offset) )\n"
7088   "     ((return (tex vec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7089   "\n"
7090   "   (signature ivec4\n"
7091   "     (parameters\n"
7092   "       (declare (in) isampler3D sampler) \n"
7093   "       (declare (in) vec4 P) \n"
7094   "       (declare (const_in) ivec3 offset) )\n"
7095   "     ((return (tex ivec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7096   "\n"
7097   "   (signature uvec4\n"
7098   "     (parameters\n"
7099   "       (declare (in) usampler3D sampler) \n"
7100   "       (declare (in) vec4 P) \n"
7101   "       (declare (const_in) ivec3 offset) )\n"
7102   "     ((return (tex uvec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7103   "\n"
7104   "   (signature vec4\n"
7105   "     (parameters\n"
7106   "       (declare (in) sampler2DRect sampler) \n"
7107   "       (declare (in) vec3 P) \n"
7108   "       (declare (const_in) ivec2 offset) )\n"
7109   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ))))\n"
7110   "\n"
7111   "   (signature ivec4\n"
7112   "     (parameters\n"
7113   "       (declare (in) isampler2DRect sampler) \n"
7114   "       (declare (in) vec3 P) \n"
7115   "       (declare (const_in) ivec2 offset) )\n"
7116   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ))))\n"
7117   "\n"
7118   "   (signature uvec4\n"
7119   "     (parameters\n"
7120   "       (declare (in) usampler2DRect sampler) \n"
7121   "       (declare (in) vec3 P) \n"
7122   "       (declare (const_in) ivec2 offset) )\n"
7123   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () ))))\n"
7124   "\n"
7125   "   (signature vec4\n"
7126   "     (parameters\n"
7127   "       (declare (in) sampler2DRect sampler) \n"
7128   "       (declare (in) vec4 P) \n"
7129   "       (declare (const_in) ivec2 offset) )\n"
7130   "     ((return (tex vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7131   "\n"
7132   "   (signature ivec4\n"
7133   "     (parameters\n"
7134   "       (declare (in) isampler2DRect sampler) \n"
7135   "       (declare (in) vec4 P) \n"
7136   "       (declare (const_in) ivec2 offset) )\n"
7137   "     ((return (tex ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7138   "\n"
7139   "   (signature uvec4\n"
7140   "     (parameters\n"
7141   "       (declare (in) usampler2DRect sampler) \n"
7142   "       (declare (in) vec4 P) \n"
7143   "       (declare (const_in) ivec2 offset) )\n"
7144   "     ((return (tex uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () ))))\n"
7145   "\n"
7146   "   (signature float\n"
7147   "     (parameters\n"
7148   "       (declare (in) sampler2DRectShadow sampler) \n"
7149   "       (declare (in) vec4 P) \n"
7150   "       (declare (const_in) ivec2 offset) )\n"
7151   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
7152   "\n"
7153   "   (signature float\n"
7154   "     (parameters\n"
7155   "       (declare (in) sampler1DShadow sampler) \n"
7156   "       (declare (in) vec4 P) \n"
7157   "       (declare (const_in) int offset) )\n"
7158   "     ((return (tex float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
7159   "\n"
7160   "   (signature float\n"
7161   "     (parameters\n"
7162   "       (declare (in) sampler2DShadow sampler) \n"
7163   "       (declare (in) vec4 P) \n"
7164   "       (declare (const_in) ivec2 offset) )\n"
7165   "     ((return (tex float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) ))))\n"
7166   "\n"
7167   "   (signature vec4\n"
7168   "     (parameters\n"
7169   "       (declare (in) sampler1D sampler) \n"
7170   "       (declare (in) vec2 P) \n"
7171   "       (declare (const_in) int offset) \n"
7172   "       (declare (in) float bias) )\n"
7173   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
7174   "\n"
7175   "   (signature ivec4\n"
7176   "     (parameters\n"
7177   "       (declare (in) isampler1D sampler) \n"
7178   "       (declare (in) vec2 P) \n"
7179   "       (declare (const_in) int offset) \n"
7180   "       (declare (in) float bias) )\n"
7181   "     ((return (txb ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
7182   "\n"
7183   "   (signature uvec4\n"
7184   "     (parameters\n"
7185   "       (declare (in) usampler1D sampler) \n"
7186   "       (declare (in) vec2 P) \n"
7187   "       (declare (const_in) int offset) \n"
7188   "       (declare (in) float bias) )\n"
7189   "     ((return (txb uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz y (var_ref P)) () (var_ref bias) ))))\n"
7190   "\n"
7191   "   (signature vec4\n"
7192   "     (parameters\n"
7193   "       (declare (in) sampler1D sampler) \n"
7194   "       (declare (in) vec4 P) \n"
7195   "       (declare (const_in) int offset) \n"
7196   "       (declare (in) float bias) )\n"
7197   "     ((return (txb vec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7198   "\n"
7199   "   (signature ivec4\n"
7200   "     (parameters\n"
7201   "       (declare (in) isampler1D sampler) \n"
7202   "       (declare (in) vec4 P) \n"
7203   "       (declare (const_in) int offset) \n"
7204   "       (declare (in) float bias) )\n"
7205   "     ((return (txb ivec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7206   "\n"
7207   "   (signature uvec4\n"
7208   "     (parameters\n"
7209   "       (declare (in) usampler1D sampler) \n"
7210   "       (declare (in) vec4 P) \n"
7211   "       (declare (const_in) int offset) \n"
7212   "       (declare (in) float bias) )\n"
7213   "     ((return (txb uvec4 (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7214   "\n"
7215   "   (signature vec4\n"
7216   "     (parameters\n"
7217   "       (declare (in) sampler2D sampler) \n"
7218   "       (declare (in) vec3 P) \n"
7219   "       (declare (const_in) ivec2 offset) \n"
7220   "       (declare (in) float bias) )\n"
7221   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
7222   "\n"
7223   "   (signature ivec4\n"
7224   "     (parameters\n"
7225   "       (declare (in) isampler2D sampler) \n"
7226   "       (declare (in) vec3 P) \n"
7227   "       (declare (const_in) ivec2 offset) \n"
7228   "       (declare (in) float bias) )\n"
7229   "     ((return (txb ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
7230   "\n"
7231   "   (signature uvec4\n"
7232   "     (parameters\n"
7233   "       (declare (in) usampler2D sampler) \n"
7234   "       (declare (in) vec3 P) \n"
7235   "       (declare (const_in) ivec2 offset) \n"
7236   "       (declare (in) float bias) )\n"
7237   "     ((return (txb uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz z (var_ref P)) () (var_ref bias) ))))\n"
7238   "\n"
7239   "   (signature vec4\n"
7240   "     (parameters\n"
7241   "       (declare (in) sampler2D sampler) \n"
7242   "       (declare (in) vec4 P) \n"
7243   "       (declare (const_in) ivec2 offset) \n"
7244   "       (declare (in) float bias) )\n"
7245   "     ((return (txb vec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7246   "\n"
7247   "   (signature ivec4\n"
7248   "     (parameters\n"
7249   "       (declare (in) isampler2D sampler) \n"
7250   "       (declare (in) vec4 P) \n"
7251   "       (declare (const_in) ivec2 offset) \n"
7252   "       (declare (in) float bias) )\n"
7253   "     ((return (txb ivec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7254   "\n"
7255   "   (signature uvec4\n"
7256   "     (parameters\n"
7257   "       (declare (in) usampler2D sampler) \n"
7258   "       (declare (in) vec4 P) \n"
7259   "       (declare (const_in) ivec2 offset) \n"
7260   "       (declare (in) float bias) )\n"
7261   "     ((return (txb uvec4 (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7262   "\n"
7263   "   (signature vec4\n"
7264   "     (parameters\n"
7265   "       (declare (in) sampler3D sampler) \n"
7266   "       (declare (in) vec4 P) \n"
7267   "       (declare (const_in) ivec3 offset) \n"
7268   "       (declare (in) float bias) )\n"
7269   "     ((return (txb vec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7270   "\n"
7271   "   (signature ivec4\n"
7272   "     (parameters\n"
7273   "       (declare (in) isampler3D sampler) \n"
7274   "       (declare (in) vec4 P) \n"
7275   "       (declare (const_in) ivec3 offset) \n"
7276   "       (declare (in) float bias) )\n"
7277   "     ((return (txb ivec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7278   "\n"
7279   "   (signature uvec4\n"
7280   "     (parameters\n"
7281   "       (declare (in) usampler3D sampler) \n"
7282   "       (declare (in) vec4 P) \n"
7283   "       (declare (const_in) ivec3 offset) \n"
7284   "       (declare (in) float bias) )\n"
7285   "     ((return (txb uvec4 (var_ref sampler) (swiz xyz (var_ref P)) (var_ref offset) (swiz w (var_ref P)) () (var_ref bias) ))))\n"
7286   "\n"
7287   "   (signature float\n"
7288   "     (parameters\n"
7289   "       (declare (in) sampler1DShadow sampler) \n"
7290   "       (declare (in) vec4 P) \n"
7291   "       (declare (const_in) int offset) \n"
7292   "       (declare (in) float bias) )\n"
7293   "     ((return (txb float (var_ref sampler) (swiz x (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
7294   "\n"
7295   "   (signature float\n"
7296   "     (parameters\n"
7297   "       (declare (in) sampler2DShadow sampler) \n"
7298   "       (declare (in) vec4 P) \n"
7299   "       (declare (const_in) ivec2 offset) \n"
7300   "       (declare (in) float bias) )\n"
7301   "     ((return (txb float (var_ref sampler) (swiz xy (var_ref P)) (var_ref offset) (swiz w (var_ref P)) (swiz z (var_ref P)) (var_ref bias) ))))\n"
7302   "\n"
7303   "))\n"
7304   ""
7305;
7306static const char builtin_textureSize[] =
7307   "((function textureSize\n"
7308   "   (signature int\n"
7309   "     (parameters\n"
7310   "       (declare (in) sampler1D sampler) \n"
7311   "       (declare (in) int lod) )\n"
7312   "     ((return (txs int (var_ref sampler) (var_ref lod) ))))\n"
7313   "\n"
7314   "   (signature int\n"
7315   "     (parameters\n"
7316   "       (declare (in) isampler1D sampler) \n"
7317   "       (declare (in) int lod) )\n"
7318   "     ((return (txs int (var_ref sampler) (var_ref lod) ))))\n"
7319   "\n"
7320   "   (signature int\n"
7321   "     (parameters\n"
7322   "       (declare (in) usampler1D sampler) \n"
7323   "       (declare (in) int lod) )\n"
7324   "     ((return (txs int (var_ref sampler) (var_ref lod) ))))\n"
7325   "\n"
7326   "   (signature ivec2\n"
7327   "     (parameters\n"
7328   "       (declare (in) sampler2D sampler) \n"
7329   "       (declare (in) int lod) )\n"
7330   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7331   "\n"
7332   "   (signature ivec2\n"
7333   "     (parameters\n"
7334   "       (declare (in) isampler2D sampler) \n"
7335   "       (declare (in) int lod) )\n"
7336   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7337   "\n"
7338   "   (signature ivec2\n"
7339   "     (parameters\n"
7340   "       (declare (in) usampler2D sampler) \n"
7341   "       (declare (in) int lod) )\n"
7342   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7343   "\n"
7344   "   (signature ivec3\n"
7345   "     (parameters\n"
7346   "       (declare (in) sampler3D sampler) \n"
7347   "       (declare (in) int lod) )\n"
7348   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7349   "\n"
7350   "   (signature ivec3\n"
7351   "     (parameters\n"
7352   "       (declare (in) isampler3D sampler) \n"
7353   "       (declare (in) int lod) )\n"
7354   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7355   "\n"
7356   "   (signature ivec3\n"
7357   "     (parameters\n"
7358   "       (declare (in) usampler3D sampler) \n"
7359   "       (declare (in) int lod) )\n"
7360   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7361   "\n"
7362   "   (signature ivec2\n"
7363   "     (parameters\n"
7364   "       (declare (in) samplerCube sampler) \n"
7365   "       (declare (in) int lod) )\n"
7366   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7367   "\n"
7368   "   (signature ivec2\n"
7369   "     (parameters\n"
7370   "       (declare (in) isamplerCube sampler) \n"
7371   "       (declare (in) int lod) )\n"
7372   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7373   "\n"
7374   "   (signature ivec2\n"
7375   "     (parameters\n"
7376   "       (declare (in) usamplerCube sampler) \n"
7377   "       (declare (in) int lod) )\n"
7378   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7379   "\n"
7380   "   (signature ivec2\n"
7381   "     (parameters\n"
7382   "       (declare (in) sampler1DArray sampler) \n"
7383   "       (declare (in) int lod) )\n"
7384   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7385   "\n"
7386   "   (signature ivec2\n"
7387   "     (parameters\n"
7388   "       (declare (in) isampler1DArray sampler) \n"
7389   "       (declare (in) int lod) )\n"
7390   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7391   "\n"
7392   "   (signature ivec2\n"
7393   "     (parameters\n"
7394   "       (declare (in) usampler1DArray sampler) \n"
7395   "       (declare (in) int lod) )\n"
7396   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7397   "\n"
7398   "   (signature ivec3\n"
7399   "     (parameters\n"
7400   "       (declare (in) sampler2DArray sampler) \n"
7401   "       (declare (in) int lod) )\n"
7402   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7403   "\n"
7404   "   (signature ivec3\n"
7405   "     (parameters\n"
7406   "       (declare (in) isampler2DArray sampler) \n"
7407   "       (declare (in) int lod) )\n"
7408   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7409   "\n"
7410   "   (signature ivec3\n"
7411   "     (parameters\n"
7412   "       (declare (in) usampler2DArray sampler) \n"
7413   "       (declare (in) int lod) )\n"
7414   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7415   "\n"
7416   "   (signature int\n"
7417   "     (parameters\n"
7418   "       (declare (in) sampler1DShadow sampler) \n"
7419   "       (declare (in) int lod) )\n"
7420   "     ((return (txs int (var_ref sampler) (var_ref lod) ))))\n"
7421   "\n"
7422   "   (signature ivec2\n"
7423   "     (parameters\n"
7424   "       (declare (in) sampler2DShadow sampler) \n"
7425   "       (declare (in) int lod) )\n"
7426   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7427   "\n"
7428   "   (signature ivec2\n"
7429   "     (parameters\n"
7430   "       (declare (in) samplerCubeShadow sampler) \n"
7431   "       (declare (in) int lod) )\n"
7432   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7433   "\n"
7434   "   (signature ivec2\n"
7435   "     (parameters\n"
7436   "       (declare (in) sampler1DArrayShadow sampler) \n"
7437   "       (declare (in) int lod) )\n"
7438   "     ((return (txs ivec2 (var_ref sampler) (var_ref lod) ))))\n"
7439   "\n"
7440   "   (signature ivec3\n"
7441   "     (parameters\n"
7442   "       (declare (in) sampler2DArrayShadow sampler) \n"
7443   "       (declare (in) int lod) )\n"
7444   "     ((return (txs ivec3 (var_ref sampler) (var_ref lod) ))))\n"
7445   "\n"
7446   "   (signature ivec2\n"
7447   "     (parameters\n"
7448   "       (declare (in) sampler2DRect sampler) )\n"
7449   "     ((return (txs ivec2 (var_ref sampler) (constant int (0))\n"
7450   "))))\n"
7451   "\n"
7452   "   (signature ivec2\n"
7453   "     (parameters\n"
7454   "       (declare (in) isampler2DRect sampler) )\n"
7455   "     ((return (txs ivec2 (var_ref sampler) (constant int (0))\n"
7456   "))))\n"
7457   "\n"
7458   "   (signature ivec2\n"
7459   "     (parameters\n"
7460   "       (declare (in) usampler2DRect sampler) )\n"
7461   "     ((return (txs ivec2 (var_ref sampler) (constant int (0))\n"
7462   "))))\n"
7463   "\n"
7464   "   (signature ivec2\n"
7465   "     (parameters\n"
7466   "       (declare (in) sampler2DRectShadow sampler) )\n"
7467   "     ((return (txs ivec2 (var_ref sampler) (constant int (0))\n"
7468   "))))\n"
7469   "\n"
7470   "   (signature int\n"
7471   "     (parameters\n"
7472   "       (declare (in) samplerBuffer sampler) )\n"
7473   "     ((return (txs int (var_ref sampler) (constant int (0))\n"
7474   "))))\n"
7475   "\n"
7476   "   (signature int\n"
7477   "     (parameters\n"
7478   "       (declare (in) isamplerBuffer sampler) )\n"
7479   "     ((return (txs int (var_ref sampler) (constant int (0))\n"
7480   "))))\n"
7481   "\n"
7482   "   (signature int\n"
7483   "     (parameters\n"
7484   "       (declare (in) usamplerBuffer sampler) )\n"
7485   "     ((return (txs int (var_ref sampler) (constant int (0))\n"
7486   "))))\n"
7487   "\n"
7488   "))\n"
7489   ""
7490;
7491static const char builtin_transpose[] =
7492   "((function transpose\n"
7493   "   (signature mat2\n"
7494   "     (parameters\n"
7495   "       (declare (in) mat2 m))\n"
7496   "     ((declare () mat2 t)\n"
7497   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7498   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7499   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7500   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7501   "(return (var_ref t))))\n"
7502   "\n"
7503   "   (signature mat3x2\n"
7504   "     (parameters\n"
7505   "       (declare (in) mat2x3 m))\n"
7506   "     ((declare () mat3x2 t)\n"
7507   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7508   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7509   "      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
7510   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7511   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7512   "      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
7513   "(return (var_ref t))))\n"
7514   "\n"
7515   "   (signature mat4x2\n"
7516   "     (parameters\n"
7517   "       (declare (in) mat2x4 m))\n"
7518   "     ((declare () mat4x2 t)\n"
7519   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7520   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7521   "      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
7522   "      (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
7523   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7524   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7525   "      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
7526   "      (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
7527   "(return (var_ref t))))\n"
7528   "\n"
7529   "   (signature mat2x3\n"
7530   "     (parameters\n"
7531   "       (declare (in) mat3x2 m))\n"
7532   "     ((declare () mat2x3 t)\n"
7533   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7534   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7535   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7536   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7537   "      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
7538   "      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
7539   "(return (var_ref t))))\n"
7540   "\n"
7541   "   (signature mat3\n"
7542   "     (parameters\n"
7543   "       (declare (in) mat3 m))\n"
7544   "     ((declare () mat3 t)\n"
7545   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7546   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7547   "      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
7548   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7549   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7550   "      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
7551   "      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
7552   "      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
7553   "      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
7554   "(return (var_ref t))))\n"
7555   "\n"
7556   "   (signature mat4x3\n"
7557   "     (parameters\n"
7558   "       (declare (in) mat3x4 m))\n"
7559   "     ((declare () mat4x3 t)\n"
7560   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7561   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7562   "      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
7563   "      (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
7564   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7565   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7566   "      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
7567   "      (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
7568   "      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
7569   "      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
7570   "      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
7571   "      (assign (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
7572   "(return (var_ref t))))\n"
7573   "\n"
7574   "   (signature mat2x4\n"
7575   "     (parameters\n"
7576   "       (declare (in) mat4x2 m))\n"
7577   "     ((declare () mat2x4 t)\n"
7578   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7579   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7580   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7581   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7582   "      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
7583   "      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
7584   "      (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
7585   "      (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
7586   "(return (var_ref t))))\n"
7587   "\n"
7588   "   (signature mat3x4\n"
7589   "     (parameters\n"
7590   "       (declare (in) mat4x3 m))\n"
7591   "     ((declare () mat3x4 t)\n"
7592   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7593   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7594   "      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
7595   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7596   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7597   "      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
7598   "      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
7599   "      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
7600   "      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
7601   "      (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
7602   "      (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
7603   "      (assign (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
7604   "(return (var_ref t))))\n"
7605   "\n"
7606   "   (signature mat4\n"
7607   "     (parameters\n"
7608   "       (declare (in) mat4 m))\n"
7609   "     ((declare () mat4 t)\n"
7610   "      (assign (x) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (0)))))\n"
7611   "      (assign (x) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (0)))))\n"
7612   "      (assign (x) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (0)))))\n"
7613   "      (assign (x) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (0)))))\n"
7614   "      (assign (y) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (1)))))\n"
7615   "      (assign (y) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (1)))))\n"
7616   "      (assign (y) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (1)))))\n"
7617   "      (assign (y) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (1)))))\n"
7618   "      (assign (z) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (2)))))\n"
7619   "      (assign (z) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (2)))))\n"
7620   "      (assign (z) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (2)))))\n"
7621   "      (assign (z) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (2)))))\n"
7622   "      (assign (w) (array_ref (var_ref t) (constant int (0))) (swiz x (array_ref (var_ref m) (constant int (3)))))\n"
7623   "      (assign (w) (array_ref (var_ref t) (constant int (1))) (swiz y (array_ref (var_ref m) (constant int (3)))))\n"
7624   "      (assign (w) (array_ref (var_ref t) (constant int (2))) (swiz z (array_ref (var_ref m) (constant int (3)))))\n"
7625   "      (assign (w) (array_ref (var_ref t) (constant int (3))) (swiz w (array_ref (var_ref m) (constant int (3)))))\n"
7626   "(return (var_ref t))))\n"
7627   ")\n"
7628   "\n"
7629   ")\n"
7630   "\n"
7631   ""
7632;
7633static const char builtin_trunc[] =
7634   "((function trunc\n"
7635   "   (signature float\n"
7636   "     (parameters\n"
7637   "       (declare (in) float arg0))\n"
7638   "     ((return (expression float trunc (var_ref arg0)))))\n"
7639   "\n"
7640   "   (signature vec2\n"
7641   "     (parameters\n"
7642   "       (declare (in) vec2 arg0))\n"
7643   "     ((return (expression vec2 trunc (var_ref arg0)))))\n"
7644   "\n"
7645   "   (signature vec3\n"
7646   "     (parameters\n"
7647   "       (declare (in) vec3 arg0))\n"
7648   "     ((return (expression vec3 trunc (var_ref arg0)))))\n"
7649   "\n"
7650   "   (signature vec4\n"
7651   "     (parameters\n"
7652   "       (declare (in) vec4 arg0))\n"
7653   "     ((return (expression vec4 trunc (var_ref arg0)))))\n"
7654   "))\n"
7655   ""
7656;
7657static const char builtin_uintBitsToFloat[] =
7658   "((function uintBitsToFloat\n"
7659   "   (signature float\n"
7660   "     (parameters\n"
7661   "       (declare (in) uint arg))\n"
7662   "     ((return (expression float bitcast_u2f (var_ref arg)))))\n"
7663   "\n"
7664   "   (signature vec2\n"
7665   "     (parameters\n"
7666   "       (declare (in) uvec2 arg))\n"
7667   "     ((return (expression vec2 bitcast_u2f (var_ref arg)))))\n"
7668   "\n"
7669   "   (signature vec3\n"
7670   "     (parameters\n"
7671   "       (declare (in) uvec3 arg))\n"
7672   "     ((return (expression vec3 bitcast_u2f (var_ref arg)))))\n"
7673   "\n"
7674   "   (signature vec4\n"
7675   "     (parameters\n"
7676   "       (declare (in) uvec4 arg))\n"
7677   "     ((return (expression vec4 bitcast_u2f (var_ref arg)))))\n"
7678   "))\n"
7679   ""
7680;
7681static const char prototypes_for_100_frag[] =
7682   "(\n"
7683   "(function texture2D\n"
7684   "  (signature vec4\n"
7685   "    (parameters\n"
7686   "      (declare (in) sampler2D sampler)\n"
7687   "      (declare (in) vec2 coord)\n"
7688   "      (declare (in) float bias))\n"
7689   "    ()))\n"
7690   "(function texture2DProj\n"
7691   "  (signature vec4\n"
7692   "    (parameters\n"
7693   "      (declare (in) sampler2D sampler)\n"
7694   "      (declare (in) vec3 coord)\n"
7695   "      (declare (in) float bias))\n"
7696   "    ())\n"
7697   "  (signature vec4\n"
7698   "    (parameters\n"
7699   "      (declare (in) sampler2D sampler)\n"
7700   "      (declare (in) vec4 coord)\n"
7701   "      (declare (in) float bias))\n"
7702   "    ()))\n"
7703   "(function textureCube\n"
7704   "  (signature vec4\n"
7705   "    (parameters\n"
7706   "      (declare (in) samplerCube sampler)\n"
7707   "      (declare (in) vec3 coord)\n"
7708   "      (declare (in) float bias))\n"
7709   "    ())))"
7710;
7711static const char *functions_for_100_frag [] = {
7712   builtin_texture2D,
7713   builtin_texture2DProj,
7714   builtin_textureCube,
7715};
7716static const char prototypes_for_100_glsl[] =
7717   "(\n"
7718   "(function radians\n"
7719   "  (signature float\n"
7720   "    (parameters\n"
7721   "      (declare (in) float degrees))\n"
7722   "    ())\n"
7723   "  (signature vec2\n"
7724   "    (parameters\n"
7725   "      (declare (in) vec2 degrees))\n"
7726   "    ())\n"
7727   "  (signature vec3\n"
7728   "    (parameters\n"
7729   "      (declare (in) vec3 degrees))\n"
7730   "    ())\n"
7731   "  (signature vec4\n"
7732   "    (parameters\n"
7733   "      (declare (in) vec4 degrees))\n"
7734   "    ()))\n"
7735   "(function degrees\n"
7736   "  (signature float\n"
7737   "    (parameters\n"
7738   "      (declare (in) float radians))\n"
7739   "    ())\n"
7740   "  (signature vec2\n"
7741   "    (parameters\n"
7742   "      (declare (in) vec2 radians))\n"
7743   "    ())\n"
7744   "  (signature vec3\n"
7745   "    (parameters\n"
7746   "      (declare (in) vec3 radians))\n"
7747   "    ())\n"
7748   "  (signature vec4\n"
7749   "    (parameters\n"
7750   "      (declare (in) vec4 radians))\n"
7751   "    ()))\n"
7752   "(function sin\n"
7753   "  (signature float\n"
7754   "    (parameters\n"
7755   "      (declare (in) float angle))\n"
7756   "    ())\n"
7757   "  (signature vec2\n"
7758   "    (parameters\n"
7759   "      (declare (in) vec2 angle))\n"
7760   "    ())\n"
7761   "  (signature vec3\n"
7762   "    (parameters\n"
7763   "      (declare (in) vec3 angle))\n"
7764   "    ())\n"
7765   "  (signature vec4\n"
7766   "    (parameters\n"
7767   "      (declare (in) vec4 angle))\n"
7768   "    ()))\n"
7769   "(function cos\n"
7770   "  (signature float\n"
7771   "    (parameters\n"
7772   "      (declare (in) float angle))\n"
7773   "    ())\n"
7774   "  (signature vec2\n"
7775   "    (parameters\n"
7776   "      (declare (in) vec2 angle))\n"
7777   "    ())\n"
7778   "  (signature vec3\n"
7779   "    (parameters\n"
7780   "      (declare (in) vec3 angle))\n"
7781   "    ())\n"
7782   "  (signature vec4\n"
7783   "    (parameters\n"
7784   "      (declare (in) vec4 angle))\n"
7785   "    ()))\n"
7786   "(function tan\n"
7787   "  (signature float\n"
7788   "    (parameters\n"
7789   "      (declare (in) float angle))\n"
7790   "    ())\n"
7791   "  (signature vec2\n"
7792   "    (parameters\n"
7793   "      (declare (in) vec2 angle))\n"
7794   "    ())\n"
7795   "  (signature vec3\n"
7796   "    (parameters\n"
7797   "      (declare (in) vec3 angle))\n"
7798   "    ())\n"
7799   "  (signature vec4\n"
7800   "    (parameters\n"
7801   "      (declare (in) vec4 angle))\n"
7802   "    ()))\n"
7803   "(function asin\n"
7804   "  (signature float\n"
7805   "    (parameters\n"
7806   "      (declare (in) float angle))\n"
7807   "    ())\n"
7808   "  (signature vec2\n"
7809   "    (parameters\n"
7810   "      (declare (in) vec2 angle))\n"
7811   "    ())\n"
7812   "  (signature vec3\n"
7813   "    (parameters\n"
7814   "      (declare (in) vec3 angle))\n"
7815   "    ())\n"
7816   "  (signature vec4\n"
7817   "    (parameters\n"
7818   "      (declare (in) vec4 angle))\n"
7819   "    ()))\n"
7820   "(function acos\n"
7821   "  (signature float\n"
7822   "    (parameters\n"
7823   "      (declare (in) float angle))\n"
7824   "    ())\n"
7825   "  (signature vec2\n"
7826   "    (parameters\n"
7827   "      (declare (in) vec2 angle))\n"
7828   "    ())\n"
7829   "  (signature vec3\n"
7830   "    (parameters\n"
7831   "      (declare (in) vec3 angle))\n"
7832   "    ())\n"
7833   "  (signature vec4\n"
7834   "    (parameters\n"
7835   "      (declare (in) vec4 angle))\n"
7836   "    ()))\n"
7837   "(function atan\n"
7838   "  (signature float\n"
7839   "    (parameters\n"
7840   "      (declare (in) float y)\n"
7841   "      (declare (in) float x))\n"
7842   "    ())\n"
7843   "  (signature vec2\n"
7844   "    (parameters\n"
7845   "      (declare (in) vec2 y)\n"
7846   "      (declare (in) vec2 x))\n"
7847   "    ())\n"
7848   "  (signature vec3\n"
7849   "    (parameters\n"
7850   "      (declare (in) vec3 y)\n"
7851   "      (declare (in) vec3 x))\n"
7852   "    ())\n"
7853   "  (signature vec4\n"
7854   "    (parameters\n"
7855   "      (declare (in) vec4 y)\n"
7856   "      (declare (in) vec4 x))\n"
7857   "    ())\n"
7858   "  (signature float\n"
7859   "    (parameters\n"
7860   "      (declare (in) float y_over_x))\n"
7861   "    ())\n"
7862   "  (signature vec2\n"
7863   "    (parameters\n"
7864   "      (declare (in) vec2 y_over_x))\n"
7865   "    ())\n"
7866   "  (signature vec3\n"
7867   "    (parameters\n"
7868   "      (declare (in) vec3 y_over_x))\n"
7869   "    ())\n"
7870   "  (signature vec4\n"
7871   "    (parameters\n"
7872   "      (declare (in) vec4 y_over_x))\n"
7873   "    ()))\n"
7874   "(function pow\n"
7875   "  (signature float\n"
7876   "    (parameters\n"
7877   "      (declare (in) float x)\n"
7878   "      (declare (in) float y))\n"
7879   "    ())\n"
7880   "  (signature vec2\n"
7881   "    (parameters\n"
7882   "      (declare (in) vec2 x)\n"
7883   "      (declare (in) vec2 y))\n"
7884   "    ())\n"
7885   "  (signature vec3\n"
7886   "    (parameters\n"
7887   "      (declare (in) vec3 x)\n"
7888   "      (declare (in) vec3 y))\n"
7889   "    ())\n"
7890   "  (signature vec4\n"
7891   "    (parameters\n"
7892   "      (declare (in) vec4 x)\n"
7893   "      (declare (in) vec4 y))\n"
7894   "    ()))\n"
7895   "(function exp\n"
7896   "  (signature float\n"
7897   "    (parameters\n"
7898   "      (declare (in) float x))\n"
7899   "    ())\n"
7900   "  (signature vec2\n"
7901   "    (parameters\n"
7902   "      (declare (in) vec2 x))\n"
7903   "    ())\n"
7904   "  (signature vec3\n"
7905   "    (parameters\n"
7906   "      (declare (in) vec3 x))\n"
7907   "    ())\n"
7908   "  (signature vec4\n"
7909   "    (parameters\n"
7910   "      (declare (in) vec4 x))\n"
7911   "    ()))\n"
7912   "(function log\n"
7913   "  (signature float\n"
7914   "    (parameters\n"
7915   "      (declare (in) float x))\n"
7916   "    ())\n"
7917   "  (signature vec2\n"
7918   "    (parameters\n"
7919   "      (declare (in) vec2 x))\n"
7920   "    ())\n"
7921   "  (signature vec3\n"
7922   "    (parameters\n"
7923   "      (declare (in) vec3 x))\n"
7924   "    ())\n"
7925   "  (signature vec4\n"
7926   "    (parameters\n"
7927   "      (declare (in) vec4 x))\n"
7928   "    ()))\n"
7929   "(function exp2\n"
7930   "  (signature float\n"
7931   "    (parameters\n"
7932   "      (declare (in) float x))\n"
7933   "    ())\n"
7934   "  (signature vec2\n"
7935   "    (parameters\n"
7936   "      (declare (in) vec2 x))\n"
7937   "    ())\n"
7938   "  (signature vec3\n"
7939   "    (parameters\n"
7940   "      (declare (in) vec3 x))\n"
7941   "    ())\n"
7942   "  (signature vec4\n"
7943   "    (parameters\n"
7944   "      (declare (in) vec4 x))\n"
7945   "    ()))\n"
7946   "(function log2\n"
7947   "  (signature float\n"
7948   "    (parameters\n"
7949   "      (declare (in) float x))\n"
7950   "    ())\n"
7951   "  (signature vec2\n"
7952   "    (parameters\n"
7953   "      (declare (in) vec2 x))\n"
7954   "    ())\n"
7955   "  (signature vec3\n"
7956   "    (parameters\n"
7957   "      (declare (in) vec3 x))\n"
7958   "    ())\n"
7959   "  (signature vec4\n"
7960   "    (parameters\n"
7961   "      (declare (in) vec4 x))\n"
7962   "    ()))\n"
7963   "(function sqrt\n"
7964   "  (signature float\n"
7965   "    (parameters\n"
7966   "      (declare (in) float x))\n"
7967   "    ())\n"
7968   "  (signature vec2\n"
7969   "    (parameters\n"
7970   "      (declare (in) vec2 x))\n"
7971   "    ())\n"
7972   "  (signature vec3\n"
7973   "    (parameters\n"
7974   "      (declare (in) vec3 x))\n"
7975   "    ())\n"
7976   "  (signature vec4\n"
7977   "    (parameters\n"
7978   "      (declare (in) vec4 x))\n"
7979   "    ()))\n"
7980   "(function inversesqrt\n"
7981   "  (signature float\n"
7982   "    (parameters\n"
7983   "      (declare (in) float x))\n"
7984   "    ())\n"
7985   "  (signature vec2\n"
7986   "    (parameters\n"
7987   "      (declare (in) vec2 x))\n"
7988   "    ())\n"
7989   "  (signature vec3\n"
7990   "    (parameters\n"
7991   "      (declare (in) vec3 x))\n"
7992   "    ())\n"
7993   "  (signature vec4\n"
7994   "    (parameters\n"
7995   "      (declare (in) vec4 x))\n"
7996   "    ()))\n"
7997   "(function abs\n"
7998   "  (signature float\n"
7999   "    (parameters\n"
8000   "      (declare (in) float x))\n"
8001   "    ())\n"
8002   "  (signature vec2\n"
8003   "    (parameters\n"
8004   "      (declare (in) vec2 x))\n"
8005   "    ())\n"
8006   "  (signature vec3\n"
8007   "    (parameters\n"
8008   "      (declare (in) vec3 x))\n"
8009   "    ())\n"
8010   "  (signature vec4\n"
8011   "    (parameters\n"
8012   "      (declare (in) vec4 x))\n"
8013   "    ()))\n"
8014   "(function sign\n"
8015   "  (signature float\n"
8016   "    (parameters\n"
8017   "      (declare (in) float x))\n"
8018   "    ())\n"
8019   "  (signature vec2\n"
8020   "    (parameters\n"
8021   "      (declare (in) vec2 x))\n"
8022   "    ())\n"
8023   "  (signature vec3\n"
8024   "    (parameters\n"
8025   "      (declare (in) vec3 x))\n"
8026   "    ())\n"
8027   "  (signature vec4\n"
8028   "    (parameters\n"
8029   "      (declare (in) vec4 x))\n"
8030   "    ()))\n"
8031   "(function floor\n"
8032   "  (signature float\n"
8033   "    (parameters\n"
8034   "      (declare (in) float x))\n"
8035   "    ())\n"
8036   "  (signature vec2\n"
8037   "    (parameters\n"
8038   "      (declare (in) vec2 x))\n"
8039   "    ())\n"
8040   "  (signature vec3\n"
8041   "    (parameters\n"
8042   "      (declare (in) vec3 x))\n"
8043   "    ())\n"
8044   "  (signature vec4\n"
8045   "    (parameters\n"
8046   "      (declare (in) vec4 x))\n"
8047   "    ()))\n"
8048   "(function ceil\n"
8049   "  (signature float\n"
8050   "    (parameters\n"
8051   "      (declare (in) float x))\n"
8052   "    ())\n"
8053   "  (signature vec2\n"
8054   "    (parameters\n"
8055   "      (declare (in) vec2 x))\n"
8056   "    ())\n"
8057   "  (signature vec3\n"
8058   "    (parameters\n"
8059   "      (declare (in) vec3 x))\n"
8060   "    ())\n"
8061   "  (signature vec4\n"
8062   "    (parameters\n"
8063   "      (declare (in) vec4 x))\n"
8064   "    ()))\n"
8065   "(function fract\n"
8066   "  (signature float\n"
8067   "    (parameters\n"
8068   "      (declare (in) float x))\n"
8069   "    ())\n"
8070   "  (signature vec2\n"
8071   "    (parameters\n"
8072   "      (declare (in) vec2 x))\n"
8073   "    ())\n"
8074   "  (signature vec3\n"
8075   "    (parameters\n"
8076   "      (declare (in) vec3 x))\n"
8077   "    ())\n"
8078   "  (signature vec4\n"
8079   "    (parameters\n"
8080   "      (declare (in) vec4 x))\n"
8081   "    ()))\n"
8082   "(function mod\n"
8083   "  (signature float\n"
8084   "    (parameters\n"
8085   "      (declare (in) float x)\n"
8086   "      (declare (in) float y))\n"
8087   "    ())\n"
8088   "  (signature vec2\n"
8089   "    (parameters\n"
8090   "      (declare (in) vec2 x)\n"
8091   "      (declare (in) float y))\n"
8092   "    ())\n"
8093   "  (signature vec3\n"
8094   "    (parameters\n"
8095   "      (declare (in) vec3 x)\n"
8096   "      (declare (in) float y))\n"
8097   "    ())\n"
8098   "  (signature vec4\n"
8099   "    (parameters\n"
8100   "      (declare (in) vec4 x)\n"
8101   "      (declare (in) float y))\n"
8102   "    ())\n"
8103   "  (signature vec2\n"
8104   "    (parameters\n"
8105   "      (declare (in) vec2 x)\n"
8106   "      (declare (in) vec2 y))\n"
8107   "    ())\n"
8108   "  (signature vec3\n"
8109   "    (parameters\n"
8110   "      (declare (in) vec3 x)\n"
8111   "      (declare (in) vec3 y))\n"
8112   "    ())\n"
8113   "  (signature vec4\n"
8114   "    (parameters\n"
8115   "      (declare (in) vec4 x)\n"
8116   "      (declare (in) vec4 y))\n"
8117   "    ()))\n"
8118   "(function min\n"
8119   "  (signature float\n"
8120   "    (parameters\n"
8121   "      (declare (in) float x)\n"
8122   "      (declare (in) float y))\n"
8123   "    ())\n"
8124   "  (signature vec2\n"
8125   "    (parameters\n"
8126   "      (declare (in) vec2 x)\n"
8127   "      (declare (in) vec2 y))\n"
8128   "    ())\n"
8129   "  (signature vec3\n"
8130   "    (parameters\n"
8131   "      (declare (in) vec3 x)\n"
8132   "      (declare (in) vec3 y))\n"
8133   "    ())\n"
8134   "  (signature vec4\n"
8135   "    (parameters\n"
8136   "      (declare (in) vec4 x)\n"
8137   "      (declare (in) vec4 y))\n"
8138   "    ())\n"
8139   "  (signature vec2\n"
8140   "    (parameters\n"
8141   "      (declare (in) vec2 x)\n"
8142   "      (declare (in) float y))\n"
8143   "    ())\n"
8144   "  (signature vec3\n"
8145   "    (parameters\n"
8146   "      (declare (in) vec3 x)\n"
8147   "      (declare (in) float y))\n"
8148   "    ())\n"
8149   "  (signature vec4\n"
8150   "    (parameters\n"
8151   "      (declare (in) vec4 x)\n"
8152   "      (declare (in) float y))\n"
8153   "    ()))\n"
8154   "(function max\n"
8155   "  (signature float\n"
8156   "    (parameters\n"
8157   "      (declare (in) float x)\n"
8158   "      (declare (in) float y))\n"
8159   "    ())\n"
8160   "  (signature vec2\n"
8161   "    (parameters\n"
8162   "      (declare (in) vec2 x)\n"
8163   "      (declare (in) vec2 y))\n"
8164   "    ())\n"
8165   "  (signature vec3\n"
8166   "    (parameters\n"
8167   "      (declare (in) vec3 x)\n"
8168   "      (declare (in) vec3 y))\n"
8169   "    ())\n"
8170   "  (signature vec4\n"
8171   "    (parameters\n"
8172   "      (declare (in) vec4 x)\n"
8173   "      (declare (in) vec4 y))\n"
8174   "    ())\n"
8175   "  (signature vec2\n"
8176   "    (parameters\n"
8177   "      (declare (in) vec2 x)\n"
8178   "      (declare (in) float y))\n"
8179   "    ())\n"
8180   "  (signature vec3\n"
8181   "    (parameters\n"
8182   "      (declare (in) vec3 x)\n"
8183   "      (declare (in) float y))\n"
8184   "    ())\n"
8185   "  (signature vec4\n"
8186   "    (parameters\n"
8187   "      (declare (in) vec4 x)\n"
8188   "      (declare (in) float y))\n"
8189   "    ()))\n"
8190   "(function clamp\n"
8191   "  (signature float\n"
8192   "    (parameters\n"
8193   "      (declare (in) float x)\n"
8194   "      (declare (in) float minVal)\n"
8195   "      (declare (in) float maxVal))\n"
8196   "    ())\n"
8197   "  (signature vec2\n"
8198   "    (parameters\n"
8199   "      (declare (in) vec2 x)\n"
8200   "      (declare (in) vec2 minVal)\n"
8201   "      (declare (in) vec2 maxVal))\n"
8202   "    ())\n"
8203   "  (signature vec3\n"
8204   "    (parameters\n"
8205   "      (declare (in) vec3 x)\n"
8206   "      (declare (in) vec3 minVal)\n"
8207   "      (declare (in) vec3 maxVal))\n"
8208   "    ())\n"
8209   "  (signature vec4\n"
8210   "    (parameters\n"
8211   "      (declare (in) vec4 x)\n"
8212   "      (declare (in) vec4 minVal)\n"
8213   "      (declare (in) vec4 maxVal))\n"
8214   "    ())\n"
8215   "  (signature vec2\n"
8216   "    (parameters\n"
8217   "      (declare (in) vec2 x)\n"
8218   "      (declare (in) float minVal)\n"
8219   "      (declare (in) float maxVal))\n"
8220   "    ())\n"
8221   "  (signature vec3\n"
8222   "    (parameters\n"
8223   "      (declare (in) vec3 x)\n"
8224   "      (declare (in) float minVal)\n"
8225   "      (declare (in) float maxVal))\n"
8226   "    ())\n"
8227   "  (signature vec4\n"
8228   "    (parameters\n"
8229   "      (declare (in) vec4 x)\n"
8230   "      (declare (in) float minVal)\n"
8231   "      (declare (in) float maxVal))\n"
8232   "    ()))\n"
8233   "(function mix\n"
8234   "  (signature float\n"
8235   "    (parameters\n"
8236   "      (declare (in) float x)\n"
8237   "      (declare (in) float y)\n"
8238   "      (declare (in) float a))\n"
8239   "    ())\n"
8240   "  (signature vec2\n"
8241   "    (parameters\n"
8242   "      (declare (in) vec2 x)\n"
8243   "      (declare (in) vec2 y)\n"
8244   "      (declare (in) vec2 a))\n"
8245   "    ())\n"
8246   "  (signature vec3\n"
8247   "    (parameters\n"
8248   "      (declare (in) vec3 x)\n"
8249   "      (declare (in) vec3 y)\n"
8250   "      (declare (in) vec3 a))\n"
8251   "    ())\n"
8252   "  (signature vec4\n"
8253   "    (parameters\n"
8254   "      (declare (in) vec4 x)\n"
8255   "      (declare (in) vec4 y)\n"
8256   "      (declare (in) vec4 a))\n"
8257   "    ())\n"
8258   "  (signature vec2\n"
8259   "    (parameters\n"
8260   "      (declare (in) vec2 x)\n"
8261   "      (declare (in) vec2 y)\n"
8262   "      (declare (in) float a))\n"
8263   "    ())\n"
8264   "  (signature vec3\n"
8265   "    (parameters\n"
8266   "      (declare (in) vec3 x)\n"
8267   "      (declare (in) vec3 y)\n"
8268   "      (declare (in) float a))\n"
8269   "    ())\n"
8270   "  (signature vec4\n"
8271   "    (parameters\n"
8272   "      (declare (in) vec4 x)\n"
8273   "      (declare (in) vec4 y)\n"
8274   "      (declare (in) float a))\n"
8275   "    ()))\n"
8276   "(function step\n"
8277   "  (signature float\n"
8278   "    (parameters\n"
8279   "      (declare (in) float edge)\n"
8280   "      (declare (in) float x))\n"
8281   "    ())\n"
8282   "  (signature vec2\n"
8283   "    (parameters\n"
8284   "      (declare (in) vec2 edge)\n"
8285   "      (declare (in) vec2 x))\n"
8286   "    ())\n"
8287   "  (signature vec3\n"
8288   "    (parameters\n"
8289   "      (declare (in) vec3 edge)\n"
8290   "      (declare (in) vec3 x))\n"
8291   "    ())\n"
8292   "  (signature vec4\n"
8293   "    (parameters\n"
8294   "      (declare (in) vec4 edge)\n"
8295   "      (declare (in) vec4 x))\n"
8296   "    ())\n"
8297   "  (signature vec2\n"
8298   "    (parameters\n"
8299   "      (declare (in) float edge)\n"
8300   "      (declare (in) vec2 x))\n"
8301   "    ())\n"
8302   "  (signature vec3\n"
8303   "    (parameters\n"
8304   "      (declare (in) float edge)\n"
8305   "      (declare (in) vec3 x))\n"
8306   "    ())\n"
8307   "  (signature vec4\n"
8308   "    (parameters\n"
8309   "      (declare (in) float edge)\n"
8310   "      (declare (in) vec4 x))\n"
8311   "    ()))\n"
8312   "(function smoothstep\n"
8313   "  (signature float\n"
8314   "    (parameters\n"
8315   "      (declare (in) float edge0)\n"
8316   "      (declare (in) float edge1)\n"
8317   "      (declare (in) float x))\n"
8318   "    ())\n"
8319   "  (signature vec2\n"
8320   "    (parameters\n"
8321   "      (declare (in) vec2 edge0)\n"
8322   "      (declare (in) vec2 edge1)\n"
8323   "      (declare (in) vec2 x))\n"
8324   "    ())\n"
8325   "  (signature vec3\n"
8326   "    (parameters\n"
8327   "      (declare (in) vec3 edge0)\n"
8328   "      (declare (in) vec3 edge1)\n"
8329   "      (declare (in) vec3 x))\n"
8330   "    ())\n"
8331   "  (signature vec4\n"
8332   "    (parameters\n"
8333   "      (declare (in) vec4 edge0)\n"
8334   "      (declare (in) vec4 edge1)\n"
8335   "      (declare (in) vec4 x))\n"
8336   "    ())\n"
8337   "  (signature vec2\n"
8338   "    (parameters\n"
8339   "      (declare (in) float edge0)\n"
8340   "      (declare (in) float edge1)\n"
8341   "      (declare (in) vec2 x))\n"
8342   "    ())\n"
8343   "  (signature vec3\n"
8344   "    (parameters\n"
8345   "      (declare (in) float edge0)\n"
8346   "      (declare (in) float edge1)\n"
8347   "      (declare (in) vec3 x))\n"
8348   "    ())\n"
8349   "  (signature vec4\n"
8350   "    (parameters\n"
8351   "      (declare (in) float edge0)\n"
8352   "      (declare (in) float edge1)\n"
8353   "      (declare (in) vec4 x))\n"
8354   "    ()))\n"
8355   "(function length\n"
8356   "  (signature float\n"
8357   "    (parameters\n"
8358   "      (declare (in) float x))\n"
8359   "    ())\n"
8360   "  (signature float\n"
8361   "    (parameters\n"
8362   "      (declare (in) vec2 x))\n"
8363   "    ())\n"
8364   "  (signature float\n"
8365   "    (parameters\n"
8366   "      (declare (in) vec3 x))\n"
8367   "    ())\n"
8368   "  (signature float\n"
8369   "    (parameters\n"
8370   "      (declare (in) vec4 x))\n"
8371   "    ()))\n"
8372   "(function distance\n"
8373   "  (signature float\n"
8374   "    (parameters\n"
8375   "      (declare (in) float p0)\n"
8376   "      (declare (in) float p1))\n"
8377   "    ())\n"
8378   "  (signature float\n"
8379   "    (parameters\n"
8380   "      (declare (in) vec2 p0)\n"
8381   "      (declare (in) vec2 p1))\n"
8382   "    ())\n"
8383   "  (signature float\n"
8384   "    (parameters\n"
8385   "      (declare (in) vec3 p0)\n"
8386   "      (declare (in) vec3 p1))\n"
8387   "    ())\n"
8388   "  (signature float\n"
8389   "    (parameters\n"
8390   "      (declare (in) vec4 p0)\n"
8391   "      (declare (in) vec4 p1))\n"
8392   "    ()))\n"
8393   "(function dot\n"
8394   "  (signature float\n"
8395   "    (parameters\n"
8396   "      (declare (in) float x)\n"
8397   "      (declare (in) float y))\n"
8398   "    ())\n"
8399   "  (signature float\n"
8400   "    (parameters\n"
8401   "      (declare (in) vec2 x)\n"
8402   "      (declare (in) vec2 y))\n"
8403   "    ())\n"
8404   "  (signature float\n"
8405   "    (parameters\n"
8406   "      (declare (in) vec3 x)\n"
8407   "      (declare (in) vec3 y))\n"
8408   "    ())\n"
8409   "  (signature float\n"
8410   "    (parameters\n"
8411   "      (declare (in) vec4 x)\n"
8412   "      (declare (in) vec4 y))\n"
8413   "    ()))\n"
8414   "(function cross\n"
8415   "  (signature vec3\n"
8416   "    (parameters\n"
8417   "      (declare (in) vec3 x)\n"
8418   "      (declare (in) vec3 y))\n"
8419   "    ()))\n"
8420   "(function normalize\n"
8421   "  (signature float\n"
8422   "    (parameters\n"
8423   "      (declare (in) float x))\n"
8424   "    ())\n"
8425   "  (signature vec2\n"
8426   "    (parameters\n"
8427   "      (declare (in) vec2 x))\n"
8428   "    ())\n"
8429   "  (signature vec3\n"
8430   "    (parameters\n"
8431   "      (declare (in) vec3 x))\n"
8432   "    ())\n"
8433   "  (signature vec4\n"
8434   "    (parameters\n"
8435   "      (declare (in) vec4 x))\n"
8436   "    ()))\n"
8437   "(function faceforward\n"
8438   "  (signature float\n"
8439   "    (parameters\n"
8440   "      (declare (in) float N)\n"
8441   "      (declare (in) float I)\n"
8442   "      (declare (in) float Nref))\n"
8443   "    ())\n"
8444   "  (signature vec2\n"
8445   "    (parameters\n"
8446   "      (declare (in) vec2 N)\n"
8447   "      (declare (in) vec2 I)\n"
8448   "      (declare (in) vec2 Nref))\n"
8449   "    ())\n"
8450   "  (signature vec3\n"
8451   "    (parameters\n"
8452   "      (declare (in) vec3 N)\n"
8453   "      (declare (in) vec3 I)\n"
8454   "      (declare (in) vec3 Nref))\n"
8455   "    ())\n"
8456   "  (signature vec4\n"
8457   "    (parameters\n"
8458   "      (declare (in) vec4 N)\n"
8459   "      (declare (in) vec4 I)\n"
8460   "      (declare (in) vec4 Nref))\n"
8461   "    ()))\n"
8462   "(function reflect\n"
8463   "  (signature float\n"
8464   "    (parameters\n"
8465   "      (declare (in) float I)\n"
8466   "      (declare (in) float N))\n"
8467   "    ())\n"
8468   "  (signature vec2\n"
8469   "    (parameters\n"
8470   "      (declare (in) vec2 I)\n"
8471   "      (declare (in) vec2 N))\n"
8472   "    ())\n"
8473   "  (signature vec3\n"
8474   "    (parameters\n"
8475   "      (declare (in) vec3 I)\n"
8476   "      (declare (in) vec3 N))\n"
8477   "    ())\n"
8478   "  (signature vec4\n"
8479   "    (parameters\n"
8480   "      (declare (in) vec4 I)\n"
8481   "      (declare (in) vec4 N))\n"
8482   "    ()))\n"
8483   "(function refract\n"
8484   "  (signature float\n"
8485   "    (parameters\n"
8486   "      (declare (in) float I)\n"
8487   "      (declare (in) float N)\n"
8488   "      (declare (in) float eta))\n"
8489   "    ())\n"
8490   "  (signature vec2\n"
8491   "    (parameters\n"
8492   "      (declare (in) vec2 I)\n"
8493   "      (declare (in) vec2 N)\n"
8494   "      (declare (in) float eta))\n"
8495   "    ())\n"
8496   "  (signature vec3\n"
8497   "    (parameters\n"
8498   "      (declare (in) vec3 I)\n"
8499   "      (declare (in) vec3 N)\n"
8500   "      (declare (in) float eta))\n"
8501   "    ())\n"
8502   "  (signature vec4\n"
8503   "    (parameters\n"
8504   "      (declare (in) vec4 I)\n"
8505   "      (declare (in) vec4 N)\n"
8506   "      (declare (in) float eta))\n"
8507   "    ()))\n"
8508   "(function matrixCompMult\n"
8509   "  (signature mat2\n"
8510   "    (parameters\n"
8511   "      (declare (in) mat2 x)\n"
8512   "      (declare (in) mat2 y))\n"
8513   "    ())\n"
8514   "  (signature mat3\n"
8515   "    (parameters\n"
8516   "      (declare (in) mat3 x)\n"
8517   "      (declare (in) mat3 y))\n"
8518   "    ())\n"
8519   "  (signature mat4\n"
8520   "    (parameters\n"
8521   "      (declare (in) mat4 x)\n"
8522   "      (declare (in) mat4 y))\n"
8523   "    ()))\n"
8524   "(function lessThan\n"
8525   "  (signature bvec2\n"
8526   "    (parameters\n"
8527   "      (declare (in) vec2 x)\n"
8528   "      (declare (in) vec2 y))\n"
8529   "    ())\n"
8530   "  (signature bvec3\n"
8531   "    (parameters\n"
8532   "      (declare (in) vec3 x)\n"
8533   "      (declare (in) vec3 y))\n"
8534   "    ())\n"
8535   "  (signature bvec4\n"
8536   "    (parameters\n"
8537   "      (declare (in) vec4 x)\n"
8538   "      (declare (in) vec4 y))\n"
8539   "    ())\n"
8540   "  (signature bvec2\n"
8541   "    (parameters\n"
8542   "      (declare (in) ivec2 x)\n"
8543   "      (declare (in) ivec2 y))\n"
8544   "    ())\n"
8545   "  (signature bvec3\n"
8546   "    (parameters\n"
8547   "      (declare (in) ivec3 x)\n"
8548   "      (declare (in) ivec3 y))\n"
8549   "    ())\n"
8550   "  (signature bvec4\n"
8551   "    (parameters\n"
8552   "      (declare (in) ivec4 x)\n"
8553   "      (declare (in) ivec4 y))\n"
8554   "    ()))\n"
8555   "(function lessThanEqual\n"
8556   "  (signature bvec2\n"
8557   "    (parameters\n"
8558   "      (declare (in) vec2 x)\n"
8559   "      (declare (in) vec2 y))\n"
8560   "    ())\n"
8561   "  (signature bvec3\n"
8562   "    (parameters\n"
8563   "      (declare (in) vec3 x)\n"
8564   "      (declare (in) vec3 y))\n"
8565   "    ())\n"
8566   "  (signature bvec4\n"
8567   "    (parameters\n"
8568   "      (declare (in) vec4 x)\n"
8569   "      (declare (in) vec4 y))\n"
8570   "    ())\n"
8571   "  (signature bvec2\n"
8572   "    (parameters\n"
8573   "      (declare (in) ivec2 x)\n"
8574   "      (declare (in) ivec2 y))\n"
8575   "    ())\n"
8576   "  (signature bvec3\n"
8577   "    (parameters\n"
8578   "      (declare (in) ivec3 x)\n"
8579   "      (declare (in) ivec3 y))\n"
8580   "    ())\n"
8581   "  (signature bvec4\n"
8582   "    (parameters\n"
8583   "      (declare (in) ivec4 x)\n"
8584   "      (declare (in) ivec4 y))\n"
8585   "    ()))\n"
8586   "(function greaterThan\n"
8587   "  (signature bvec2\n"
8588   "    (parameters\n"
8589   "      (declare (in) vec2 x)\n"
8590   "      (declare (in) vec2 y))\n"
8591   "    ())\n"
8592   "  (signature bvec3\n"
8593   "    (parameters\n"
8594   "      (declare (in) vec3 x)\n"
8595   "      (declare (in) vec3 y))\n"
8596   "    ())\n"
8597   "  (signature bvec4\n"
8598   "    (parameters\n"
8599   "      (declare (in) vec4 x)\n"
8600   "      (declare (in) vec4 y))\n"
8601   "    ())\n"
8602   "  (signature bvec2\n"
8603   "    (parameters\n"
8604   "      (declare (in) ivec2 x)\n"
8605   "      (declare (in) ivec2 y))\n"
8606   "    ())\n"
8607   "  (signature bvec3\n"
8608   "    (parameters\n"
8609   "      (declare (in) ivec3 x)\n"
8610   "      (declare (in) ivec3 y))\n"
8611   "    ())\n"
8612   "  (signature bvec4\n"
8613   "    (parameters\n"
8614   "      (declare (in) ivec4 x)\n"
8615   "      (declare (in) ivec4 y))\n"
8616   "    ()))\n"
8617   "(function greaterThanEqual\n"
8618   "  (signature bvec2\n"
8619   "    (parameters\n"
8620   "      (declare (in) vec2 x)\n"
8621   "      (declare (in) vec2 y))\n"
8622   "    ())\n"
8623   "  (signature bvec3\n"
8624   "    (parameters\n"
8625   "      (declare (in) vec3 x)\n"
8626   "      (declare (in) vec3 y))\n"
8627   "    ())\n"
8628   "  (signature bvec4\n"
8629   "    (parameters\n"
8630   "      (declare (in) vec4 x)\n"
8631   "      (declare (in) vec4 y))\n"
8632   "    ())\n"
8633   "  (signature bvec2\n"
8634   "    (parameters\n"
8635   "      (declare (in) ivec2 x)\n"
8636   "      (declare (in) ivec2 y))\n"
8637   "    ())\n"
8638   "  (signature bvec3\n"
8639   "    (parameters\n"
8640   "      (declare (in) ivec3 x)\n"
8641   "      (declare (in) ivec3 y))\n"
8642   "    ())\n"
8643   "  (signature bvec4\n"
8644   "    (parameters\n"
8645   "      (declare (in) ivec4 x)\n"
8646   "      (declare (in) ivec4 y))\n"
8647   "    ()))\n"
8648   "(function equal\n"
8649   "  (signature bvec2\n"
8650   "    (parameters\n"
8651   "      (declare (in) vec2 x)\n"
8652   "      (declare (in) vec2 y))\n"
8653   "    ())\n"
8654   "  (signature bvec3\n"
8655   "    (parameters\n"
8656   "      (declare (in) vec3 x)\n"
8657   "      (declare (in) vec3 y))\n"
8658   "    ())\n"
8659   "  (signature bvec4\n"
8660   "    (parameters\n"
8661   "      (declare (in) vec4 x)\n"
8662   "      (declare (in) vec4 y))\n"
8663   "    ())\n"
8664   "  (signature bvec2\n"
8665   "    (parameters\n"
8666   "      (declare (in) ivec2 x)\n"
8667   "      (declare (in) ivec2 y))\n"
8668   "    ())\n"
8669   "  (signature bvec3\n"
8670   "    (parameters\n"
8671   "      (declare (in) ivec3 x)\n"
8672   "      (declare (in) ivec3 y))\n"
8673   "    ())\n"
8674   "  (signature bvec4\n"
8675   "    (parameters\n"
8676   "      (declare (in) ivec4 x)\n"
8677   "      (declare (in) ivec4 y))\n"
8678   "    ())\n"
8679   "  (signature bvec2\n"
8680   "    (parameters\n"
8681   "      (declare (in) bvec2 x)\n"
8682   "      (declare (in) bvec2 y))\n"
8683   "    ())\n"
8684   "  (signature bvec3\n"
8685   "    (parameters\n"
8686   "      (declare (in) bvec3 x)\n"
8687   "      (declare (in) bvec3 y))\n"
8688   "    ())\n"
8689   "  (signature bvec4\n"
8690   "    (parameters\n"
8691   "      (declare (in) bvec4 x)\n"
8692   "      (declare (in) bvec4 y))\n"
8693   "    ()))\n"
8694   "(function notEqual\n"
8695   "  (signature bvec2\n"
8696   "    (parameters\n"
8697   "      (declare (in) vec2 x)\n"
8698   "      (declare (in) vec2 y))\n"
8699   "    ())\n"
8700   "  (signature bvec3\n"
8701   "    (parameters\n"
8702   "      (declare (in) vec3 x)\n"
8703   "      (declare (in) vec3 y))\n"
8704   "    ())\n"
8705   "  (signature bvec4\n"
8706   "    (parameters\n"
8707   "      (declare (in) vec4 x)\n"
8708   "      (declare (in) vec4 y))\n"
8709   "    ())\n"
8710   "  (signature bvec2\n"
8711   "    (parameters\n"
8712   "      (declare (in) ivec2 x)\n"
8713   "      (declare (in) ivec2 y))\n"
8714   "    ())\n"
8715   "  (signature bvec3\n"
8716   "    (parameters\n"
8717   "      (declare (in) ivec3 x)\n"
8718   "      (declare (in) ivec3 y))\n"
8719   "    ())\n"
8720   "  (signature bvec4\n"
8721   "    (parameters\n"
8722   "      (declare (in) ivec4 x)\n"
8723   "      (declare (in) ivec4 y))\n"
8724   "    ())\n"
8725   "  (signature bvec2\n"
8726   "    (parameters\n"
8727   "      (declare (in) bvec2 x)\n"
8728   "      (declare (in) bvec2 y))\n"
8729   "    ())\n"
8730   "  (signature bvec3\n"
8731   "    (parameters\n"
8732   "      (declare (in) bvec3 x)\n"
8733   "      (declare (in) bvec3 y))\n"
8734   "    ())\n"
8735   "  (signature bvec4\n"
8736   "    (parameters\n"
8737   "      (declare (in) bvec4 x)\n"
8738   "      (declare (in) bvec4 y))\n"
8739   "    ()))\n"
8740   "(function any\n"
8741   "  (signature bool\n"
8742   "    (parameters\n"
8743   "      (declare (in) bvec2 x))\n"
8744   "    ())\n"
8745   "  (signature bool\n"
8746   "    (parameters\n"
8747   "      (declare (in) bvec3 x))\n"
8748   "    ())\n"
8749   "  (signature bool\n"
8750   "    (parameters\n"
8751   "      (declare (in) bvec4 x))\n"
8752   "    ()))\n"
8753   "(function all\n"
8754   "  (signature bool\n"
8755   "    (parameters\n"
8756   "      (declare (in) bvec2 x))\n"
8757   "    ())\n"
8758   "  (signature bool\n"
8759   "    (parameters\n"
8760   "      (declare (in) bvec3 x))\n"
8761   "    ())\n"
8762   "  (signature bool\n"
8763   "    (parameters\n"
8764   "      (declare (in) bvec4 x))\n"
8765   "    ()))\n"
8766   "(function not\n"
8767   "  (signature bvec2\n"
8768   "    (parameters\n"
8769   "      (declare (in) bvec2 x))\n"
8770   "    ())\n"
8771   "  (signature bvec3\n"
8772   "    (parameters\n"
8773   "      (declare (in) bvec3 x))\n"
8774   "    ())\n"
8775   "  (signature bvec4\n"
8776   "    (parameters\n"
8777   "      (declare (in) bvec4 x))\n"
8778   "    ()))\n"
8779   "(function texture2D\n"
8780   "  (signature vec4\n"
8781   "    (parameters\n"
8782   "      (declare (in) sampler2D sampler)\n"
8783   "      (declare (in) vec2 coord))\n"
8784   "    ()))\n"
8785   "(function texture2DProj\n"
8786   "  (signature vec4\n"
8787   "    (parameters\n"
8788   "      (declare (in) sampler2D sampler)\n"
8789   "      (declare (in) vec3 coord))\n"
8790   "    ())\n"
8791   "  (signature vec4\n"
8792   "    (parameters\n"
8793   "      (declare (in) sampler2D sampler)\n"
8794   "      (declare (in) vec4 coord))\n"
8795   "    ()))\n"
8796   "(function textureCube\n"
8797   "  (signature vec4\n"
8798   "    (parameters\n"
8799   "      (declare (in) samplerCube sampler)\n"
8800   "      (declare (in) vec3 coord))\n"
8801   "    ())))"
8802;
8803static const char *functions_for_100_glsl [] = {
8804   builtin_abs,
8805   builtin_acos,
8806   builtin_all,
8807   builtin_any,
8808   builtin_asin,
8809   builtin_atan,
8810   builtin_ceil,
8811   builtin_clamp,
8812   builtin_cos,
8813   builtin_cross,
8814   builtin_degrees,
8815   builtin_distance,
8816   builtin_dot,
8817   builtin_equal,
8818   builtin_exp,
8819   builtin_exp2,
8820   builtin_faceforward,
8821   builtin_floor,
8822   builtin_fract,
8823   builtin_greaterThan,
8824   builtin_greaterThanEqual,
8825   builtin_inversesqrt,
8826   builtin_length,
8827   builtin_lessThan,
8828   builtin_lessThanEqual,
8829   builtin_log,
8830   builtin_log2,
8831   builtin_matrixCompMult,
8832   builtin_max,
8833   builtin_min,
8834   builtin_mix,
8835   builtin_mod,
8836   builtin_normalize,
8837   builtin_not,
8838   builtin_notEqual,
8839   builtin_pow,
8840   builtin_radians,
8841   builtin_reflect,
8842   builtin_refract,
8843   builtin_sign,
8844   builtin_sin,
8845   builtin_smoothstep,
8846   builtin_sqrt,
8847   builtin_step,
8848   builtin_tan,
8849   builtin_texture2D,
8850   builtin_texture2DProj,
8851   builtin_textureCube,
8852};
8853static const char prototypes_for_100_vert[] =
8854   "(\n"
8855   "(function texture2DLod\n"
8856   "  (signature vec4\n"
8857   "    (parameters\n"
8858   "      (declare (in) sampler2D sampler)\n"
8859   "      (declare (in) vec2 coord)\n"
8860   "      (declare (in) float lod))\n"
8861   "    ()))\n"
8862   "(function texture2DProjLod\n"
8863   "  (signature vec4\n"
8864   "    (parameters\n"
8865   "      (declare (in) sampler2D sampler)\n"
8866   "      (declare (in) vec3 coord)\n"
8867   "      (declare (in) float lod))\n"
8868   "    ())\n"
8869   "  (signature vec4\n"
8870   "    (parameters\n"
8871   "      (declare (in) sampler2D sampler)\n"
8872   "      (declare (in) vec4 coord)\n"
8873   "      (declare (in) float lod))\n"
8874   "    ()))\n"
8875   "(function textureCubeLod\n"
8876   "  (signature vec4\n"
8877   "    (parameters\n"
8878   "      (declare (in) samplerCube sampler)\n"
8879   "      (declare (in) vec3 coord)\n"
8880   "      (declare (in) float lod))\n"
8881   "    ())))"
8882;
8883static const char *functions_for_100_vert [] = {
8884   builtin_texture2DLod,
8885   builtin_texture2DProjLod,
8886   builtin_textureCubeLod,
8887};
8888static const char prototypes_for_110_frag[] =
8889   "(\n"
8890   "(function texture1D\n"
8891   "  (signature vec4\n"
8892   "    (parameters\n"
8893   "      (declare (in) sampler1D sampler)\n"
8894   "      (declare (in) float coord)\n"
8895   "      (declare (in) float bias))\n"
8896   "    ()))\n"
8897   "(function texture1DProj\n"
8898   "  (signature vec4\n"
8899   "    (parameters\n"
8900   "      (declare (in) sampler1D sampler)\n"
8901   "      (declare (in) vec2 coord)\n"
8902   "      (declare (in) float bias))\n"
8903   "    ())\n"
8904   "  (signature vec4\n"
8905   "    (parameters\n"
8906   "      (declare (in) sampler1D sampler)\n"
8907   "      (declare (in) vec4 coord)\n"
8908   "      (declare (in) float bias))\n"
8909   "    ()))\n"
8910   "(function texture2D\n"
8911   "  (signature vec4\n"
8912   "    (parameters\n"
8913   "      (declare (in) sampler2D sampler)\n"
8914   "      (declare (in) vec2 coord)\n"
8915   "      (declare (in) float bias))\n"
8916   "    ()))\n"
8917   "(function texture2DProj\n"
8918   "  (signature vec4\n"
8919   "    (parameters\n"
8920   "      (declare (in) sampler2D sampler)\n"
8921   "      (declare (in) vec3 coord)\n"
8922   "      (declare (in) float bias))\n"
8923   "    ())\n"
8924   "  (signature vec4\n"
8925   "    (parameters\n"
8926   "      (declare (in) sampler2D sampler)\n"
8927   "      (declare (in) vec4 coord)\n"
8928   "      (declare (in) float bias))\n"
8929   "    ()))\n"
8930   "(function texture3D\n"
8931   "  (signature vec4\n"
8932   "    (parameters\n"
8933   "      (declare (in) sampler3D sampler)\n"
8934   "      (declare (in) vec3 coord)\n"
8935   "      (declare (in) float bias))\n"
8936   "    ()))\n"
8937   "(function texture3DProj\n"
8938   "  (signature vec4\n"
8939   "    (parameters\n"
8940   "      (declare (in) sampler3D sampler)\n"
8941   "      (declare (in) vec4 coord)\n"
8942   "      (declare (in) float bias))\n"
8943   "    ()))\n"
8944   "(function textureCube\n"
8945   "  (signature vec4\n"
8946   "    (parameters\n"
8947   "      (declare (in) samplerCube sampler)\n"
8948   "      (declare (in) vec3 coord)\n"
8949   "      (declare (in) float bias))\n"
8950   "    ()))\n"
8951   "(function shadow1D\n"
8952   "  (signature vec4\n"
8953   "    (parameters\n"
8954   "      (declare (in) sampler1DShadow sampler)\n"
8955   "      (declare (in) vec3 coord)\n"
8956   "      (declare (in) float bias))\n"
8957   "    ()))\n"
8958   "(function shadow2D\n"
8959   "  (signature vec4\n"
8960   "    (parameters\n"
8961   "      (declare (in) sampler2DShadow sampler)\n"
8962   "      (declare (in) vec3 coord)\n"
8963   "      (declare (in) float bias))\n"
8964   "    ()))\n"
8965   "(function shadow1DProj\n"
8966   "  (signature vec4\n"
8967   "    (parameters\n"
8968   "      (declare (in) sampler1DShadow sampler)\n"
8969   "      (declare (in) vec4 coord)\n"
8970   "      (declare (in) float bias))\n"
8971   "    ()))\n"
8972   "(function shadow2DProj\n"
8973   "  (signature vec4\n"
8974   "    (parameters\n"
8975   "      (declare (in) sampler2DShadow sampler)\n"
8976   "      (declare (in) vec4 coord)\n"
8977   "      (declare (in) float bias))\n"
8978   "    ()))\n"
8979   "(function dFdx\n"
8980   "  (signature float\n"
8981   "    (parameters\n"
8982   "      (declare (in) float p))\n"
8983   "    ())\n"
8984   "  (signature vec2\n"
8985   "    (parameters\n"
8986   "      (declare (in) vec2 p))\n"
8987   "    ())\n"
8988   "  (signature vec3\n"
8989   "    (parameters\n"
8990   "      (declare (in) vec3 p))\n"
8991   "    ())\n"
8992   "  (signature vec4\n"
8993   "    (parameters\n"
8994   "      (declare (in) vec4 p))\n"
8995   "    ()))\n"
8996   "(function dFdy\n"
8997   "  (signature float\n"
8998   "    (parameters\n"
8999   "      (declare (in) float p))\n"
9000   "    ())\n"
9001   "  (signature vec2\n"
9002   "    (parameters\n"
9003   "      (declare (in) vec2 p))\n"
9004   "    ())\n"
9005   "  (signature vec3\n"
9006   "    (parameters\n"
9007   "      (declare (in) vec3 p))\n"
9008   "    ())\n"
9009   "  (signature vec4\n"
9010   "    (parameters\n"
9011   "      (declare (in) vec4 p))\n"
9012   "    ()))\n"
9013   "(function fwidth\n"
9014   "  (signature float\n"
9015   "    (parameters\n"
9016   "      (declare (in) float p))\n"
9017   "    ())\n"
9018   "  (signature vec2\n"
9019   "    (parameters\n"
9020   "      (declare (in) vec2 p))\n"
9021   "    ())\n"
9022   "  (signature vec3\n"
9023   "    (parameters\n"
9024   "      (declare (in) vec3 p))\n"
9025   "    ())\n"
9026   "  (signature vec4\n"
9027   "    (parameters\n"
9028   "      (declare (in) vec4 p))\n"
9029   "    ())))"
9030;
9031static const char *functions_for_110_frag [] = {
9032   builtin_dFdx,
9033   builtin_dFdy,
9034   builtin_fwidth,
9035   builtin_shadow1D,
9036   builtin_shadow1DProj,
9037   builtin_shadow2D,
9038   builtin_shadow2DProj,
9039   builtin_texture1D,
9040   builtin_texture1DProj,
9041   builtin_texture2D,
9042   builtin_texture2DProj,
9043   builtin_texture3D,
9044   builtin_texture3DProj,
9045   builtin_textureCube,
9046};
9047static const char prototypes_for_110_glsl[] =
9048   "(\n"
9049   "(function radians\n"
9050   "  (signature float\n"
9051   "    (parameters\n"
9052   "      (declare (in) float degrees))\n"
9053   "    ())\n"
9054   "  (signature vec2\n"
9055   "    (parameters\n"
9056   "      (declare (in) vec2 degrees))\n"
9057   "    ())\n"
9058   "  (signature vec3\n"
9059   "    (parameters\n"
9060   "      (declare (in) vec3 degrees))\n"
9061   "    ())\n"
9062   "  (signature vec4\n"
9063   "    (parameters\n"
9064   "      (declare (in) vec4 degrees))\n"
9065   "    ()))\n"
9066   "(function degrees\n"
9067   "  (signature float\n"
9068   "    (parameters\n"
9069   "      (declare (in) float radians))\n"
9070   "    ())\n"
9071   "  (signature vec2\n"
9072   "    (parameters\n"
9073   "      (declare (in) vec2 radians))\n"
9074   "    ())\n"
9075   "  (signature vec3\n"
9076   "    (parameters\n"
9077   "      (declare (in) vec3 radians))\n"
9078   "    ())\n"
9079   "  (signature vec4\n"
9080   "    (parameters\n"
9081   "      (declare (in) vec4 radians))\n"
9082   "    ()))\n"
9083   "(function sin\n"
9084   "  (signature float\n"
9085   "    (parameters\n"
9086   "      (declare (in) float angle))\n"
9087   "    ())\n"
9088   "  (signature vec2\n"
9089   "    (parameters\n"
9090   "      (declare (in) vec2 angle))\n"
9091   "    ())\n"
9092   "  (signature vec3\n"
9093   "    (parameters\n"
9094   "      (declare (in) vec3 angle))\n"
9095   "    ())\n"
9096   "  (signature vec4\n"
9097   "    (parameters\n"
9098   "      (declare (in) vec4 angle))\n"
9099   "    ()))\n"
9100   "(function cos\n"
9101   "  (signature float\n"
9102   "    (parameters\n"
9103   "      (declare (in) float angle))\n"
9104   "    ())\n"
9105   "  (signature vec2\n"
9106   "    (parameters\n"
9107   "      (declare (in) vec2 angle))\n"
9108   "    ())\n"
9109   "  (signature vec3\n"
9110   "    (parameters\n"
9111   "      (declare (in) vec3 angle))\n"
9112   "    ())\n"
9113   "  (signature vec4\n"
9114   "    (parameters\n"
9115   "      (declare (in) vec4 angle))\n"
9116   "    ()))\n"
9117   "(function tan\n"
9118   "  (signature float\n"
9119   "    (parameters\n"
9120   "      (declare (in) float angle))\n"
9121   "    ())\n"
9122   "  (signature vec2\n"
9123   "    (parameters\n"
9124   "      (declare (in) vec2 angle))\n"
9125   "    ())\n"
9126   "  (signature vec3\n"
9127   "    (parameters\n"
9128   "      (declare (in) vec3 angle))\n"
9129   "    ())\n"
9130   "  (signature vec4\n"
9131   "    (parameters\n"
9132   "      (declare (in) vec4 angle))\n"
9133   "    ()))\n"
9134   "(function asin\n"
9135   "  (signature float\n"
9136   "    (parameters\n"
9137   "      (declare (in) float angle))\n"
9138   "    ())\n"
9139   "  (signature vec2\n"
9140   "    (parameters\n"
9141   "      (declare (in) vec2 angle))\n"
9142   "    ())\n"
9143   "  (signature vec3\n"
9144   "    (parameters\n"
9145   "      (declare (in) vec3 angle))\n"
9146   "    ())\n"
9147   "  (signature vec4\n"
9148   "    (parameters\n"
9149   "      (declare (in) vec4 angle))\n"
9150   "    ()))\n"
9151   "(function acos\n"
9152   "  (signature float\n"
9153   "    (parameters\n"
9154   "      (declare (in) float angle))\n"
9155   "    ())\n"
9156   "  (signature vec2\n"
9157   "    (parameters\n"
9158   "      (declare (in) vec2 angle))\n"
9159   "    ())\n"
9160   "  (signature vec3\n"
9161   "    (parameters\n"
9162   "      (declare (in) vec3 angle))\n"
9163   "    ())\n"
9164   "  (signature vec4\n"
9165   "    (parameters\n"
9166   "      (declare (in) vec4 angle))\n"
9167   "    ()))\n"
9168   "(function atan\n"
9169   "  (signature float\n"
9170   "    (parameters\n"
9171   "      (declare (in) float y)\n"
9172   "      (declare (in) float x))\n"
9173   "    ())\n"
9174   "  (signature vec2\n"
9175   "    (parameters\n"
9176   "      (declare (in) vec2 y)\n"
9177   "      (declare (in) vec2 x))\n"
9178   "    ())\n"
9179   "  (signature vec3\n"
9180   "    (parameters\n"
9181   "      (declare (in) vec3 y)\n"
9182   "      (declare (in) vec3 x))\n"
9183   "    ())\n"
9184   "  (signature vec4\n"
9185   "    (parameters\n"
9186   "      (declare (in) vec4 y)\n"
9187   "      (declare (in) vec4 x))\n"
9188   "    ())\n"
9189   "  (signature float\n"
9190   "    (parameters\n"
9191   "      (declare (in) float y_over_x))\n"
9192   "    ())\n"
9193   "  (signature vec2\n"
9194   "    (parameters\n"
9195   "      (declare (in) vec2 y_over_x))\n"
9196   "    ())\n"
9197   "  (signature vec3\n"
9198   "    (parameters\n"
9199   "      (declare (in) vec3 y_over_x))\n"
9200   "    ())\n"
9201   "  (signature vec4\n"
9202   "    (parameters\n"
9203   "      (declare (in) vec4 y_over_x))\n"
9204   "    ()))\n"
9205   "(function pow\n"
9206   "  (signature float\n"
9207   "    (parameters\n"
9208   "      (declare (in) float x)\n"
9209   "      (declare (in) float y))\n"
9210   "    ())\n"
9211   "  (signature vec2\n"
9212   "    (parameters\n"
9213   "      (declare (in) vec2 x)\n"
9214   "      (declare (in) vec2 y))\n"
9215   "    ())\n"
9216   "  (signature vec3\n"
9217   "    (parameters\n"
9218   "      (declare (in) vec3 x)\n"
9219   "      (declare (in) vec3 y))\n"
9220   "    ())\n"
9221   "  (signature vec4\n"
9222   "    (parameters\n"
9223   "      (declare (in) vec4 x)\n"
9224   "      (declare (in) vec4 y))\n"
9225   "    ()))\n"
9226   "(function exp\n"
9227   "  (signature float\n"
9228   "    (parameters\n"
9229   "      (declare (in) float x))\n"
9230   "    ())\n"
9231   "  (signature vec2\n"
9232   "    (parameters\n"
9233   "      (declare (in) vec2 x))\n"
9234   "    ())\n"
9235   "  (signature vec3\n"
9236   "    (parameters\n"
9237   "      (declare (in) vec3 x))\n"
9238   "    ())\n"
9239   "  (signature vec4\n"
9240   "    (parameters\n"
9241   "      (declare (in) vec4 x))\n"
9242   "    ()))\n"
9243   "(function log\n"
9244   "  (signature float\n"
9245   "    (parameters\n"
9246   "      (declare (in) float x))\n"
9247   "    ())\n"
9248   "  (signature vec2\n"
9249   "    (parameters\n"
9250   "      (declare (in) vec2 x))\n"
9251   "    ())\n"
9252   "  (signature vec3\n"
9253   "    (parameters\n"
9254   "      (declare (in) vec3 x))\n"
9255   "    ())\n"
9256   "  (signature vec4\n"
9257   "    (parameters\n"
9258   "      (declare (in) vec4 x))\n"
9259   "    ()))\n"
9260   "(function exp2\n"
9261   "  (signature float\n"
9262   "    (parameters\n"
9263   "      (declare (in) float x))\n"
9264   "    ())\n"
9265   "  (signature vec2\n"
9266   "    (parameters\n"
9267   "      (declare (in) vec2 x))\n"
9268   "    ())\n"
9269   "  (signature vec3\n"
9270   "    (parameters\n"
9271   "      (declare (in) vec3 x))\n"
9272   "    ())\n"
9273   "  (signature vec4\n"
9274   "    (parameters\n"
9275   "      (declare (in) vec4 x))\n"
9276   "    ()))\n"
9277   "(function log2\n"
9278   "  (signature float\n"
9279   "    (parameters\n"
9280   "      (declare (in) float x))\n"
9281   "    ())\n"
9282   "  (signature vec2\n"
9283   "    (parameters\n"
9284   "      (declare (in) vec2 x))\n"
9285   "    ())\n"
9286   "  (signature vec3\n"
9287   "    (parameters\n"
9288   "      (declare (in) vec3 x))\n"
9289   "    ())\n"
9290   "  (signature vec4\n"
9291   "    (parameters\n"
9292   "      (declare (in) vec4 x))\n"
9293   "    ()))\n"
9294   "(function sqrt\n"
9295   "  (signature float\n"
9296   "    (parameters\n"
9297   "      (declare (in) float x))\n"
9298   "    ())\n"
9299   "  (signature vec2\n"
9300   "    (parameters\n"
9301   "      (declare (in) vec2 x))\n"
9302   "    ())\n"
9303   "  (signature vec3\n"
9304   "    (parameters\n"
9305   "      (declare (in) vec3 x))\n"
9306   "    ())\n"
9307   "  (signature vec4\n"
9308   "    (parameters\n"
9309   "      (declare (in) vec4 x))\n"
9310   "    ()))\n"
9311   "(function inversesqrt\n"
9312   "  (signature float\n"
9313   "    (parameters\n"
9314   "      (declare (in) float x))\n"
9315   "    ())\n"
9316   "  (signature vec2\n"
9317   "    (parameters\n"
9318   "      (declare (in) vec2 x))\n"
9319   "    ())\n"
9320   "  (signature vec3\n"
9321   "    (parameters\n"
9322   "      (declare (in) vec3 x))\n"
9323   "    ())\n"
9324   "  (signature vec4\n"
9325   "    (parameters\n"
9326   "      (declare (in) vec4 x))\n"
9327   "    ()))\n"
9328   "(function abs\n"
9329   "  (signature float\n"
9330   "    (parameters\n"
9331   "      (declare (in) float x))\n"
9332   "    ())\n"
9333   "  (signature vec2\n"
9334   "    (parameters\n"
9335   "      (declare (in) vec2 x))\n"
9336   "    ())\n"
9337   "  (signature vec3\n"
9338   "    (parameters\n"
9339   "      (declare (in) vec3 x))\n"
9340   "    ())\n"
9341   "  (signature vec4\n"
9342   "    (parameters\n"
9343   "      (declare (in) vec4 x))\n"
9344   "    ()))\n"
9345   "(function sign\n"
9346   "  (signature float\n"
9347   "    (parameters\n"
9348   "      (declare (in) float x))\n"
9349   "    ())\n"
9350   "  (signature vec2\n"
9351   "    (parameters\n"
9352   "      (declare (in) vec2 x))\n"
9353   "    ())\n"
9354   "  (signature vec3\n"
9355   "    (parameters\n"
9356   "      (declare (in) vec3 x))\n"
9357   "    ())\n"
9358   "  (signature vec4\n"
9359   "    (parameters\n"
9360   "      (declare (in) vec4 x))\n"
9361   "    ()))\n"
9362   "(function floor\n"
9363   "  (signature float\n"
9364   "    (parameters\n"
9365   "      (declare (in) float x))\n"
9366   "    ())\n"
9367   "  (signature vec2\n"
9368   "    (parameters\n"
9369   "      (declare (in) vec2 x))\n"
9370   "    ())\n"
9371   "  (signature vec3\n"
9372   "    (parameters\n"
9373   "      (declare (in) vec3 x))\n"
9374   "    ())\n"
9375   "  (signature vec4\n"
9376   "    (parameters\n"
9377   "      (declare (in) vec4 x))\n"
9378   "    ()))\n"
9379   "(function ceil\n"
9380   "  (signature float\n"
9381   "    (parameters\n"
9382   "      (declare (in) float x))\n"
9383   "    ())\n"
9384   "  (signature vec2\n"
9385   "    (parameters\n"
9386   "      (declare (in) vec2 x))\n"
9387   "    ())\n"
9388   "  (signature vec3\n"
9389   "    (parameters\n"
9390   "      (declare (in) vec3 x))\n"
9391   "    ())\n"
9392   "  (signature vec4\n"
9393   "    (parameters\n"
9394   "      (declare (in) vec4 x))\n"
9395   "    ()))\n"
9396   "(function fract\n"
9397   "  (signature float\n"
9398   "    (parameters\n"
9399   "      (declare (in) float x))\n"
9400   "    ())\n"
9401   "  (signature vec2\n"
9402   "    (parameters\n"
9403   "      (declare (in) vec2 x))\n"
9404   "    ())\n"
9405   "  (signature vec3\n"
9406   "    (parameters\n"
9407   "      (declare (in) vec3 x))\n"
9408   "    ())\n"
9409   "  (signature vec4\n"
9410   "    (parameters\n"
9411   "      (declare (in) vec4 x))\n"
9412   "    ()))\n"
9413   "(function mod\n"
9414   "  (signature float\n"
9415   "    (parameters\n"
9416   "      (declare (in) float x)\n"
9417   "      (declare (in) float y))\n"
9418   "    ())\n"
9419   "  (signature vec2\n"
9420   "    (parameters\n"
9421   "      (declare (in) vec2 x)\n"
9422   "      (declare (in) float y))\n"
9423   "    ())\n"
9424   "  (signature vec3\n"
9425   "    (parameters\n"
9426   "      (declare (in) vec3 x)\n"
9427   "      (declare (in) float y))\n"
9428   "    ())\n"
9429   "  (signature vec4\n"
9430   "    (parameters\n"
9431   "      (declare (in) vec4 x)\n"
9432   "      (declare (in) float y))\n"
9433   "    ())\n"
9434   "  (signature vec2\n"
9435   "    (parameters\n"
9436   "      (declare (in) vec2 x)\n"
9437   "      (declare (in) vec2 y))\n"
9438   "    ())\n"
9439   "  (signature vec3\n"
9440   "    (parameters\n"
9441   "      (declare (in) vec3 x)\n"
9442   "      (declare (in) vec3 y))\n"
9443   "    ())\n"
9444   "  (signature vec4\n"
9445   "    (parameters\n"
9446   "      (declare (in) vec4 x)\n"
9447   "      (declare (in) vec4 y))\n"
9448   "    ()))\n"
9449   "(function min\n"
9450   "  (signature float\n"
9451   "    (parameters\n"
9452   "      (declare (in) float x)\n"
9453   "      (declare (in) float y))\n"
9454   "    ())\n"
9455   "  (signature vec2\n"
9456   "    (parameters\n"
9457   "      (declare (in) vec2 x)\n"
9458   "      (declare (in) vec2 y))\n"
9459   "    ())\n"
9460   "  (signature vec3\n"
9461   "    (parameters\n"
9462   "      (declare (in) vec3 x)\n"
9463   "      (declare (in) vec3 y))\n"
9464   "    ())\n"
9465   "  (signature vec4\n"
9466   "    (parameters\n"
9467   "      (declare (in) vec4 x)\n"
9468   "      (declare (in) vec4 y))\n"
9469   "    ())\n"
9470   "  (signature vec2\n"
9471   "    (parameters\n"
9472   "      (declare (in) vec2 x)\n"
9473   "      (declare (in) float y))\n"
9474   "    ())\n"
9475   "  (signature vec3\n"
9476   "    (parameters\n"
9477   "      (declare (in) vec3 x)\n"
9478   "      (declare (in) float y))\n"
9479   "    ())\n"
9480   "  (signature vec4\n"
9481   "    (parameters\n"
9482   "      (declare (in) vec4 x)\n"
9483   "      (declare (in) float y))\n"
9484   "    ()))\n"
9485   "(function max\n"
9486   "  (signature float\n"
9487   "    (parameters\n"
9488   "      (declare (in) float x)\n"
9489   "      (declare (in) float y))\n"
9490   "    ())\n"
9491   "  (signature vec2\n"
9492   "    (parameters\n"
9493   "      (declare (in) vec2 x)\n"
9494   "      (declare (in) vec2 y))\n"
9495   "    ())\n"
9496   "  (signature vec3\n"
9497   "    (parameters\n"
9498   "      (declare (in) vec3 x)\n"
9499   "      (declare (in) vec3 y))\n"
9500   "    ())\n"
9501   "  (signature vec4\n"
9502   "    (parameters\n"
9503   "      (declare (in) vec4 x)\n"
9504   "      (declare (in) vec4 y))\n"
9505   "    ())\n"
9506   "  (signature vec2\n"
9507   "    (parameters\n"
9508   "      (declare (in) vec2 x)\n"
9509   "      (declare (in) float y))\n"
9510   "    ())\n"
9511   "  (signature vec3\n"
9512   "    (parameters\n"
9513   "      (declare (in) vec3 x)\n"
9514   "      (declare (in) float y))\n"
9515   "    ())\n"
9516   "  (signature vec4\n"
9517   "    (parameters\n"
9518   "      (declare (in) vec4 x)\n"
9519   "      (declare (in) float y))\n"
9520   "    ()))\n"
9521   "(function clamp\n"
9522   "  (signature float\n"
9523   "    (parameters\n"
9524   "      (declare (in) float x)\n"
9525   "      (declare (in) float minVal)\n"
9526   "      (declare (in) float maxVal))\n"
9527   "    ())\n"
9528   "  (signature vec2\n"
9529   "    (parameters\n"
9530   "      (declare (in) vec2 x)\n"
9531   "      (declare (in) vec2 minVal)\n"
9532   "      (declare (in) vec2 maxVal))\n"
9533   "    ())\n"
9534   "  (signature vec3\n"
9535   "    (parameters\n"
9536   "      (declare (in) vec3 x)\n"
9537   "      (declare (in) vec3 minVal)\n"
9538   "      (declare (in) vec3 maxVal))\n"
9539   "    ())\n"
9540   "  (signature vec4\n"
9541   "    (parameters\n"
9542   "      (declare (in) vec4 x)\n"
9543   "      (declare (in) vec4 minVal)\n"
9544   "      (declare (in) vec4 maxVal))\n"
9545   "    ())\n"
9546   "  (signature vec2\n"
9547   "    (parameters\n"
9548   "      (declare (in) vec2 x)\n"
9549   "      (declare (in) float minVal)\n"
9550   "      (declare (in) float maxVal))\n"
9551   "    ())\n"
9552   "  (signature vec3\n"
9553   "    (parameters\n"
9554   "      (declare (in) vec3 x)\n"
9555   "      (declare (in) float minVal)\n"
9556   "      (declare (in) float maxVal))\n"
9557   "    ())\n"
9558   "  (signature vec4\n"
9559   "    (parameters\n"
9560   "      (declare (in) vec4 x)\n"
9561   "      (declare (in) float minVal)\n"
9562   "      (declare (in) float maxVal))\n"
9563   "    ()))\n"
9564   "(function mix\n"
9565   "  (signature float\n"
9566   "    (parameters\n"
9567   "      (declare (in) float x)\n"
9568   "      (declare (in) float y)\n"
9569   "      (declare (in) float a))\n"
9570   "    ())\n"
9571   "  (signature vec2\n"
9572   "    (parameters\n"
9573   "      (declare (in) vec2 x)\n"
9574   "      (declare (in) vec2 y)\n"
9575   "      (declare (in) vec2 a))\n"
9576   "    ())\n"
9577   "  (signature vec3\n"
9578   "    (parameters\n"
9579   "      (declare (in) vec3 x)\n"
9580   "      (declare (in) vec3 y)\n"
9581   "      (declare (in) vec3 a))\n"
9582   "    ())\n"
9583   "  (signature vec4\n"
9584   "    (parameters\n"
9585   "      (declare (in) vec4 x)\n"
9586   "      (declare (in) vec4 y)\n"
9587   "      (declare (in) vec4 a))\n"
9588   "    ())\n"
9589   "  (signature vec2\n"
9590   "    (parameters\n"
9591   "      (declare (in) vec2 x)\n"
9592   "      (declare (in) vec2 y)\n"
9593   "      (declare (in) float a))\n"
9594   "    ())\n"
9595   "  (signature vec3\n"
9596   "    (parameters\n"
9597   "      (declare (in) vec3 x)\n"
9598   "      (declare (in) vec3 y)\n"
9599   "      (declare (in) float a))\n"
9600   "    ())\n"
9601   "  (signature vec4\n"
9602   "    (parameters\n"
9603   "      (declare (in) vec4 x)\n"
9604   "      (declare (in) vec4 y)\n"
9605   "      (declare (in) float a))\n"
9606   "    ()))\n"
9607   "(function step\n"
9608   "  (signature float\n"
9609   "    (parameters\n"
9610   "      (declare (in) float edge)\n"
9611   "      (declare (in) float x))\n"
9612   "    ())\n"
9613   "  (signature vec2\n"
9614   "    (parameters\n"
9615   "      (declare (in) vec2 edge)\n"
9616   "      (declare (in) vec2 x))\n"
9617   "    ())\n"
9618   "  (signature vec3\n"
9619   "    (parameters\n"
9620   "      (declare (in) vec3 edge)\n"
9621   "      (declare (in) vec3 x))\n"
9622   "    ())\n"
9623   "  (signature vec4\n"
9624   "    (parameters\n"
9625   "      (declare (in) vec4 edge)\n"
9626   "      (declare (in) vec4 x))\n"
9627   "    ())\n"
9628   "  (signature vec2\n"
9629   "    (parameters\n"
9630   "      (declare (in) float edge)\n"
9631   "      (declare (in) vec2 x))\n"
9632   "    ())\n"
9633   "  (signature vec3\n"
9634   "    (parameters\n"
9635   "      (declare (in) float edge)\n"
9636   "      (declare (in) vec3 x))\n"
9637   "    ())\n"
9638   "  (signature vec4\n"
9639   "    (parameters\n"
9640   "      (declare (in) float edge)\n"
9641   "      (declare (in) vec4 x))\n"
9642   "    ()))\n"
9643   "(function smoothstep\n"
9644   "  (signature float\n"
9645   "    (parameters\n"
9646   "      (declare (in) float edge0)\n"
9647   "      (declare (in) float edge1)\n"
9648   "      (declare (in) float x))\n"
9649   "    ())\n"
9650   "  (signature vec2\n"
9651   "    (parameters\n"
9652   "      (declare (in) vec2 edge0)\n"
9653   "      (declare (in) vec2 edge1)\n"
9654   "      (declare (in) vec2 x))\n"
9655   "    ())\n"
9656   "  (signature vec3\n"
9657   "    (parameters\n"
9658   "      (declare (in) vec3 edge0)\n"
9659   "      (declare (in) vec3 edge1)\n"
9660   "      (declare (in) vec3 x))\n"
9661   "    ())\n"
9662   "  (signature vec4\n"
9663   "    (parameters\n"
9664   "      (declare (in) vec4 edge0)\n"
9665   "      (declare (in) vec4 edge1)\n"
9666   "      (declare (in) vec4 x))\n"
9667   "    ())\n"
9668   "  (signature vec2\n"
9669   "    (parameters\n"
9670   "      (declare (in) float edge0)\n"
9671   "      (declare (in) float edge1)\n"
9672   "      (declare (in) vec2 x))\n"
9673   "    ())\n"
9674   "  (signature vec3\n"
9675   "    (parameters\n"
9676   "      (declare (in) float edge0)\n"
9677   "      (declare (in) float edge1)\n"
9678   "      (declare (in) vec3 x))\n"
9679   "    ())\n"
9680   "  (signature vec4\n"
9681   "    (parameters\n"
9682   "      (declare (in) float edge0)\n"
9683   "      (declare (in) float edge1)\n"
9684   "      (declare (in) vec4 x))\n"
9685   "    ()))\n"
9686   "(function length\n"
9687   "  (signature float\n"
9688   "    (parameters\n"
9689   "      (declare (in) float x))\n"
9690   "    ())\n"
9691   "  (signature float\n"
9692   "    (parameters\n"
9693   "      (declare (in) vec2 x))\n"
9694   "    ())\n"
9695   "  (signature float\n"
9696   "    (parameters\n"
9697   "      (declare (in) vec3 x))\n"
9698   "    ())\n"
9699   "  (signature float\n"
9700   "    (parameters\n"
9701   "      (declare (in) vec4 x))\n"
9702   "    ()))\n"
9703   "(function distance\n"
9704   "  (signature float\n"
9705   "    (parameters\n"
9706   "      (declare (in) float p0)\n"
9707   "      (declare (in) float p1))\n"
9708   "    ())\n"
9709   "  (signature float\n"
9710   "    (parameters\n"
9711   "      (declare (in) vec2 p0)\n"
9712   "      (declare (in) vec2 p1))\n"
9713   "    ())\n"
9714   "  (signature float\n"
9715   "    (parameters\n"
9716   "      (declare (in) vec3 p0)\n"
9717   "      (declare (in) vec3 p1))\n"
9718   "    ())\n"
9719   "  (signature float\n"
9720   "    (parameters\n"
9721   "      (declare (in) vec4 p0)\n"
9722   "      (declare (in) vec4 p1))\n"
9723   "    ()))\n"
9724   "(function dot\n"
9725   "  (signature float\n"
9726   "    (parameters\n"
9727   "      (declare (in) float x)\n"
9728   "      (declare (in) float y))\n"
9729   "    ())\n"
9730   "  (signature float\n"
9731   "    (parameters\n"
9732   "      (declare (in) vec2 x)\n"
9733   "      (declare (in) vec2 y))\n"
9734   "    ())\n"
9735   "  (signature float\n"
9736   "    (parameters\n"
9737   "      (declare (in) vec3 x)\n"
9738   "      (declare (in) vec3 y))\n"
9739   "    ())\n"
9740   "  (signature float\n"
9741   "    (parameters\n"
9742   "      (declare (in) vec4 x)\n"
9743   "      (declare (in) vec4 y))\n"
9744   "    ()))\n"
9745   "(function cross\n"
9746   "  (signature vec3\n"
9747   "    (parameters\n"
9748   "      (declare (in) vec3 x)\n"
9749   "      (declare (in) vec3 y))\n"
9750   "    ()))\n"
9751   "(function normalize\n"
9752   "  (signature float\n"
9753   "    (parameters\n"
9754   "      (declare (in) float x))\n"
9755   "    ())\n"
9756   "  (signature vec2\n"
9757   "    (parameters\n"
9758   "      (declare (in) vec2 x))\n"
9759   "    ())\n"
9760   "  (signature vec3\n"
9761   "    (parameters\n"
9762   "      (declare (in) vec3 x))\n"
9763   "    ())\n"
9764   "  (signature vec4\n"
9765   "    (parameters\n"
9766   "      (declare (in) vec4 x))\n"
9767   "    ()))\n"
9768   "(function faceforward\n"
9769   "  (signature float\n"
9770   "    (parameters\n"
9771   "      (declare (in) float N)\n"
9772   "      (declare (in) float I)\n"
9773   "      (declare (in) float Nref))\n"
9774   "    ())\n"
9775   "  (signature vec2\n"
9776   "    (parameters\n"
9777   "      (declare (in) vec2 N)\n"
9778   "      (declare (in) vec2 I)\n"
9779   "      (declare (in) vec2 Nref))\n"
9780   "    ())\n"
9781   "  (signature vec3\n"
9782   "    (parameters\n"
9783   "      (declare (in) vec3 N)\n"
9784   "      (declare (in) vec3 I)\n"
9785   "      (declare (in) vec3 Nref))\n"
9786   "    ())\n"
9787   "  (signature vec4\n"
9788   "    (parameters\n"
9789   "      (declare (in) vec4 N)\n"
9790   "      (declare (in) vec4 I)\n"
9791   "      (declare (in) vec4 Nref))\n"
9792   "    ()))\n"
9793   "(function reflect\n"
9794   "  (signature float\n"
9795   "    (parameters\n"
9796   "      (declare (in) float I)\n"
9797   "      (declare (in) float N))\n"
9798   "    ())\n"
9799   "  (signature vec2\n"
9800   "    (parameters\n"
9801   "      (declare (in) vec2 I)\n"
9802   "      (declare (in) vec2 N))\n"
9803   "    ())\n"
9804   "  (signature vec3\n"
9805   "    (parameters\n"
9806   "      (declare (in) vec3 I)\n"
9807   "      (declare (in) vec3 N))\n"
9808   "    ())\n"
9809   "  (signature vec4\n"
9810   "    (parameters\n"
9811   "      (declare (in) vec4 I)\n"
9812   "      (declare (in) vec4 N))\n"
9813   "    ()))\n"
9814   "(function refract\n"
9815   "  (signature float\n"
9816   "    (parameters\n"
9817   "      (declare (in) float I)\n"
9818   "      (declare (in) float N)\n"
9819   "      (declare (in) float eta))\n"
9820   "    ())\n"
9821   "  (signature vec2\n"
9822   "    (parameters\n"
9823   "      (declare (in) vec2 I)\n"
9824   "      (declare (in) vec2 N)\n"
9825   "      (declare (in) float eta))\n"
9826   "    ())\n"
9827   "  (signature vec3\n"
9828   "    (parameters\n"
9829   "      (declare (in) vec3 I)\n"
9830   "      (declare (in) vec3 N)\n"
9831   "      (declare (in) float eta))\n"
9832   "    ())\n"
9833   "  (signature vec4\n"
9834   "    (parameters\n"
9835   "      (declare (in) vec4 I)\n"
9836   "      (declare (in) vec4 N)\n"
9837   "      (declare (in) float eta))\n"
9838   "    ()))\n"
9839   "(function matrixCompMult\n"
9840   "  (signature mat2\n"
9841   "    (parameters\n"
9842   "      (declare (in) mat2 x)\n"
9843   "      (declare (in) mat2 y))\n"
9844   "    ())\n"
9845   "  (signature mat3\n"
9846   "    (parameters\n"
9847   "      (declare (in) mat3 x)\n"
9848   "      (declare (in) mat3 y))\n"
9849   "    ())\n"
9850   "  (signature mat4\n"
9851   "    (parameters\n"
9852   "      (declare (in) mat4 x)\n"
9853   "      (declare (in) mat4 y))\n"
9854   "    ()))\n"
9855   "(function lessThan\n"
9856   "  (signature bvec2\n"
9857   "    (parameters\n"
9858   "      (declare (in) vec2 x)\n"
9859   "      (declare (in) vec2 y))\n"
9860   "    ())\n"
9861   "  (signature bvec3\n"
9862   "    (parameters\n"
9863   "      (declare (in) vec3 x)\n"
9864   "      (declare (in) vec3 y))\n"
9865   "    ())\n"
9866   "  (signature bvec4\n"
9867   "    (parameters\n"
9868   "      (declare (in) vec4 x)\n"
9869   "      (declare (in) vec4 y))\n"
9870   "    ())\n"
9871   "  (signature bvec2\n"
9872   "    (parameters\n"
9873   "      (declare (in) ivec2 x)\n"
9874   "      (declare (in) ivec2 y))\n"
9875   "    ())\n"
9876   "  (signature bvec3\n"
9877   "    (parameters\n"
9878   "      (declare (in) ivec3 x)\n"
9879   "      (declare (in) ivec3 y))\n"
9880   "    ())\n"
9881   "  (signature bvec4\n"
9882   "    (parameters\n"
9883   "      (declare (in) ivec4 x)\n"
9884   "      (declare (in) ivec4 y))\n"
9885   "    ()))\n"
9886   "(function lessThanEqual\n"
9887   "  (signature bvec2\n"
9888   "    (parameters\n"
9889   "      (declare (in) vec2 x)\n"
9890   "      (declare (in) vec2 y))\n"
9891   "    ())\n"
9892   "  (signature bvec3\n"
9893   "    (parameters\n"
9894   "      (declare (in) vec3 x)\n"
9895   "      (declare (in) vec3 y))\n"
9896   "    ())\n"
9897   "  (signature bvec4\n"
9898   "    (parameters\n"
9899   "      (declare (in) vec4 x)\n"
9900   "      (declare (in) vec4 y))\n"
9901   "    ())\n"
9902   "  (signature bvec2\n"
9903   "    (parameters\n"
9904   "      (declare (in) ivec2 x)\n"
9905   "      (declare (in) ivec2 y))\n"
9906   "    ())\n"
9907   "  (signature bvec3\n"
9908   "    (parameters\n"
9909   "      (declare (in) ivec3 x)\n"
9910   "      (declare (in) ivec3 y))\n"
9911   "    ())\n"
9912   "  (signature bvec4\n"
9913   "    (parameters\n"
9914   "      (declare (in) ivec4 x)\n"
9915   "      (declare (in) ivec4 y))\n"
9916   "    ()))\n"
9917   "(function greaterThan\n"
9918   "  (signature bvec2\n"
9919   "    (parameters\n"
9920   "      (declare (in) vec2 x)\n"
9921   "      (declare (in) vec2 y))\n"
9922   "    ())\n"
9923   "  (signature bvec3\n"
9924   "    (parameters\n"
9925   "      (declare (in) vec3 x)\n"
9926   "      (declare (in) vec3 y))\n"
9927   "    ())\n"
9928   "  (signature bvec4\n"
9929   "    (parameters\n"
9930   "      (declare (in) vec4 x)\n"
9931   "      (declare (in) vec4 y))\n"
9932   "    ())\n"
9933   "  (signature bvec2\n"
9934   "    (parameters\n"
9935   "      (declare (in) ivec2 x)\n"
9936   "      (declare (in) ivec2 y))\n"
9937   "    ())\n"
9938   "  (signature bvec3\n"
9939   "    (parameters\n"
9940   "      (declare (in) ivec3 x)\n"
9941   "      (declare (in) ivec3 y))\n"
9942   "    ())\n"
9943   "  (signature bvec4\n"
9944   "    (parameters\n"
9945   "      (declare (in) ivec4 x)\n"
9946   "      (declare (in) ivec4 y))\n"
9947   "    ()))\n"
9948   "(function greaterThanEqual\n"
9949   "  (signature bvec2\n"
9950   "    (parameters\n"
9951   "      (declare (in) vec2 x)\n"
9952   "      (declare (in) vec2 y))\n"
9953   "    ())\n"
9954   "  (signature bvec3\n"
9955   "    (parameters\n"
9956   "      (declare (in) vec3 x)\n"
9957   "      (declare (in) vec3 y))\n"
9958   "    ())\n"
9959   "  (signature bvec4\n"
9960   "    (parameters\n"
9961   "      (declare (in) vec4 x)\n"
9962   "      (declare (in) vec4 y))\n"
9963   "    ())\n"
9964   "  (signature bvec2\n"
9965   "    (parameters\n"
9966   "      (declare (in) ivec2 x)\n"
9967   "      (declare (in) ivec2 y))\n"
9968   "    ())\n"
9969   "  (signature bvec3\n"
9970   "    (parameters\n"
9971   "      (declare (in) ivec3 x)\n"
9972   "      (declare (in) ivec3 y))\n"
9973   "    ())\n"
9974   "  (signature bvec4\n"
9975   "    (parameters\n"
9976   "      (declare (in) ivec4 x)\n"
9977   "      (declare (in) ivec4 y))\n"
9978   "    ()))\n"
9979   "(function equal\n"
9980   "  (signature bvec2\n"
9981   "    (parameters\n"
9982   "      (declare (in) vec2 x)\n"
9983   "      (declare (in) vec2 y))\n"
9984   "    ())\n"
9985   "  (signature bvec3\n"
9986   "    (parameters\n"
9987   "      (declare (in) vec3 x)\n"
9988   "      (declare (in) vec3 y))\n"
9989   "    ())\n"
9990   "  (signature bvec4\n"
9991   "    (parameters\n"
9992   "      (declare (in) vec4 x)\n"
9993   "      (declare (in) vec4 y))\n"
9994   "    ())\n"
9995   "  (signature bvec2\n"
9996   "    (parameters\n"
9997   "      (declare (in) ivec2 x)\n"
9998   "      (declare (in) ivec2 y))\n"
9999   "    ())\n"
10000   "  (signature bvec3\n"
10001   "    (parameters\n"
10002   "      (declare (in) ivec3 x)\n"
10003   "      (declare (in) ivec3 y))\n"
10004   "    ())\n"
10005   "  (signature bvec4\n"
10006   "    (parameters\n"
10007   "      (declare (in) ivec4 x)\n"
10008   "      (declare (in) ivec4 y))\n"
10009   "    ())\n"
10010   "  (signature bvec2\n"
10011   "    (parameters\n"
10012   "      (declare (in) bvec2 x)\n"
10013   "      (declare (in) bvec2 y))\n"
10014   "    ())\n"
10015   "  (signature bvec3\n"
10016   "    (parameters\n"
10017   "      (declare (in) bvec3 x)\n"
10018   "      (declare (in) bvec3 y))\n"
10019   "    ())\n"
10020   "  (signature bvec4\n"
10021   "    (parameters\n"
10022   "      (declare (in) bvec4 x)\n"
10023   "      (declare (in) bvec4 y))\n"
10024   "    ()))\n"
10025   "(function notEqual\n"
10026   "  (signature bvec2\n"
10027   "    (parameters\n"
10028   "      (declare (in) vec2 x)\n"
10029   "      (declare (in) vec2 y))\n"
10030   "    ())\n"
10031   "  (signature bvec3\n"
10032   "    (parameters\n"
10033   "      (declare (in) vec3 x)\n"
10034   "      (declare (in) vec3 y))\n"
10035   "    ())\n"
10036   "  (signature bvec4\n"
10037   "    (parameters\n"
10038   "      (declare (in) vec4 x)\n"
10039   "      (declare (in) vec4 y))\n"
10040   "    ())\n"
10041   "  (signature bvec2\n"
10042   "    (parameters\n"
10043   "      (declare (in) ivec2 x)\n"
10044   "      (declare (in) ivec2 y))\n"
10045   "    ())\n"
10046   "  (signature bvec3\n"
10047   "    (parameters\n"
10048   "      (declare (in) ivec3 x)\n"
10049   "      (declare (in) ivec3 y))\n"
10050   "    ())\n"
10051   "  (signature bvec4\n"
10052   "    (parameters\n"
10053   "      (declare (in) ivec4 x)\n"
10054   "      (declare (in) ivec4 y))\n"
10055   "    ())\n"
10056   "  (signature bvec2\n"
10057   "    (parameters\n"
10058   "      (declare (in) bvec2 x)\n"
10059   "      (declare (in) bvec2 y))\n"
10060   "    ())\n"
10061   "  (signature bvec3\n"
10062   "    (parameters\n"
10063   "      (declare (in) bvec3 x)\n"
10064   "      (declare (in) bvec3 y))\n"
10065   "    ())\n"
10066   "  (signature bvec4\n"
10067   "    (parameters\n"
10068   "      (declare (in) bvec4 x)\n"
10069   "      (declare (in) bvec4 y))\n"
10070   "    ()))\n"
10071   "(function any\n"
10072   "  (signature bool\n"
10073   "    (parameters\n"
10074   "      (declare (in) bvec2 x))\n"
10075   "    ())\n"
10076   "  (signature bool\n"
10077   "    (parameters\n"
10078   "      (declare (in) bvec3 x))\n"
10079   "    ())\n"
10080   "  (signature bool\n"
10081   "    (parameters\n"
10082   "      (declare (in) bvec4 x))\n"
10083   "    ()))\n"
10084   "(function all\n"
10085   "  (signature bool\n"
10086   "    (parameters\n"
10087   "      (declare (in) bvec2 x))\n"
10088   "    ())\n"
10089   "  (signature bool\n"
10090   "    (parameters\n"
10091   "      (declare (in) bvec3 x))\n"
10092   "    ())\n"
10093   "  (signature bool\n"
10094   "    (parameters\n"
10095   "      (declare (in) bvec4 x))\n"
10096   "    ()))\n"
10097   "(function not\n"
10098   "  (signature bvec2\n"
10099   "    (parameters\n"
10100   "      (declare (in) bvec2 x))\n"
10101   "    ())\n"
10102   "  (signature bvec3\n"
10103   "    (parameters\n"
10104   "      (declare (in) bvec3 x))\n"
10105   "    ())\n"
10106   "  (signature bvec4\n"
10107   "    (parameters\n"
10108   "      (declare (in) bvec4 x))\n"
10109   "    ()))\n"
10110   "(function texture1D\n"
10111   "  (signature vec4\n"
10112   "    (parameters\n"
10113   "      (declare (in) sampler1D sampler)\n"
10114   "      (declare (in) float coord))\n"
10115   "    ()))\n"
10116   "(function texture1DProj\n"
10117   "  (signature vec4\n"
10118   "    (parameters\n"
10119   "      (declare (in) sampler1D sampler)\n"
10120   "      (declare (in) vec2 coord))\n"
10121   "    ())\n"
10122   "  (signature vec4\n"
10123   "    (parameters\n"
10124   "      (declare (in) sampler1D sampler)\n"
10125   "      (declare (in) vec4 coord))\n"
10126   "    ()))\n"
10127   "(function texture2D\n"
10128   "  (signature vec4\n"
10129   "    (parameters\n"
10130   "      (declare (in) sampler2D sampler)\n"
10131   "      (declare (in) vec2 coord))\n"
10132   "    ()))\n"
10133   "(function texture2DProj\n"
10134   "  (signature vec4\n"
10135   "    (parameters\n"
10136   "      (declare (in) sampler2D sampler)\n"
10137   "      (declare (in) vec3 coord))\n"
10138   "    ())\n"
10139   "  (signature vec4\n"
10140   "    (parameters\n"
10141   "      (declare (in) sampler2D sampler)\n"
10142   "      (declare (in) vec4 coord))\n"
10143   "    ()))\n"
10144   "(function texture3D\n"
10145   "  (signature vec4\n"
10146   "    (parameters\n"
10147   "      (declare (in) sampler3D sampler)\n"
10148   "      (declare (in) vec3 coord))\n"
10149   "    ()))\n"
10150   "(function texture3DProj\n"
10151   "  (signature vec4\n"
10152   "    (parameters\n"
10153   "      (declare (in) sampler3D sampler)\n"
10154   "      (declare (in) vec4 coord))\n"
10155   "    ()))\n"
10156   "(function textureCube\n"
10157   "  (signature vec4\n"
10158   "    (parameters\n"
10159   "      (declare (in) samplerCube sampler)\n"
10160   "      (declare (in) vec3 coord))\n"
10161   "    ()))\n"
10162   "(function shadow1D\n"
10163   "  (signature vec4\n"
10164   "    (parameters\n"
10165   "      (declare (in) sampler1DShadow sampler)\n"
10166   "      (declare (in) vec3 coord))\n"
10167   "    ()))\n"
10168   "(function shadow2D\n"
10169   "  (signature vec4\n"
10170   "    (parameters\n"
10171   "      (declare (in) sampler2DShadow sampler)\n"
10172   "      (declare (in) vec3 coord))\n"
10173   "    ()))\n"
10174   "(function shadow1DProj\n"
10175   "  (signature vec4\n"
10176   "    (parameters\n"
10177   "      (declare (in) sampler1DShadow sampler)\n"
10178   "      (declare (in) vec4 coord))\n"
10179   "    ()))\n"
10180   "(function shadow2DProj\n"
10181   "  (signature vec4\n"
10182   "    (parameters\n"
10183   "      (declare (in) sampler2DShadow sampler)\n"
10184   "      (declare (in) vec4 coord))\n"
10185   "    ()))\n"
10186   "(function noise1\n"
10187   "  (signature float\n"
10188   "    (parameters\n"
10189   "      (declare (in) float x))\n"
10190   "    ())\n"
10191   "  (signature float\n"
10192   "    (parameters\n"
10193   "      (declare (in) vec2 x))\n"
10194   "    ())\n"
10195   "  (signature float\n"
10196   "    (parameters\n"
10197   "      (declare (in) vec3 x))\n"
10198   "    ())\n"
10199   "  (signature float\n"
10200   "    (parameters\n"
10201   "      (declare (in) vec4 x))\n"
10202   "    ()))\n"
10203   "(function noise2\n"
10204   "  (signature vec2\n"
10205   "    (parameters\n"
10206   "      (declare (in) float x))\n"
10207   "    ())\n"
10208   "  (signature vec2\n"
10209   "    (parameters\n"
10210   "      (declare (in) vec2 x))\n"
10211   "    ())\n"
10212   "  (signature vec2\n"
10213   "    (parameters\n"
10214   "      (declare (in) vec3 x))\n"
10215   "    ())\n"
10216   "  (signature vec2\n"
10217   "    (parameters\n"
10218   "      (declare (in) vec4 x))\n"
10219   "    ()))\n"
10220   "(function noise3\n"
10221   "  (signature vec3\n"
10222   "    (parameters\n"
10223   "      (declare (in) float x))\n"
10224   "    ())\n"
10225   "  (signature vec3\n"
10226   "    (parameters\n"
10227   "      (declare (in) vec2 x))\n"
10228   "    ())\n"
10229   "  (signature vec3\n"
10230   "    (parameters\n"
10231   "      (declare (in) vec3 x))\n"
10232   "    ())\n"
10233   "  (signature vec3\n"
10234   "    (parameters\n"
10235   "      (declare (in) vec4 x))\n"
10236   "    ()))\n"
10237   "(function noise4\n"
10238   "  (signature vec4\n"
10239   "    (parameters\n"
10240   "      (declare (in) float x))\n"
10241   "    ())\n"
10242   "  (signature vec4\n"
10243   "    (parameters\n"
10244   "      (declare (in) vec2 x))\n"
10245   "    ())\n"
10246   "  (signature vec4\n"
10247   "    (parameters\n"
10248   "      (declare (in) vec3 x))\n"
10249   "    ())\n"
10250   "  (signature vec4\n"
10251   "    (parameters\n"
10252   "      (declare (in) vec4 x))\n"
10253   "    ())))"
10254;
10255static const char *functions_for_110_glsl [] = {
10256   builtin_abs,
10257   builtin_acos,
10258   builtin_all,
10259   builtin_any,
10260   builtin_asin,
10261   builtin_atan,
10262   builtin_ceil,
10263   builtin_clamp,
10264   builtin_cos,
10265   builtin_cross,
10266   builtin_degrees,
10267   builtin_distance,
10268   builtin_dot,
10269   builtin_equal,
10270   builtin_exp,
10271   builtin_exp2,
10272   builtin_faceforward,
10273   builtin_floor,
10274   builtin_fract,
10275   builtin_greaterThan,
10276   builtin_greaterThanEqual,
10277   builtin_inversesqrt,
10278   builtin_length,
10279   builtin_lessThan,
10280   builtin_lessThanEqual,
10281   builtin_log,
10282   builtin_log2,
10283   builtin_matrixCompMult,
10284   builtin_max,
10285   builtin_min,
10286   builtin_mix,
10287   builtin_mod,
10288   builtin_noise1,
10289   builtin_noise2,
10290   builtin_noise3,
10291   builtin_noise4,
10292   builtin_normalize,
10293   builtin_not,
10294   builtin_notEqual,
10295   builtin_pow,
10296   builtin_radians,
10297   builtin_reflect,
10298   builtin_refract,
10299   builtin_shadow1D,
10300   builtin_shadow1DProj,
10301   builtin_shadow2D,
10302   builtin_shadow2DProj,
10303   builtin_sign,
10304   builtin_sin,
10305   builtin_smoothstep,
10306   builtin_sqrt,
10307   builtin_step,
10308   builtin_tan,
10309   builtin_texture1D,
10310   builtin_texture1DProj,
10311   builtin_texture2D,
10312   builtin_texture2DProj,
10313   builtin_texture3D,
10314   builtin_texture3DProj,
10315   builtin_textureCube,
10316};
10317static const char prototypes_for_110_vert[] =
10318   "(\n"
10319   "(function ftransform\n"
10320   "  (signature vec4\n"
10321   "    (parameters)\n"
10322   "    ()))\n"
10323   "(function texture1DLod\n"
10324   "  (signature vec4\n"
10325   "    (parameters\n"
10326   "      (declare (in) sampler1D sampler)\n"
10327   "      (declare (in) float coord)\n"
10328   "      (declare (in) float lod))\n"
10329   "    ()))\n"
10330   "(function texture1DProjLod\n"
10331   "  (signature vec4\n"
10332   "    (parameters\n"
10333   "      (declare (in) sampler1D sampler)\n"
10334   "      (declare (in) vec2 coord)\n"
10335   "      (declare (in) float lod))\n"
10336   "    ())\n"
10337   "  (signature vec4\n"
10338   "    (parameters\n"
10339   "      (declare (in) sampler1D sampler)\n"
10340   "      (declare (in) vec4 coord)\n"
10341   "      (declare (in) float lod))\n"
10342   "    ()))\n"
10343   "(function texture2DLod\n"
10344   "  (signature vec4\n"
10345   "    (parameters\n"
10346   "      (declare (in) sampler2D sampler)\n"
10347   "      (declare (in) vec2 coord)\n"
10348   "      (declare (in) float lod))\n"
10349   "    ()))\n"
10350   "(function texture2DProjLod\n"
10351   "  (signature vec4\n"
10352   "    (parameters\n"
10353   "      (declare (in) sampler2D sampler)\n"
10354   "      (declare (in) vec3 coord)\n"
10355   "      (declare (in) float lod))\n"
10356   "    ())\n"
10357   "  (signature vec4\n"
10358   "    (parameters\n"
10359   "      (declare (in) sampler2D sampler)\n"
10360   "      (declare (in) vec4 coord)\n"
10361   "      (declare (in) float lod))\n"
10362   "    ()))\n"
10363   "(function texture3DLod\n"
10364   "  (signature vec4\n"
10365   "    (parameters\n"
10366   "      (declare (in) sampler3D sampler)\n"
10367   "      (declare (in) vec3 coord)\n"
10368   "      (declare (in) float lod))\n"
10369   "    ()))\n"
10370   "(function texture3DProjLod\n"
10371   "  (signature vec4\n"
10372   "    (parameters\n"
10373   "      (declare (in) sampler3D sampler)\n"
10374   "      (declare (in) vec4 coord)\n"
10375   "      (declare (in) float lod))\n"
10376   "    ()))\n"
10377   "(function textureCubeLod\n"
10378   "  (signature vec4\n"
10379   "    (parameters\n"
10380   "      (declare (in) samplerCube sampler)\n"
10381   "      (declare (in) vec3 coord)\n"
10382   "      (declare (in) float lod))\n"
10383   "    ()))\n"
10384   "(function shadow1DLod\n"
10385   "  (signature vec4\n"
10386   "    (parameters\n"
10387   "      (declare (in) sampler1DShadow sampler)\n"
10388   "      (declare (in) vec3 coord)\n"
10389   "      (declare (in) float lod))\n"
10390   "    ()))\n"
10391   "(function shadow2DLod\n"
10392   "  (signature vec4\n"
10393   "    (parameters\n"
10394   "      (declare (in) sampler2DShadow sampler)\n"
10395   "      (declare (in) vec3 coord)\n"
10396   "      (declare (in) float lod))\n"
10397   "    ()))\n"
10398   "(function shadow1DProjLod\n"
10399   "  (signature vec4\n"
10400   "    (parameters\n"
10401   "      (declare (in) sampler1DShadow sampler)\n"
10402   "      (declare (in) vec4 coord)\n"
10403   "      (declare (in) float lod))\n"
10404   "    ()))\n"
10405   "(function shadow2DProjLod\n"
10406   "  (signature vec4\n"
10407   "    (parameters\n"
10408   "      (declare (in) sampler2DShadow sampler)\n"
10409   "      (declare (in) vec4 coord)\n"
10410   "      (declare (in) float lod))\n"
10411   "    ())))"
10412;
10413static const char *functions_for_110_vert [] = {
10414   builtin_ftransform,
10415   builtin_shadow1DLod,
10416   builtin_shadow1DProjLod,
10417   builtin_shadow2DLod,
10418   builtin_shadow2DProjLod,
10419   builtin_texture1DLod,
10420   builtin_texture1DProjLod,
10421   builtin_texture2DLod,
10422   builtin_texture2DProjLod,
10423   builtin_texture3DLod,
10424   builtin_texture3DProjLod,
10425   builtin_textureCubeLod,
10426};
10427static const char prototypes_for_120_frag[] =
10428   "(\n"
10429   "(function texture1D\n"
10430   "  (signature vec4\n"
10431   "    (parameters\n"
10432   "      (declare (in) sampler1D sampler)\n"
10433   "      (declare (in) float coord)\n"
10434   "      (declare (in) float bias))\n"
10435   "    ()))\n"
10436   "(function texture1DProj\n"
10437   "  (signature vec4\n"
10438   "    (parameters\n"
10439   "      (declare (in) sampler1D sampler)\n"
10440   "      (declare (in) vec2 coord)\n"
10441   "      (declare (in) float bias))\n"
10442   "    ())\n"
10443   "  (signature vec4\n"
10444   "    (parameters\n"
10445   "      (declare (in) sampler1D sampler)\n"
10446   "      (declare (in) vec4 coord)\n"
10447   "      (declare (in) float bias))\n"
10448   "    ()))\n"
10449   "(function texture2D\n"
10450   "  (signature vec4\n"
10451   "    (parameters\n"
10452   "      (declare (in) sampler2D sampler)\n"
10453   "      (declare (in) vec2 coord)\n"
10454   "      (declare (in) float bias))\n"
10455   "    ()))\n"
10456   "(function texture2DProj\n"
10457   "  (signature vec4\n"
10458   "    (parameters\n"
10459   "      (declare (in) sampler2D sampler)\n"
10460   "      (declare (in) vec3 coord)\n"
10461   "      (declare (in) float bias))\n"
10462   "    ())\n"
10463   "  (signature vec4\n"
10464   "    (parameters\n"
10465   "      (declare (in) sampler2D sampler)\n"
10466   "      (declare (in) vec4 coord)\n"
10467   "      (declare (in) float bias))\n"
10468   "    ()))\n"
10469   "(function texture3D\n"
10470   "  (signature vec4\n"
10471   "    (parameters\n"
10472   "      (declare (in) sampler3D sampler)\n"
10473   "      (declare (in) vec3 coord)\n"
10474   "      (declare (in) float bias))\n"
10475   "    ()))\n"
10476   "(function texture3DProj\n"
10477   "  (signature vec4\n"
10478   "    (parameters\n"
10479   "      (declare (in) sampler3D sampler)\n"
10480   "      (declare (in) vec4 coord)\n"
10481   "      (declare (in) float bias))\n"
10482   "    ()))\n"
10483   "(function textureCube\n"
10484   "  (signature vec4\n"
10485   "    (parameters\n"
10486   "      (declare (in) samplerCube sampler)\n"
10487   "      (declare (in) vec3 coord)\n"
10488   "      (declare (in) float bias))\n"
10489   "    ()))\n"
10490   "(function shadow1D\n"
10491   "  (signature vec4\n"
10492   "    (parameters\n"
10493   "      (declare (in) sampler1DShadow sampler)\n"
10494   "      (declare (in) vec3 coord)\n"
10495   "      (declare (in) float bias))\n"
10496   "    ()))\n"
10497   "(function shadow2D\n"
10498   "  (signature vec4\n"
10499   "    (parameters\n"
10500   "      (declare (in) sampler2DShadow sampler)\n"
10501   "      (declare (in) vec3 coord)\n"
10502   "      (declare (in) float bias))\n"
10503   "    ()))\n"
10504   "(function shadow1DProj\n"
10505   "  (signature vec4\n"
10506   "    (parameters\n"
10507   "      (declare (in) sampler1DShadow sampler)\n"
10508   "      (declare (in) vec4 coord)\n"
10509   "      (declare (in) float bias))\n"
10510   "    ()))\n"
10511   "(function shadow2DProj\n"
10512   "  (signature vec4\n"
10513   "    (parameters\n"
10514   "      (declare (in) sampler2DShadow sampler)\n"
10515   "      (declare (in) vec4 coord)\n"
10516   "      (declare (in) float bias))\n"
10517   "    ()))\n"
10518   "(function dFdx\n"
10519   "  (signature float\n"
10520   "    (parameters\n"
10521   "      (declare (in) float p))\n"
10522   "    ())\n"
10523   "  (signature vec2\n"
10524   "    (parameters\n"
10525   "      (declare (in) vec2 p))\n"
10526   "    ())\n"
10527   "  (signature vec3\n"
10528   "    (parameters\n"
10529   "      (declare (in) vec3 p))\n"
10530   "    ())\n"
10531   "  (signature vec4\n"
10532   "    (parameters\n"
10533   "      (declare (in) vec4 p))\n"
10534   "    ()))\n"
10535   "(function dFdy\n"
10536   "  (signature float\n"
10537   "    (parameters\n"
10538   "      (declare (in) float p))\n"
10539   "    ())\n"
10540   "  (signature vec2\n"
10541   "    (parameters\n"
10542   "      (declare (in) vec2 p))\n"
10543   "    ())\n"
10544   "  (signature vec3\n"
10545   "    (parameters\n"
10546   "      (declare (in) vec3 p))\n"
10547   "    ())\n"
10548   "  (signature vec4\n"
10549   "    (parameters\n"
10550   "      (declare (in) vec4 p))\n"
10551   "    ()))\n"
10552   "(function fwidth\n"
10553   "  (signature float\n"
10554   "    (parameters\n"
10555   "      (declare (in) float p))\n"
10556   "    ())\n"
10557   "  (signature vec2\n"
10558   "    (parameters\n"
10559   "      (declare (in) vec2 p))\n"
10560   "    ())\n"
10561   "  (signature vec3\n"
10562   "    (parameters\n"
10563   "      (declare (in) vec3 p))\n"
10564   "    ())\n"
10565   "  (signature vec4\n"
10566   "    (parameters\n"
10567   "      (declare (in) vec4 p))\n"
10568   "    ())))"
10569;
10570static const char *functions_for_120_frag [] = {
10571   builtin_dFdx,
10572   builtin_dFdy,
10573   builtin_fwidth,
10574   builtin_shadow1D,
10575   builtin_shadow1DProj,
10576   builtin_shadow2D,
10577   builtin_shadow2DProj,
10578   builtin_texture1D,
10579   builtin_texture1DProj,
10580   builtin_texture2D,
10581   builtin_texture2DProj,
10582   builtin_texture3D,
10583   builtin_texture3DProj,
10584   builtin_textureCube,
10585};
10586static const char prototypes_for_120_glsl[] =
10587   "(\n"
10588   "(function radians\n"
10589   "  (signature float\n"
10590   "    (parameters\n"
10591   "      (declare (in) float degrees))\n"
10592   "    ())\n"
10593   "  (signature vec2\n"
10594   "    (parameters\n"
10595   "      (declare (in) vec2 degrees))\n"
10596   "    ())\n"
10597   "  (signature vec3\n"
10598   "    (parameters\n"
10599   "      (declare (in) vec3 degrees))\n"
10600   "    ())\n"
10601   "  (signature vec4\n"
10602   "    (parameters\n"
10603   "      (declare (in) vec4 degrees))\n"
10604   "    ()))\n"
10605   "(function degrees\n"
10606   "  (signature float\n"
10607   "    (parameters\n"
10608   "      (declare (in) float radians))\n"
10609   "    ())\n"
10610   "  (signature vec2\n"
10611   "    (parameters\n"
10612   "      (declare (in) vec2 radians))\n"
10613   "    ())\n"
10614   "  (signature vec3\n"
10615   "    (parameters\n"
10616   "      (declare (in) vec3 radians))\n"
10617   "    ())\n"
10618   "  (signature vec4\n"
10619   "    (parameters\n"
10620   "      (declare (in) vec4 radians))\n"
10621   "    ()))\n"
10622   "(function sin\n"
10623   "  (signature float\n"
10624   "    (parameters\n"
10625   "      (declare (in) float angle))\n"
10626   "    ())\n"
10627   "  (signature vec2\n"
10628   "    (parameters\n"
10629   "      (declare (in) vec2 angle))\n"
10630   "    ())\n"
10631   "  (signature vec3\n"
10632   "    (parameters\n"
10633   "      (declare (in) vec3 angle))\n"
10634   "    ())\n"
10635   "  (signature vec4\n"
10636   "    (parameters\n"
10637   "      (declare (in) vec4 angle))\n"
10638   "    ()))\n"
10639   "(function cos\n"
10640   "  (signature float\n"
10641   "    (parameters\n"
10642   "      (declare (in) float angle))\n"
10643   "    ())\n"
10644   "  (signature vec2\n"
10645   "    (parameters\n"
10646   "      (declare (in) vec2 angle))\n"
10647   "    ())\n"
10648   "  (signature vec3\n"
10649   "    (parameters\n"
10650   "      (declare (in) vec3 angle))\n"
10651   "    ())\n"
10652   "  (signature vec4\n"
10653   "    (parameters\n"
10654   "      (declare (in) vec4 angle))\n"
10655   "    ()))\n"
10656   "(function tan\n"
10657   "  (signature float\n"
10658   "    (parameters\n"
10659   "      (declare (in) float angle))\n"
10660   "    ())\n"
10661   "  (signature vec2\n"
10662   "    (parameters\n"
10663   "      (declare (in) vec2 angle))\n"
10664   "    ())\n"
10665   "  (signature vec3\n"
10666   "    (parameters\n"
10667   "      (declare (in) vec3 angle))\n"
10668   "    ())\n"
10669   "  (signature vec4\n"
10670   "    (parameters\n"
10671   "      (declare (in) vec4 angle))\n"
10672   "    ()))\n"
10673   "(function asin\n"
10674   "  (signature float\n"
10675   "    (parameters\n"
10676   "      (declare (in) float angle))\n"
10677   "    ())\n"
10678   "  (signature vec2\n"
10679   "    (parameters\n"
10680   "      (declare (in) vec2 angle))\n"
10681   "    ())\n"
10682   "  (signature vec3\n"
10683   "    (parameters\n"
10684   "      (declare (in) vec3 angle))\n"
10685   "    ())\n"
10686   "  (signature vec4\n"
10687   "    (parameters\n"
10688   "      (declare (in) vec4 angle))\n"
10689   "    ()))\n"
10690   "(function acos\n"
10691   "  (signature float\n"
10692   "    (parameters\n"
10693   "      (declare (in) float angle))\n"
10694   "    ())\n"
10695   "  (signature vec2\n"
10696   "    (parameters\n"
10697   "      (declare (in) vec2 angle))\n"
10698   "    ())\n"
10699   "  (signature vec3\n"
10700   "    (parameters\n"
10701   "      (declare (in) vec3 angle))\n"
10702   "    ())\n"
10703   "  (signature vec4\n"
10704   "    (parameters\n"
10705   "      (declare (in) vec4 angle))\n"
10706   "    ()))\n"
10707   "(function atan\n"
10708   "  (signature float\n"
10709   "    (parameters\n"
10710   "      (declare (in) float y)\n"
10711   "      (declare (in) float x))\n"
10712   "    ())\n"
10713   "  (signature vec2\n"
10714   "    (parameters\n"
10715   "      (declare (in) vec2 y)\n"
10716   "      (declare (in) vec2 x))\n"
10717   "    ())\n"
10718   "  (signature vec3\n"
10719   "    (parameters\n"
10720   "      (declare (in) vec3 y)\n"
10721   "      (declare (in) vec3 x))\n"
10722   "    ())\n"
10723   "  (signature vec4\n"
10724   "    (parameters\n"
10725   "      (declare (in) vec4 y)\n"
10726   "      (declare (in) vec4 x))\n"
10727   "    ())\n"
10728   "  (signature float\n"
10729   "    (parameters\n"
10730   "      (declare (in) float y_over_x))\n"
10731   "    ())\n"
10732   "  (signature vec2\n"
10733   "    (parameters\n"
10734   "      (declare (in) vec2 y_over_x))\n"
10735   "    ())\n"
10736   "  (signature vec3\n"
10737   "    (parameters\n"
10738   "      (declare (in) vec3 y_over_x))\n"
10739   "    ())\n"
10740   "  (signature vec4\n"
10741   "    (parameters\n"
10742   "      (declare (in) vec4 y_over_x))\n"
10743   "    ()))\n"
10744   "(function pow\n"
10745   "  (signature float\n"
10746   "    (parameters\n"
10747   "      (declare (in) float x)\n"
10748   "      (declare (in) float y))\n"
10749   "    ())\n"
10750   "  (signature vec2\n"
10751   "    (parameters\n"
10752   "      (declare (in) vec2 x)\n"
10753   "      (declare (in) vec2 y))\n"
10754   "    ())\n"
10755   "  (signature vec3\n"
10756   "    (parameters\n"
10757   "      (declare (in) vec3 x)\n"
10758   "      (declare (in) vec3 y))\n"
10759   "    ())\n"
10760   "  (signature vec4\n"
10761   "    (parameters\n"
10762   "      (declare (in) vec4 x)\n"
10763   "      (declare (in) vec4 y))\n"
10764   "    ()))\n"
10765   "(function exp\n"
10766   "  (signature float\n"
10767   "    (parameters\n"
10768   "      (declare (in) float x))\n"
10769   "    ())\n"
10770   "  (signature vec2\n"
10771   "    (parameters\n"
10772   "      (declare (in) vec2 x))\n"
10773   "    ())\n"
10774   "  (signature vec3\n"
10775   "    (parameters\n"
10776   "      (declare (in) vec3 x))\n"
10777   "    ())\n"
10778   "  (signature vec4\n"
10779   "    (parameters\n"
10780   "      (declare (in) vec4 x))\n"
10781   "    ()))\n"
10782   "(function log\n"
10783   "  (signature float\n"
10784   "    (parameters\n"
10785   "      (declare (in) float x))\n"
10786   "    ())\n"
10787   "  (signature vec2\n"
10788   "    (parameters\n"
10789   "      (declare (in) vec2 x))\n"
10790   "    ())\n"
10791   "  (signature vec3\n"
10792   "    (parameters\n"
10793   "      (declare (in) vec3 x))\n"
10794   "    ())\n"
10795   "  (signature vec4\n"
10796   "    (parameters\n"
10797   "      (declare (in) vec4 x))\n"
10798   "    ()))\n"
10799   "(function exp2\n"
10800   "  (signature float\n"
10801   "    (parameters\n"
10802   "      (declare (in) float x))\n"
10803   "    ())\n"
10804   "  (signature vec2\n"
10805   "    (parameters\n"
10806   "      (declare (in) vec2 x))\n"
10807   "    ())\n"
10808   "  (signature vec3\n"
10809   "    (parameters\n"
10810   "      (declare (in) vec3 x))\n"
10811   "    ())\n"
10812   "  (signature vec4\n"
10813   "    (parameters\n"
10814   "      (declare (in) vec4 x))\n"
10815   "    ()))\n"
10816   "(function log2\n"
10817   "  (signature float\n"
10818   "    (parameters\n"
10819   "      (declare (in) float x))\n"
10820   "    ())\n"
10821   "  (signature vec2\n"
10822   "    (parameters\n"
10823   "      (declare (in) vec2 x))\n"
10824   "    ())\n"
10825   "  (signature vec3\n"
10826   "    (parameters\n"
10827   "      (declare (in) vec3 x))\n"
10828   "    ())\n"
10829   "  (signature vec4\n"
10830   "    (parameters\n"
10831   "      (declare (in) vec4 x))\n"
10832   "    ()))\n"
10833   "(function sqrt\n"
10834   "  (signature float\n"
10835   "    (parameters\n"
10836   "      (declare (in) float x))\n"
10837   "    ())\n"
10838   "  (signature vec2\n"
10839   "    (parameters\n"
10840   "      (declare (in) vec2 x))\n"
10841   "    ())\n"
10842   "  (signature vec3\n"
10843   "    (parameters\n"
10844   "      (declare (in) vec3 x))\n"
10845   "    ())\n"
10846   "  (signature vec4\n"
10847   "    (parameters\n"
10848   "      (declare (in) vec4 x))\n"
10849   "    ()))\n"
10850   "(function inversesqrt\n"
10851   "  (signature float\n"
10852   "    (parameters\n"
10853   "      (declare (in) float x))\n"
10854   "    ())\n"
10855   "  (signature vec2\n"
10856   "    (parameters\n"
10857   "      (declare (in) vec2 x))\n"
10858   "    ())\n"
10859   "  (signature vec3\n"
10860   "    (parameters\n"
10861   "      (declare (in) vec3 x))\n"
10862   "    ())\n"
10863   "  (signature vec4\n"
10864   "    (parameters\n"
10865   "      (declare (in) vec4 x))\n"
10866   "    ()))\n"
10867   "(function abs\n"
10868   "  (signature float\n"
10869   "    (parameters\n"
10870   "      (declare (in) float x))\n"
10871   "    ())\n"
10872   "  (signature vec2\n"
10873   "    (parameters\n"
10874   "      (declare (in) vec2 x))\n"
10875   "    ())\n"
10876   "  (signature vec3\n"
10877   "    (parameters\n"
10878   "      (declare (in) vec3 x))\n"
10879   "    ())\n"
10880   "  (signature vec4\n"
10881   "    (parameters\n"
10882   "      (declare (in) vec4 x))\n"
10883   "    ()))\n"
10884   "(function sign\n"
10885   "  (signature float\n"
10886   "    (parameters\n"
10887   "      (declare (in) float x))\n"
10888   "    ())\n"
10889   "  (signature vec2\n"
10890   "    (parameters\n"
10891   "      (declare (in) vec2 x))\n"
10892   "    ())\n"
10893   "  (signature vec3\n"
10894   "    (parameters\n"
10895   "      (declare (in) vec3 x))\n"
10896   "    ())\n"
10897   "  (signature vec4\n"
10898   "    (parameters\n"
10899   "      (declare (in) vec4 x))\n"
10900   "    ()))\n"
10901   "(function floor\n"
10902   "  (signature float\n"
10903   "    (parameters\n"
10904   "      (declare (in) float x))\n"
10905   "    ())\n"
10906   "  (signature vec2\n"
10907   "    (parameters\n"
10908   "      (declare (in) vec2 x))\n"
10909   "    ())\n"
10910   "  (signature vec3\n"
10911   "    (parameters\n"
10912   "      (declare (in) vec3 x))\n"
10913   "    ())\n"
10914   "  (signature vec4\n"
10915   "    (parameters\n"
10916   "      (declare (in) vec4 x))\n"
10917   "    ()))\n"
10918   "(function ceil\n"
10919   "  (signature float\n"
10920   "    (parameters\n"
10921   "      (declare (in) float x))\n"
10922   "    ())\n"
10923   "  (signature vec2\n"
10924   "    (parameters\n"
10925   "      (declare (in) vec2 x))\n"
10926   "    ())\n"
10927   "  (signature vec3\n"
10928   "    (parameters\n"
10929   "      (declare (in) vec3 x))\n"
10930   "    ())\n"
10931   "  (signature vec4\n"
10932   "    (parameters\n"
10933   "      (declare (in) vec4 x))\n"
10934   "    ()))\n"
10935   "(function fract\n"
10936   "  (signature float\n"
10937   "    (parameters\n"
10938   "      (declare (in) float x))\n"
10939   "    ())\n"
10940   "  (signature vec2\n"
10941   "    (parameters\n"
10942   "      (declare (in) vec2 x))\n"
10943   "    ())\n"
10944   "  (signature vec3\n"
10945   "    (parameters\n"
10946   "      (declare (in) vec3 x))\n"
10947   "    ())\n"
10948   "  (signature vec4\n"
10949   "    (parameters\n"
10950   "      (declare (in) vec4 x))\n"
10951   "    ()))\n"
10952   "(function mod\n"
10953   "  (signature float\n"
10954   "    (parameters\n"
10955   "      (declare (in) float x)\n"
10956   "      (declare (in) float y))\n"
10957   "    ())\n"
10958   "  (signature vec2\n"
10959   "    (parameters\n"
10960   "      (declare (in) vec2 x)\n"
10961   "      (declare (in) float y))\n"
10962   "    ())\n"
10963   "  (signature vec3\n"
10964   "    (parameters\n"
10965   "      (declare (in) vec3 x)\n"
10966   "      (declare (in) float y))\n"
10967   "    ())\n"
10968   "  (signature vec4\n"
10969   "    (parameters\n"
10970   "      (declare (in) vec4 x)\n"
10971   "      (declare (in) float y))\n"
10972   "    ())\n"
10973   "  (signature vec2\n"
10974   "    (parameters\n"
10975   "      (declare (in) vec2 x)\n"
10976   "      (declare (in) vec2 y))\n"
10977   "    ())\n"
10978   "  (signature vec3\n"
10979   "    (parameters\n"
10980   "      (declare (in) vec3 x)\n"
10981   "      (declare (in) vec3 y))\n"
10982   "    ())\n"
10983   "  (signature vec4\n"
10984   "    (parameters\n"
10985   "      (declare (in) vec4 x)\n"
10986   "      (declare (in) vec4 y))\n"
10987   "    ()))\n"
10988   "(function min\n"
10989   "  (signature float\n"
10990   "    (parameters\n"
10991   "      (declare (in) float x)\n"
10992   "      (declare (in) float y))\n"
10993   "    ())\n"
10994   "  (signature vec2\n"
10995   "    (parameters\n"
10996   "      (declare (in) vec2 x)\n"
10997   "      (declare (in) vec2 y))\n"
10998   "    ())\n"
10999   "  (signature vec3\n"
11000   "    (parameters\n"
11001   "      (declare (in) vec3 x)\n"
11002   "      (declare (in) vec3 y))\n"
11003   "    ())\n"
11004   "  (signature vec4\n"
11005   "    (parameters\n"
11006   "      (declare (in) vec4 x)\n"
11007   "      (declare (in) vec4 y))\n"
11008   "    ())\n"
11009   "  (signature vec2\n"
11010   "    (parameters\n"
11011   "      (declare (in) vec2 x)\n"
11012   "      (declare (in) float y))\n"
11013   "    ())\n"
11014   "  (signature vec3\n"
11015   "    (parameters\n"
11016   "      (declare (in) vec3 x)\n"
11017   "      (declare (in) float y))\n"
11018   "    ())\n"
11019   "  (signature vec4\n"
11020   "    (parameters\n"
11021   "      (declare (in) vec4 x)\n"
11022   "      (declare (in) float y))\n"
11023   "    ()))\n"
11024   "(function max\n"
11025   "  (signature float\n"
11026   "    (parameters\n"
11027   "      (declare (in) float x)\n"
11028   "      (declare (in) float y))\n"
11029   "    ())\n"
11030   "  (signature vec2\n"
11031   "    (parameters\n"
11032   "      (declare (in) vec2 x)\n"
11033   "      (declare (in) vec2 y))\n"
11034   "    ())\n"
11035   "  (signature vec3\n"
11036   "    (parameters\n"
11037   "      (declare (in) vec3 x)\n"
11038   "      (declare (in) vec3 y))\n"
11039   "    ())\n"
11040   "  (signature vec4\n"
11041   "    (parameters\n"
11042   "      (declare (in) vec4 x)\n"
11043   "      (declare (in) vec4 y))\n"
11044   "    ())\n"
11045   "  (signature vec2\n"
11046   "    (parameters\n"
11047   "      (declare (in) vec2 x)\n"
11048   "      (declare (in) float y))\n"
11049   "    ())\n"
11050   "  (signature vec3\n"
11051   "    (parameters\n"
11052   "      (declare (in) vec3 x)\n"
11053   "      (declare (in) float y))\n"
11054   "    ())\n"
11055   "  (signature vec4\n"
11056   "    (parameters\n"
11057   "      (declare (in) vec4 x)\n"
11058   "      (declare (in) float y))\n"
11059   "    ()))\n"
11060   "(function clamp\n"
11061   "  (signature float\n"
11062   "    (parameters\n"
11063   "      (declare (in) float x)\n"
11064   "      (declare (in) float minVal)\n"
11065   "      (declare (in) float maxVal))\n"
11066   "    ())\n"
11067   "  (signature vec2\n"
11068   "    (parameters\n"
11069   "      (declare (in) vec2 x)\n"
11070   "      (declare (in) vec2 minVal)\n"
11071   "      (declare (in) vec2 maxVal))\n"
11072   "    ())\n"
11073   "  (signature vec3\n"
11074   "    (parameters\n"
11075   "      (declare (in) vec3 x)\n"
11076   "      (declare (in) vec3 minVal)\n"
11077   "      (declare (in) vec3 maxVal))\n"
11078   "    ())\n"
11079   "  (signature vec4\n"
11080   "    (parameters\n"
11081   "      (declare (in) vec4 x)\n"
11082   "      (declare (in) vec4 minVal)\n"
11083   "      (declare (in) vec4 maxVal))\n"
11084   "    ())\n"
11085   "  (signature vec2\n"
11086   "    (parameters\n"
11087   "      (declare (in) vec2 x)\n"
11088   "      (declare (in) float minVal)\n"
11089   "      (declare (in) float maxVal))\n"
11090   "    ())\n"
11091   "  (signature vec3\n"
11092   "    (parameters\n"
11093   "      (declare (in) vec3 x)\n"
11094   "      (declare (in) float minVal)\n"
11095   "      (declare (in) float maxVal))\n"
11096   "    ())\n"
11097   "  (signature vec4\n"
11098   "    (parameters\n"
11099   "      (declare (in) vec4 x)\n"
11100   "      (declare (in) float minVal)\n"
11101   "      (declare (in) float maxVal))\n"
11102   "    ()))\n"
11103   "(function mix\n"
11104   "  (signature float\n"
11105   "    (parameters\n"
11106   "      (declare (in) float x)\n"
11107   "      (declare (in) float y)\n"
11108   "      (declare (in) float a))\n"
11109   "    ())\n"
11110   "  (signature vec2\n"
11111   "    (parameters\n"
11112   "      (declare (in) vec2 x)\n"
11113   "      (declare (in) vec2 y)\n"
11114   "      (declare (in) vec2 a))\n"
11115   "    ())\n"
11116   "  (signature vec3\n"
11117   "    (parameters\n"
11118   "      (declare (in) vec3 x)\n"
11119   "      (declare (in) vec3 y)\n"
11120   "      (declare (in) vec3 a))\n"
11121   "    ())\n"
11122   "  (signature vec4\n"
11123   "    (parameters\n"
11124   "      (declare (in) vec4 x)\n"
11125   "      (declare (in) vec4 y)\n"
11126   "      (declare (in) vec4 a))\n"
11127   "    ())\n"
11128   "  (signature vec2\n"
11129   "    (parameters\n"
11130   "      (declare (in) vec2 x)\n"
11131   "      (declare (in) vec2 y)\n"
11132   "      (declare (in) float a))\n"
11133   "    ())\n"
11134   "  (signature vec3\n"
11135   "    (parameters\n"
11136   "      (declare (in) vec3 x)\n"
11137   "      (declare (in) vec3 y)\n"
11138   "      (declare (in) float a))\n"
11139   "    ())\n"
11140   "  (signature vec4\n"
11141   "    (parameters\n"
11142   "      (declare (in) vec4 x)\n"
11143   "      (declare (in) vec4 y)\n"
11144   "      (declare (in) float a))\n"
11145   "    ()))\n"
11146   "(function step\n"
11147   "  (signature float\n"
11148   "    (parameters\n"
11149   "      (declare (in) float edge)\n"
11150   "      (declare (in) float x))\n"
11151   "    ())\n"
11152   "  (signature vec2\n"
11153   "    (parameters\n"
11154   "      (declare (in) vec2 edge)\n"
11155   "      (declare (in) vec2 x))\n"
11156   "    ())\n"
11157   "  (signature vec3\n"
11158   "    (parameters\n"
11159   "      (declare (in) vec3 edge)\n"
11160   "      (declare (in) vec3 x))\n"
11161   "    ())\n"
11162   "  (signature vec4\n"
11163   "    (parameters\n"
11164   "      (declare (in) vec4 edge)\n"
11165   "      (declare (in) vec4 x))\n"
11166   "    ())\n"
11167   "  (signature vec2\n"
11168   "    (parameters\n"
11169   "      (declare (in) float edge)\n"
11170   "      (declare (in) vec2 x))\n"
11171   "    ())\n"
11172   "  (signature vec3\n"
11173   "    (parameters\n"
11174   "      (declare (in) float edge)\n"
11175   "      (declare (in) vec3 x))\n"
11176   "    ())\n"
11177   "  (signature vec4\n"
11178   "    (parameters\n"
11179   "      (declare (in) float edge)\n"
11180   "      (declare (in) vec4 x))\n"
11181   "    ()))\n"
11182   "(function smoothstep\n"
11183   "  (signature float\n"
11184   "    (parameters\n"
11185   "      (declare (in) float edge0)\n"
11186   "      (declare (in) float edge1)\n"
11187   "      (declare (in) float x))\n"
11188   "    ())\n"
11189   "  (signature vec2\n"
11190   "    (parameters\n"
11191   "      (declare (in) vec2 edge0)\n"
11192   "      (declare (in) vec2 edge1)\n"
11193   "      (declare (in) vec2 x))\n"
11194   "    ())\n"
11195   "  (signature vec3\n"
11196   "    (parameters\n"
11197   "      (declare (in) vec3 edge0)\n"
11198   "      (declare (in) vec3 edge1)\n"
11199   "      (declare (in) vec3 x))\n"
11200   "    ())\n"
11201   "  (signature vec4\n"
11202   "    (parameters\n"
11203   "      (declare (in) vec4 edge0)\n"
11204   "      (declare (in) vec4 edge1)\n"
11205   "      (declare (in) vec4 x))\n"
11206   "    ())\n"
11207   "  (signature vec2\n"
11208   "    (parameters\n"
11209   "      (declare (in) float edge0)\n"
11210   "      (declare (in) float edge1)\n"
11211   "      (declare (in) vec2 x))\n"
11212   "    ())\n"
11213   "  (signature vec3\n"
11214   "    (parameters\n"
11215   "      (declare (in) float edge0)\n"
11216   "      (declare (in) float edge1)\n"
11217   "      (declare (in) vec3 x))\n"
11218   "    ())\n"
11219   "  (signature vec4\n"
11220   "    (parameters\n"
11221   "      (declare (in) float edge0)\n"
11222   "      (declare (in) float edge1)\n"
11223   "      (declare (in) vec4 x))\n"
11224   "    ()))\n"
11225   "(function length\n"
11226   "  (signature float\n"
11227   "    (parameters\n"
11228   "      (declare (in) float x))\n"
11229   "    ())\n"
11230   "  (signature float\n"
11231   "    (parameters\n"
11232   "      (declare (in) vec2 x))\n"
11233   "    ())\n"
11234   "  (signature float\n"
11235   "    (parameters\n"
11236   "      (declare (in) vec3 x))\n"
11237   "    ())\n"
11238   "  (signature float\n"
11239   "    (parameters\n"
11240   "      (declare (in) vec4 x))\n"
11241   "    ()))\n"
11242   "(function distance\n"
11243   "  (signature float\n"
11244   "    (parameters\n"
11245   "      (declare (in) float p0)\n"
11246   "      (declare (in) float p1))\n"
11247   "    ())\n"
11248   "  (signature float\n"
11249   "    (parameters\n"
11250   "      (declare (in) vec2 p0)\n"
11251   "      (declare (in) vec2 p1))\n"
11252   "    ())\n"
11253   "  (signature float\n"
11254   "    (parameters\n"
11255   "      (declare (in) vec3 p0)\n"
11256   "      (declare (in) vec3 p1))\n"
11257   "    ())\n"
11258   "  (signature float\n"
11259   "    (parameters\n"
11260   "      (declare (in) vec4 p0)\n"
11261   "      (declare (in) vec4 p1))\n"
11262   "    ()))\n"
11263   "(function dot\n"
11264   "  (signature float\n"
11265   "    (parameters\n"
11266   "      (declare (in) float x)\n"
11267   "      (declare (in) float y))\n"
11268   "    ())\n"
11269   "  (signature float\n"
11270   "    (parameters\n"
11271   "      (declare (in) vec2 x)\n"
11272   "      (declare (in) vec2 y))\n"
11273   "    ())\n"
11274   "  (signature float\n"
11275   "    (parameters\n"
11276   "      (declare (in) vec3 x)\n"
11277   "      (declare (in) vec3 y))\n"
11278   "    ())\n"
11279   "  (signature float\n"
11280   "    (parameters\n"
11281   "      (declare (in) vec4 x)\n"
11282   "      (declare (in) vec4 y))\n"
11283   "    ()))\n"
11284   "(function cross\n"
11285   "  (signature vec3\n"
11286   "    (parameters\n"
11287   "      (declare (in) vec3 x)\n"
11288   "      (declare (in) vec3 y))\n"
11289   "    ()))\n"
11290   "(function normalize\n"
11291   "  (signature float\n"
11292   "    (parameters\n"
11293   "      (declare (in) float x))\n"
11294   "    ())\n"
11295   "  (signature vec2\n"
11296   "    (parameters\n"
11297   "      (declare (in) vec2 x))\n"
11298   "    ())\n"
11299   "  (signature vec3\n"
11300   "    (parameters\n"
11301   "      (declare (in) vec3 x))\n"
11302   "    ())\n"
11303   "  (signature vec4\n"
11304   "    (parameters\n"
11305   "      (declare (in) vec4 x))\n"
11306   "    ()))\n"
11307   "(function faceforward\n"
11308   "  (signature float\n"
11309   "    (parameters\n"
11310   "      (declare (in) float N)\n"
11311   "      (declare (in) float I)\n"
11312   "      (declare (in) float Nref))\n"
11313   "    ())\n"
11314   "  (signature vec2\n"
11315   "    (parameters\n"
11316   "      (declare (in) vec2 N)\n"
11317   "      (declare (in) vec2 I)\n"
11318   "      (declare (in) vec2 Nref))\n"
11319   "    ())\n"
11320   "  (signature vec3\n"
11321   "    (parameters\n"
11322   "      (declare (in) vec3 N)\n"
11323   "      (declare (in) vec3 I)\n"
11324   "      (declare (in) vec3 Nref))\n"
11325   "    ())\n"
11326   "  (signature vec4\n"
11327   "    (parameters\n"
11328   "      (declare (in) vec4 N)\n"
11329   "      (declare (in) vec4 I)\n"
11330   "      (declare (in) vec4 Nref))\n"
11331   "    ()))\n"
11332   "(function reflect\n"
11333   "  (signature float\n"
11334   "    (parameters\n"
11335   "      (declare (in) float I)\n"
11336   "      (declare (in) float N))\n"
11337   "    ())\n"
11338   "  (signature vec2\n"
11339   "    (parameters\n"
11340   "      (declare (in) vec2 I)\n"
11341   "      (declare (in) vec2 N))\n"
11342   "    ())\n"
11343   "  (signature vec3\n"
11344   "    (parameters\n"
11345   "      (declare (in) vec3 I)\n"
11346   "      (declare (in) vec3 N))\n"
11347   "    ())\n"
11348   "  (signature vec4\n"
11349   "    (parameters\n"
11350   "      (declare (in) vec4 I)\n"
11351   "      (declare (in) vec4 N))\n"
11352   "    ()))\n"
11353   "(function refract\n"
11354   "  (signature float\n"
11355   "    (parameters\n"
11356   "      (declare (in) float I)\n"
11357   "      (declare (in) float N)\n"
11358   "      (declare (in) float eta))\n"
11359   "    ())\n"
11360   "  (signature vec2\n"
11361   "    (parameters\n"
11362   "      (declare (in) vec2 I)\n"
11363   "      (declare (in) vec2 N)\n"
11364   "      (declare (in) float eta))\n"
11365   "    ())\n"
11366   "  (signature vec3\n"
11367   "    (parameters\n"
11368   "      (declare (in) vec3 I)\n"
11369   "      (declare (in) vec3 N)\n"
11370   "      (declare (in) float eta))\n"
11371   "    ())\n"
11372   "  (signature vec4\n"
11373   "    (parameters\n"
11374   "      (declare (in) vec4 I)\n"
11375   "      (declare (in) vec4 N)\n"
11376   "      (declare (in) float eta))\n"
11377   "    ()))\n"
11378   "(function matrixCompMult\n"
11379   "  (signature mat2\n"
11380   "    (parameters\n"
11381   "      (declare (in) mat2 x)\n"
11382   "      (declare (in) mat2 y))\n"
11383   "    ())\n"
11384   "  (signature mat3\n"
11385   "    (parameters\n"
11386   "      (declare (in) mat3 x)\n"
11387   "      (declare (in) mat3 y))\n"
11388   "    ())\n"
11389   "  (signature mat4\n"
11390   "    (parameters\n"
11391   "      (declare (in) mat4 x)\n"
11392   "      (declare (in) mat4 y))\n"
11393   "    ())\n"
11394   "  (signature mat2x3\n"
11395   "    (parameters\n"
11396   "      (declare (in) mat2x3 x)\n"
11397   "      (declare (in) mat2x3 y))\n"
11398   "    ())\n"
11399   "  (signature mat2x4\n"
11400   "    (parameters\n"
11401   "      (declare (in) mat2x4 x)\n"
11402   "      (declare (in) mat2x4 y))\n"
11403   "    ())\n"
11404   "  (signature mat3x2\n"
11405   "    (parameters\n"
11406   "      (declare (in) mat3x2 x)\n"
11407   "      (declare (in) mat3x2 y))\n"
11408   "    ())\n"
11409   "  (signature mat3x4\n"
11410   "    (parameters\n"
11411   "      (declare (in) mat3x4 x)\n"
11412   "      (declare (in) mat3x4 y))\n"
11413   "    ())\n"
11414   "  (signature mat4x2\n"
11415   "    (parameters\n"
11416   "      (declare (in) mat4x2 x)\n"
11417   "      (declare (in) mat4x2 y))\n"
11418   "    ())\n"
11419   "  (signature mat4x3\n"
11420   "    (parameters\n"
11421   "      (declare (in) mat4x3 x)\n"
11422   "      (declare (in) mat4x3 y))\n"
11423   "    ()))\n"
11424   "(function outerProduct\n"
11425   "  (signature mat2\n"
11426   "    (parameters\n"
11427   "      (declare (in) vec2 c)\n"
11428   "      (declare (in) vec2 r))\n"
11429   "    ())\n"
11430   "  (signature mat3\n"
11431   "    (parameters\n"
11432   "      (declare (in) vec3 c)\n"
11433   "      (declare (in) vec3 r))\n"
11434   "    ())\n"
11435   "  (signature mat4\n"
11436   "    (parameters\n"
11437   "      (declare (in) vec4 c)\n"
11438   "      (declare (in) vec4 r))\n"
11439   "    ())\n"
11440   "  (signature mat2x3\n"
11441   "    (parameters\n"
11442   "      (declare (in) vec3 c)\n"
11443   "      (declare (in) vec2 r))\n"
11444   "    ())\n"
11445   "  (signature mat3x2\n"
11446   "    (parameters\n"
11447   "      (declare (in) vec2 c)\n"
11448   "      (declare (in) vec3 r))\n"
11449   "    ())\n"
11450   "  (signature mat2x4\n"
11451   "    (parameters\n"
11452   "      (declare (in) vec4 c)\n"
11453   "      (declare (in) vec2 r))\n"
11454   "    ())\n"
11455   "  (signature mat4x2\n"
11456   "    (parameters\n"
11457   "      (declare (in) vec2 c)\n"
11458   "      (declare (in) vec4 r))\n"
11459   "    ())\n"
11460   "  (signature mat3x4\n"
11461   "    (parameters\n"
11462   "      (declare (in) vec4 c)\n"
11463   "      (declare (in) vec3 r))\n"
11464   "    ())\n"
11465   "  (signature mat4x3\n"
11466   "    (parameters\n"
11467   "      (declare (in) vec3 c)\n"
11468   "      (declare (in) vec4 r))\n"
11469   "    ()))\n"
11470   "(function transpose\n"
11471   "  (signature mat2\n"
11472   "    (parameters\n"
11473   "      (declare (in) mat2 m))\n"
11474   "    ())\n"
11475   "  (signature mat3\n"
11476   "    (parameters\n"
11477   "      (declare (in) mat3 m))\n"
11478   "    ())\n"
11479   "  (signature mat4\n"
11480   "    (parameters\n"
11481   "      (declare (in) mat4 m))\n"
11482   "    ())\n"
11483   "  (signature mat2x3\n"
11484   "    (parameters\n"
11485   "      (declare (in) mat3x2 m))\n"
11486   "    ())\n"
11487   "  (signature mat3x2\n"
11488   "    (parameters\n"
11489   "      (declare (in) mat2x3 m))\n"
11490   "    ())\n"
11491   "  (signature mat2x4\n"
11492   "    (parameters\n"
11493   "      (declare (in) mat4x2 m))\n"
11494   "    ())\n"
11495   "  (signature mat4x2\n"
11496   "    (parameters\n"
11497   "      (declare (in) mat2x4 m))\n"
11498   "    ())\n"
11499   "  (signature mat3x4\n"
11500   "    (parameters\n"
11501   "      (declare (in) mat4x3 m))\n"
11502   "    ())\n"
11503   "  (signature mat4x3\n"
11504   "    (parameters\n"
11505   "      (declare (in) mat3x4 m))\n"
11506   "    ()))\n"
11507   "(function lessThan\n"
11508   "  (signature bvec2\n"
11509   "    (parameters\n"
11510   "      (declare (in) vec2 x)\n"
11511   "      (declare (in) vec2 y))\n"
11512   "    ())\n"
11513   "  (signature bvec3\n"
11514   "    (parameters\n"
11515   "      (declare (in) vec3 x)\n"
11516   "      (declare (in) vec3 y))\n"
11517   "    ())\n"
11518   "  (signature bvec4\n"
11519   "    (parameters\n"
11520   "      (declare (in) vec4 x)\n"
11521   "      (declare (in) vec4 y))\n"
11522   "    ())\n"
11523   "  (signature bvec2\n"
11524   "    (parameters\n"
11525   "      (declare (in) ivec2 x)\n"
11526   "      (declare (in) ivec2 y))\n"
11527   "    ())\n"
11528   "  (signature bvec3\n"
11529   "    (parameters\n"
11530   "      (declare (in) ivec3 x)\n"
11531   "      (declare (in) ivec3 y))\n"
11532   "    ())\n"
11533   "  (signature bvec4\n"
11534   "    (parameters\n"
11535   "      (declare (in) ivec4 x)\n"
11536   "      (declare (in) ivec4 y))\n"
11537   "    ()))\n"
11538   "(function lessThanEqual\n"
11539   "  (signature bvec2\n"
11540   "    (parameters\n"
11541   "      (declare (in) vec2 x)\n"
11542   "      (declare (in) vec2 y))\n"
11543   "    ())\n"
11544   "  (signature bvec3\n"
11545   "    (parameters\n"
11546   "      (declare (in) vec3 x)\n"
11547   "      (declare (in) vec3 y))\n"
11548   "    ())\n"
11549   "  (signature bvec4\n"
11550   "    (parameters\n"
11551   "      (declare (in) vec4 x)\n"
11552   "      (declare (in) vec4 y))\n"
11553   "    ())\n"
11554   "  (signature bvec2\n"
11555   "    (parameters\n"
11556   "      (declare (in) ivec2 x)\n"
11557   "      (declare (in) ivec2 y))\n"
11558   "    ())\n"
11559   "  (signature bvec3\n"
11560   "    (parameters\n"
11561   "      (declare (in) ivec3 x)\n"
11562   "      (declare (in) ivec3 y))\n"
11563   "    ())\n"
11564   "  (signature bvec4\n"
11565   "    (parameters\n"
11566   "      (declare (in) ivec4 x)\n"
11567   "      (declare (in) ivec4 y))\n"
11568   "    ()))\n"
11569   "(function greaterThan\n"
11570   "  (signature bvec2\n"
11571   "    (parameters\n"
11572   "      (declare (in) vec2 x)\n"
11573   "      (declare (in) vec2 y))\n"
11574   "    ())\n"
11575   "  (signature bvec3\n"
11576   "    (parameters\n"
11577   "      (declare (in) vec3 x)\n"
11578   "      (declare (in) vec3 y))\n"
11579   "    ())\n"
11580   "  (signature bvec4\n"
11581   "    (parameters\n"
11582   "      (declare (in) vec4 x)\n"
11583   "      (declare (in) vec4 y))\n"
11584   "    ())\n"
11585   "  (signature bvec2\n"
11586   "    (parameters\n"
11587   "      (declare (in) ivec2 x)\n"
11588   "      (declare (in) ivec2 y))\n"
11589   "    ())\n"
11590   "  (signature bvec3\n"
11591   "    (parameters\n"
11592   "      (declare (in) ivec3 x)\n"
11593   "      (declare (in) ivec3 y))\n"
11594   "    ())\n"
11595   "  (signature bvec4\n"
11596   "    (parameters\n"
11597   "      (declare (in) ivec4 x)\n"
11598   "      (declare (in) ivec4 y))\n"
11599   "    ()))\n"
11600   "(function greaterThanEqual\n"
11601   "  (signature bvec2\n"
11602   "    (parameters\n"
11603   "      (declare (in) vec2 x)\n"
11604   "      (declare (in) vec2 y))\n"
11605   "    ())\n"
11606   "  (signature bvec3\n"
11607   "    (parameters\n"
11608   "      (declare (in) vec3 x)\n"
11609   "      (declare (in) vec3 y))\n"
11610   "    ())\n"
11611   "  (signature bvec4\n"
11612   "    (parameters\n"
11613   "      (declare (in) vec4 x)\n"
11614   "      (declare (in) vec4 y))\n"
11615   "    ())\n"
11616   "  (signature bvec2\n"
11617   "    (parameters\n"
11618   "      (declare (in) ivec2 x)\n"
11619   "      (declare (in) ivec2 y))\n"
11620   "    ())\n"
11621   "  (signature bvec3\n"
11622   "    (parameters\n"
11623   "      (declare (in) ivec3 x)\n"
11624   "      (declare (in) ivec3 y))\n"
11625   "    ())\n"
11626   "  (signature bvec4\n"
11627   "    (parameters\n"
11628   "      (declare (in) ivec4 x)\n"
11629   "      (declare (in) ivec4 y))\n"
11630   "    ()))\n"
11631   "(function equal\n"
11632   "  (signature bvec2\n"
11633   "    (parameters\n"
11634   "      (declare (in) vec2 x)\n"
11635   "      (declare (in) vec2 y))\n"
11636   "    ())\n"
11637   "  (signature bvec3\n"
11638   "    (parameters\n"
11639   "      (declare (in) vec3 x)\n"
11640   "      (declare (in) vec3 y))\n"
11641   "    ())\n"
11642   "  (signature bvec4\n"
11643   "    (parameters\n"
11644   "      (declare (in) vec4 x)\n"
11645   "      (declare (in) vec4 y))\n"
11646   "    ())\n"
11647   "  (signature bvec2\n"
11648   "    (parameters\n"
11649   "      (declare (in) ivec2 x)\n"
11650   "      (declare (in) ivec2 y))\n"
11651   "    ())\n"
11652   "  (signature bvec3\n"
11653   "    (parameters\n"
11654   "      (declare (in) ivec3 x)\n"
11655   "      (declare (in) ivec3 y))\n"
11656   "    ())\n"
11657   "  (signature bvec4\n"
11658   "    (parameters\n"
11659   "      (declare (in) ivec4 x)\n"
11660   "      (declare (in) ivec4 y))\n"
11661   "    ())\n"
11662   "  (signature bvec2\n"
11663   "    (parameters\n"
11664   "      (declare (in) bvec2 x)\n"
11665   "      (declare (in) bvec2 y))\n"
11666   "    ())\n"
11667   "  (signature bvec3\n"
11668   "    (parameters\n"
11669   "      (declare (in) bvec3 x)\n"
11670   "      (declare (in) bvec3 y))\n"
11671   "    ())\n"
11672   "  (signature bvec4\n"
11673   "    (parameters\n"
11674   "      (declare (in) bvec4 x)\n"
11675   "      (declare (in) bvec4 y))\n"
11676   "    ()))\n"
11677   "(function notEqual\n"
11678   "  (signature bvec2\n"
11679   "    (parameters\n"
11680   "      (declare (in) vec2 x)\n"
11681   "      (declare (in) vec2 y))\n"
11682   "    ())\n"
11683   "  (signature bvec3\n"
11684   "    (parameters\n"
11685   "      (declare (in) vec3 x)\n"
11686   "      (declare (in) vec3 y))\n"
11687   "    ())\n"
11688   "  (signature bvec4\n"
11689   "    (parameters\n"
11690   "      (declare (in) vec4 x)\n"
11691   "      (declare (in) vec4 y))\n"
11692   "    ())\n"
11693   "  (signature bvec2\n"
11694   "    (parameters\n"
11695   "      (declare (in) ivec2 x)\n"
11696   "      (declare (in) ivec2 y))\n"
11697   "    ())\n"
11698   "  (signature bvec3\n"
11699   "    (parameters\n"
11700   "      (declare (in) ivec3 x)\n"
11701   "      (declare (in) ivec3 y))\n"
11702   "    ())\n"
11703   "  (signature bvec4\n"
11704   "    (parameters\n"
11705   "      (declare (in) ivec4 x)\n"
11706   "      (declare (in) ivec4 y))\n"
11707   "    ())\n"
11708   "  (signature bvec2\n"
11709   "    (parameters\n"
11710   "      (declare (in) bvec2 x)\n"
11711   "      (declare (in) bvec2 y))\n"
11712   "    ())\n"
11713   "  (signature bvec3\n"
11714   "    (parameters\n"
11715   "      (declare (in) bvec3 x)\n"
11716   "      (declare (in) bvec3 y))\n"
11717   "    ())\n"
11718   "  (signature bvec4\n"
11719   "    (parameters\n"
11720   "      (declare (in) bvec4 x)\n"
11721   "      (declare (in) bvec4 y))\n"
11722   "    ()))\n"
11723   "(function any\n"
11724   "  (signature bool\n"
11725   "    (parameters\n"
11726   "      (declare (in) bvec2 x))\n"
11727   "    ())\n"
11728   "  (signature bool\n"
11729   "    (parameters\n"
11730   "      (declare (in) bvec3 x))\n"
11731   "    ())\n"
11732   "  (signature bool\n"
11733   "    (parameters\n"
11734   "      (declare (in) bvec4 x))\n"
11735   "    ()))\n"
11736   "(function all\n"
11737   "  (signature bool\n"
11738   "    (parameters\n"
11739   "      (declare (in) bvec2 x))\n"
11740   "    ())\n"
11741   "  (signature bool\n"
11742   "    (parameters\n"
11743   "      (declare (in) bvec3 x))\n"
11744   "    ())\n"
11745   "  (signature bool\n"
11746   "    (parameters\n"
11747   "      (declare (in) bvec4 x))\n"
11748   "    ()))\n"
11749   "(function not\n"
11750   "  (signature bvec2\n"
11751   "    (parameters\n"
11752   "      (declare (in) bvec2 x))\n"
11753   "    ())\n"
11754   "  (signature bvec3\n"
11755   "    (parameters\n"
11756   "      (declare (in) bvec3 x))\n"
11757   "    ())\n"
11758   "  (signature bvec4\n"
11759   "    (parameters\n"
11760   "      (declare (in) bvec4 x))\n"
11761   "    ()))\n"
11762   "(function texture1D\n"
11763   "  (signature vec4\n"
11764   "    (parameters\n"
11765   "      (declare (in) sampler1D sampler)\n"
11766   "      (declare (in) float coord))\n"
11767   "    ()))\n"
11768   "(function texture1DProj\n"
11769   "  (signature vec4\n"
11770   "    (parameters\n"
11771   "      (declare (in) sampler1D sampler)\n"
11772   "      (declare (in) vec2 coord))\n"
11773   "    ())\n"
11774   "  (signature vec4\n"
11775   "    (parameters\n"
11776   "      (declare (in) sampler1D sampler)\n"
11777   "      (declare (in) vec4 coord))\n"
11778   "    ()))\n"
11779   "(function texture2D\n"
11780   "  (signature vec4\n"
11781   "    (parameters\n"
11782   "      (declare (in) sampler2D sampler)\n"
11783   "      (declare (in) vec2 coord))\n"
11784   "    ()))\n"
11785   "(function texture2DProj\n"
11786   "  (signature vec4\n"
11787   "    (parameters\n"
11788   "      (declare (in) sampler2D sampler)\n"
11789   "      (declare (in) vec3 coord))\n"
11790   "    ())\n"
11791   "  (signature vec4\n"
11792   "    (parameters\n"
11793   "      (declare (in) sampler2D sampler)\n"
11794   "      (declare (in) vec4 coord))\n"
11795   "    ()))\n"
11796   "(function texture3D\n"
11797   "  (signature vec4\n"
11798   "    (parameters\n"
11799   "      (declare (in) sampler3D sampler)\n"
11800   "      (declare (in) vec3 coord))\n"
11801   "    ()))\n"
11802   "(function texture3DProj\n"
11803   "  (signature vec4\n"
11804   "    (parameters\n"
11805   "      (declare (in) sampler3D sampler)\n"
11806   "      (declare (in) vec4 coord))\n"
11807   "    ()))\n"
11808   "(function textureCube\n"
11809   "  (signature vec4\n"
11810   "    (parameters\n"
11811   "      (declare (in) samplerCube sampler)\n"
11812   "      (declare (in) vec3 coord))\n"
11813   "    ()))\n"
11814   "(function shadow1D\n"
11815   "  (signature vec4\n"
11816   "    (parameters\n"
11817   "      (declare (in) sampler1DShadow sampler)\n"
11818   "      (declare (in) vec3 coord))\n"
11819   "    ()))\n"
11820   "(function shadow2D\n"
11821   "  (signature vec4\n"
11822   "    (parameters\n"
11823   "      (declare (in) sampler2DShadow sampler)\n"
11824   "      (declare (in) vec3 coord))\n"
11825   "    ()))\n"
11826   "(function shadow1DProj\n"
11827   "  (signature vec4\n"
11828   "    (parameters\n"
11829   "      (declare (in) sampler1DShadow sampler)\n"
11830   "      (declare (in) vec4 coord))\n"
11831   "    ()))\n"
11832   "(function shadow2DProj\n"
11833   "  (signature vec4\n"
11834   "    (parameters\n"
11835   "      (declare (in) sampler2DShadow sampler)\n"
11836   "      (declare (in) vec4 coord))\n"
11837   "    ()))\n"
11838   "(function noise1\n"
11839   "  (signature float\n"
11840   "    (parameters\n"
11841   "      (declare (in) float x))\n"
11842   "    ())\n"
11843   "  (signature float\n"
11844   "    (parameters\n"
11845   "      (declare (in) vec2 x))\n"
11846   "    ())\n"
11847   "  (signature float\n"
11848   "    (parameters\n"
11849   "      (declare (in) vec3 x))\n"
11850   "    ())\n"
11851   "  (signature float\n"
11852   "    (parameters\n"
11853   "      (declare (in) vec4 x))\n"
11854   "    ()))\n"
11855   "(function noise2\n"
11856   "  (signature vec2\n"
11857   "    (parameters\n"
11858   "      (declare (in) float x))\n"
11859   "    ())\n"
11860   "  (signature vec2\n"
11861   "    (parameters\n"
11862   "      (declare (in) vec2 x))\n"
11863   "    ())\n"
11864   "  (signature vec2\n"
11865   "    (parameters\n"
11866   "      (declare (in) vec3 x))\n"
11867   "    ())\n"
11868   "  (signature vec2\n"
11869   "    (parameters\n"
11870   "      (declare (in) vec4 x))\n"
11871   "    ()))\n"
11872   "(function noise3\n"
11873   "  (signature vec3\n"
11874   "    (parameters\n"
11875   "      (declare (in) float x))\n"
11876   "    ())\n"
11877   "  (signature vec3\n"
11878   "    (parameters\n"
11879   "      (declare (in) vec2 x))\n"
11880   "    ())\n"
11881   "  (signature vec3\n"
11882   "    (parameters\n"
11883   "      (declare (in) vec3 x))\n"
11884   "    ())\n"
11885   "  (signature vec3\n"
11886   "    (parameters\n"
11887   "      (declare (in) vec4 x))\n"
11888   "    ()))\n"
11889   "(function noise4\n"
11890   "  (signature vec4\n"
11891   "    (parameters\n"
11892   "      (declare (in) float x))\n"
11893   "    ())\n"
11894   "  (signature vec4\n"
11895   "    (parameters\n"
11896   "      (declare (in) vec2 x))\n"
11897   "    ())\n"
11898   "  (signature vec4\n"
11899   "    (parameters\n"
11900   "      (declare (in) vec3 x))\n"
11901   "    ())\n"
11902   "  (signature vec4\n"
11903   "    (parameters\n"
11904   "      (declare (in) vec4 x))\n"
11905   "    ())))"
11906;
11907static const char *functions_for_120_glsl [] = {
11908   builtin_abs,
11909   builtin_acos,
11910   builtin_all,
11911   builtin_any,
11912   builtin_asin,
11913   builtin_atan,
11914   builtin_ceil,
11915   builtin_clamp,
11916   builtin_cos,
11917   builtin_cross,
11918   builtin_degrees,
11919   builtin_distance,
11920   builtin_dot,
11921   builtin_equal,
11922   builtin_exp,
11923   builtin_exp2,
11924   builtin_faceforward,
11925   builtin_floor,
11926   builtin_fract,
11927   builtin_greaterThan,
11928   builtin_greaterThanEqual,
11929   builtin_inversesqrt,
11930   builtin_length,
11931   builtin_lessThan,
11932   builtin_lessThanEqual,
11933   builtin_log,
11934   builtin_log2,
11935   builtin_matrixCompMult,
11936   builtin_max,
11937   builtin_min,
11938   builtin_mix,
11939   builtin_mod,
11940   builtin_noise1,
11941   builtin_noise2,
11942   builtin_noise3,
11943   builtin_noise4,
11944   builtin_normalize,
11945   builtin_not,
11946   builtin_notEqual,
11947   builtin_outerProduct,
11948   builtin_pow,
11949   builtin_radians,
11950   builtin_reflect,
11951   builtin_refract,
11952   builtin_shadow1D,
11953   builtin_shadow1DProj,
11954   builtin_shadow2D,
11955   builtin_shadow2DProj,
11956   builtin_sign,
11957   builtin_sin,
11958   builtin_smoothstep,
11959   builtin_sqrt,
11960   builtin_step,
11961   builtin_tan,
11962   builtin_texture1D,
11963   builtin_texture1DProj,
11964   builtin_texture2D,
11965   builtin_texture2DProj,
11966   builtin_texture3D,
11967   builtin_texture3DProj,
11968   builtin_textureCube,
11969   builtin_transpose,
11970};
11971static const char prototypes_for_120_vert[] =
11972   "(\n"
11973   "(function ftransform\n"
11974   "  (signature vec4\n"
11975   "    (parameters)\n"
11976   "    ()))\n"
11977   "(function texture1DLod\n"
11978   "  (signature vec4\n"
11979   "    (parameters\n"
11980   "      (declare (in) sampler1D sampler)\n"
11981   "      (declare (in) float coord)\n"
11982   "      (declare (in) float lod))\n"
11983   "    ()))\n"
11984   "(function texture1DProjLod\n"
11985   "  (signature vec4\n"
11986   "    (parameters\n"
11987   "      (declare (in) sampler1D sampler)\n"
11988   "      (declare (in) vec2 coord)\n"
11989   "      (declare (in) float lod))\n"
11990   "    ())\n"
11991   "  (signature vec4\n"
11992   "    (parameters\n"
11993   "      (declare (in) sampler1D sampler)\n"
11994   "      (declare (in) vec4 coord)\n"
11995   "      (declare (in) float lod))\n"
11996   "    ()))\n"
11997   "(function texture2DLod\n"
11998   "  (signature vec4\n"
11999   "    (parameters\n"
12000   "      (declare (in) sampler2D sampler)\n"
12001   "      (declare (in) vec2 coord)\n"
12002   "      (declare (in) float lod))\n"
12003   "    ()))\n"
12004   "(function texture2DProjLod\n"
12005   "  (signature vec4\n"
12006   "    (parameters\n"
12007   "      (declare (in) sampler2D sampler)\n"
12008   "      (declare (in) vec3 coord)\n"
12009   "      (declare (in) float lod))\n"
12010   "    ())\n"
12011   "  (signature vec4\n"
12012   "    (parameters\n"
12013   "      (declare (in) sampler2D sampler)\n"
12014   "      (declare (in) vec4 coord)\n"
12015   "      (declare (in) float lod))\n"
12016   "    ()))\n"
12017   "(function texture3DLod\n"
12018   "  (signature vec4\n"
12019   "    (parameters\n"
12020   "      (declare (in) sampler3D sampler)\n"
12021   "      (declare (in) vec3 coord)\n"
12022   "      (declare (in) float lod))\n"
12023   "    ()))\n"
12024   "(function texture3DProjLod\n"
12025   "  (signature vec4\n"
12026   "    (parameters\n"
12027   "      (declare (in) sampler3D sampler)\n"
12028   "      (declare (in) vec4 coord)\n"
12029   "      (declare (in) float lod))\n"
12030   "    ()))\n"
12031   "(function textureCubeLod\n"
12032   "  (signature vec4\n"
12033   "    (parameters\n"
12034   "      (declare (in) samplerCube sampler)\n"
12035   "      (declare (in) vec3 coord)\n"
12036   "      (declare (in) float lod))\n"
12037   "    ()))\n"
12038   "(function shadow1DLod\n"
12039   "  (signature vec4\n"
12040   "    (parameters\n"
12041   "      (declare (in) sampler1DShadow sampler)\n"
12042   "      (declare (in) vec3 coord)\n"
12043   "      (declare (in) float lod))\n"
12044   "    ()))\n"
12045   "(function shadow2DLod\n"
12046   "  (signature vec4\n"
12047   "    (parameters\n"
12048   "      (declare (in) sampler2DShadow sampler)\n"
12049   "      (declare (in) vec3 coord)\n"
12050   "      (declare (in) float lod))\n"
12051   "    ()))\n"
12052   "(function shadow1DProjLod\n"
12053   "  (signature vec4\n"
12054   "    (parameters\n"
12055   "      (declare (in) sampler1DShadow sampler)\n"
12056   "      (declare (in) vec4 coord)\n"
12057   "      (declare (in) float lod))\n"
12058   "    ()))\n"
12059   "(function shadow2DProjLod\n"
12060   "  (signature vec4\n"
12061   "    (parameters\n"
12062   "      (declare (in) sampler2DShadow sampler)\n"
12063   "      (declare (in) vec4 coord)\n"
12064   "      (declare (in) float lod))\n"
12065   "    ())))"
12066;
12067static const char *functions_for_120_vert [] = {
12068   builtin_ftransform,
12069   builtin_shadow1DLod,
12070   builtin_shadow1DProjLod,
12071   builtin_shadow2DLod,
12072   builtin_shadow2DProjLod,
12073   builtin_texture1DLod,
12074   builtin_texture1DProjLod,
12075   builtin_texture2DLod,
12076   builtin_texture2DProjLod,
12077   builtin_texture3DLod,
12078   builtin_texture3DProjLod,
12079   builtin_textureCubeLod,
12080};
12081static const char prototypes_for_130_frag[] =
12082   "(\n"
12083   "(function texture\n"
12084   "  (signature vec4\n"
12085   "    (parameters\n"
12086   "      (declare (in) sampler1D sampler)\n"
12087   "      (declare (in) float P)\n"
12088   "      (declare (in) float bias))\n"
12089   "    ())\n"
12090   "  (signature ivec4\n"
12091   "    (parameters\n"
12092   "      (declare (in) isampler1D sampler)\n"
12093   "      (declare (in) float P)\n"
12094   "      (declare (in) float bias))\n"
12095   "    ())\n"
12096   "  (signature uvec4\n"
12097   "    (parameters\n"
12098   "      (declare (in) usampler1D sampler)\n"
12099   "      (declare (in) float P)\n"
12100   "      (declare (in) float bias))\n"
12101   "    ())\n"
12102   "  (signature vec4\n"
12103   "    (parameters\n"
12104   "      (declare (in) sampler2D sampler)\n"
12105   "      (declare (in) vec2 P)\n"
12106   "      (declare (in) float bias))\n"
12107   "    ())\n"
12108   "  (signature ivec4\n"
12109   "    (parameters\n"
12110   "      (declare (in) isampler2D sampler)\n"
12111   "      (declare (in) vec2 P)\n"
12112   "      (declare (in) float bias))\n"
12113   "    ())\n"
12114   "  (signature uvec4\n"
12115   "    (parameters\n"
12116   "      (declare (in) usampler2D sampler)\n"
12117   "      (declare (in) vec2 P)\n"
12118   "      (declare (in) float bias))\n"
12119   "    ())\n"
12120   "  (signature vec4\n"
12121   "    (parameters\n"
12122   "      (declare (in) sampler3D sampler)\n"
12123   "      (declare (in) vec3 P)\n"
12124   "      (declare (in) float bias))\n"
12125   "    ())\n"
12126   "  (signature ivec4\n"
12127   "    (parameters\n"
12128   "      (declare (in) isampler3D sampler)\n"
12129   "      (declare (in) vec3 P)\n"
12130   "      (declare (in) float bias))\n"
12131   "    ())\n"
12132   "  (signature uvec4\n"
12133   "    (parameters\n"
12134   "      (declare (in) usampler3D sampler)\n"
12135   "      (declare (in) vec3 P)\n"
12136   "      (declare (in) float bias))\n"
12137   "    ())\n"
12138   "  (signature vec4\n"
12139   "    (parameters\n"
12140   "      (declare (in) samplerCube sampler)\n"
12141   "      (declare (in) vec3 P)\n"
12142   "      (declare (in) float bias))\n"
12143   "    ())\n"
12144   "  (signature ivec4\n"
12145   "    (parameters\n"
12146   "      (declare (in) isamplerCube sampler)\n"
12147   "      (declare (in) vec3 P)\n"
12148   "      (declare (in) float bias))\n"
12149   "    ())\n"
12150   "  (signature uvec4\n"
12151   "    (parameters\n"
12152   "      (declare (in) usamplerCube sampler)\n"
12153   "      (declare (in) vec3 P)\n"
12154   "      (declare (in) float bias))\n"
12155   "    ())\n"
12156   "  (signature float\n"
12157   "    (parameters\n"
12158   "      (declare (in) sampler1DShadow sampler)\n"
12159   "      (declare (in) vec3 P)\n"
12160   "      (declare (in) float bias))\n"
12161   "    ())\n"
12162   "  (signature float\n"
12163   "    (parameters\n"
12164   "      (declare (in) sampler2DShadow sampler)\n"
12165   "      (declare (in) vec3 P)\n"
12166   "      (declare (in) float bias))\n"
12167   "    ())\n"
12168   "  (signature float\n"
12169   "    (parameters\n"
12170   "      (declare (in) samplerCubeShadow sampler)\n"
12171   "      (declare (in) vec4 P)\n"
12172   "      (declare (in) float bias))\n"
12173   "    ())\n"
12174   "  (signature vec4\n"
12175   "    (parameters\n"
12176   "      (declare (in) sampler1DArray sampler)\n"
12177   "      (declare (in) vec2 P)\n"
12178   "      (declare (in) float bias))\n"
12179   "    ())\n"
12180   "  (signature ivec4\n"
12181   "    (parameters\n"
12182   "      (declare (in) isampler1DArray sampler)\n"
12183   "      (declare (in) vec2 P)\n"
12184   "      (declare (in) float bias))\n"
12185   "    ())\n"
12186   "  (signature uvec4\n"
12187   "    (parameters\n"
12188   "      (declare (in) usampler1DArray sampler)\n"
12189   "      (declare (in) vec2 P)\n"
12190   "      (declare (in) float bias))\n"
12191   "    ())\n"
12192   "  (signature vec4\n"
12193   "    (parameters\n"
12194   "      (declare (in) sampler2DArray sampler)\n"
12195   "      (declare (in) vec3 P)\n"
12196   "      (declare (in) float bias))\n"
12197   "    ())\n"
12198   "  (signature ivec4\n"
12199   "    (parameters\n"
12200   "      (declare (in) isampler2DArray sampler)\n"
12201   "      (declare (in) vec3 P)\n"
12202   "      (declare (in) float bias))\n"
12203   "    ())\n"
12204   "  (signature uvec4\n"
12205   "    (parameters\n"
12206   "      (declare (in) usampler2DArray sampler)\n"
12207   "      (declare (in) vec3 P)\n"
12208   "      (declare (in) float bias))\n"
12209   "    ())\n"
12210   "  (signature float\n"
12211   "    (parameters\n"
12212   "      (declare (in) sampler1DArrayShadow sampler)\n"
12213   "      (declare (in) vec3 P)\n"
12214   "      (declare (in) float bias))\n"
12215   "    ()))\n"
12216   "(function textureProj\n"
12217   "  (signature vec4\n"
12218   "    (parameters\n"
12219   "      (declare (in) sampler1D sampler)\n"
12220   "      (declare (in) vec2 P)\n"
12221   "      (declare (in) float bias))\n"
12222   "    ())\n"
12223   "  (signature ivec4\n"
12224   "    (parameters\n"
12225   "      (declare (in) isampler1D sampler)\n"
12226   "      (declare (in) vec2 P)\n"
12227   "      (declare (in) float bias))\n"
12228   "    ())\n"
12229   "  (signature uvec4\n"
12230   "    (parameters\n"
12231   "      (declare (in) usampler1D sampler)\n"
12232   "      (declare (in) vec2 P)\n"
12233   "      (declare (in) float bias))\n"
12234   "    ())\n"
12235   "  (signature vec4\n"
12236   "    (parameters\n"
12237   "      (declare (in) sampler1D sampler)\n"
12238   "      (declare (in) vec4 P)\n"
12239   "      (declare (in) float bias))\n"
12240   "    ())\n"
12241   "  (signature ivec4\n"
12242   "    (parameters\n"
12243   "      (declare (in) isampler1D sampler)\n"
12244   "      (declare (in) vec4 P)\n"
12245   "      (declare (in) float bias))\n"
12246   "    ())\n"
12247   "  (signature uvec4\n"
12248   "    (parameters\n"
12249   "      (declare (in) usampler1D sampler)\n"
12250   "      (declare (in) vec4 P)\n"
12251   "      (declare (in) float bias))\n"
12252   "    ())\n"
12253   "  (signature vec4\n"
12254   "    (parameters\n"
12255   "      (declare (in) sampler2D sampler)\n"
12256   "      (declare (in) vec3 P)\n"
12257   "      (declare (in) float bias))\n"
12258   "    ())\n"
12259   "  (signature ivec4\n"
12260   "    (parameters\n"
12261   "      (declare (in) isampler2D sampler)\n"
12262   "      (declare (in) vec3 P)\n"
12263   "      (declare (in) float bias))\n"
12264   "    ())\n"
12265   "  (signature uvec4\n"
12266   "    (parameters\n"
12267   "      (declare (in) usampler2D sampler)\n"
12268   "      (declare (in) vec3 P)\n"
12269   "      (declare (in) float bias))\n"
12270   "    ())\n"
12271   "  (signature vec4\n"
12272   "    (parameters\n"
12273   "      (declare (in) sampler2D sampler)\n"
12274   "      (declare (in) vec4 P)\n"
12275   "      (declare (in) float bias))\n"
12276   "    ())\n"
12277   "  (signature ivec4\n"
12278   "    (parameters\n"
12279   "      (declare (in) isampler2D sampler)\n"
12280   "      (declare (in) vec4 P)\n"
12281   "      (declare (in) float bias))\n"
12282   "    ())\n"
12283   "  (signature uvec4\n"
12284   "    (parameters\n"
12285   "      (declare (in) usampler2D sampler)\n"
12286   "      (declare (in) vec4 P)\n"
12287   "      (declare (in) float bias))\n"
12288   "    ())\n"
12289   "  (signature vec4\n"
12290   "    (parameters\n"
12291   "      (declare (in) sampler3D sampler)\n"
12292   "      (declare (in) vec4 P)\n"
12293   "      (declare (in) float bias))\n"
12294   "    ())\n"
12295   "  (signature ivec4\n"
12296   "    (parameters\n"
12297   "      (declare (in) isampler3D sampler)\n"
12298   "      (declare (in) vec4 P)\n"
12299   "      (declare (in) float bias))\n"
12300   "    ())\n"
12301   "  (signature uvec4\n"
12302   "    (parameters\n"
12303   "      (declare (in) usampler3D sampler)\n"
12304   "      (declare (in) vec4 P)\n"
12305   "      (declare (in) float bias))\n"
12306   "    ())\n"
12307   "  (signature float\n"
12308   "    (parameters\n"
12309   "      (declare (in) sampler1DShadow sampler)\n"
12310   "      (declare (in) vec4 P)\n"
12311   "      (declare (in) float bias))\n"
12312   "    ())\n"
12313   "  (signature float\n"
12314   "    (parameters\n"
12315   "      (declare (in) sampler2DShadow sampler)\n"
12316   "      (declare (in) vec4 P)\n"
12317   "      (declare (in) float bias))\n"
12318   "    ()))\n"
12319   "(function textureOffset\n"
12320   "  (signature vec4\n"
12321   "    (parameters\n"
12322   "      (declare (in) sampler1D sampler)\n"
12323   "      (declare (in) float P)\n"
12324   "      (declare (in) int offset)\n"
12325   "      (declare (in) float bias))\n"
12326   "    ())\n"
12327   "  (signature ivec4\n"
12328   "    (parameters\n"
12329   "      (declare (in) isampler1D sampler)\n"
12330   "      (declare (in) float P)\n"
12331   "      (declare (in) int offset)\n"
12332   "      (declare (in) float bias))\n"
12333   "    ())\n"
12334   "  (signature uvec4\n"
12335   "    (parameters\n"
12336   "      (declare (in) usampler1D sampler)\n"
12337   "      (declare (in) float P)\n"
12338   "      (declare (in) int offset)\n"
12339   "      (declare (in) float bias))\n"
12340   "    ())\n"
12341   "  (signature vec4\n"
12342   "    (parameters\n"
12343   "      (declare (in) sampler2D sampler)\n"
12344   "      (declare (in) vec2 P)\n"
12345   "      (declare (in) ivec2 offset)\n"
12346   "      (declare (in) float bias))\n"
12347   "    ())\n"
12348   "  (signature ivec4\n"
12349   "    (parameters\n"
12350   "      (declare (in) isampler2D sampler)\n"
12351   "      (declare (in) vec2 P)\n"
12352   "      (declare (in) ivec2 offset)\n"
12353   "      (declare (in) float bias))\n"
12354   "    ())\n"
12355   "  (signature uvec4\n"
12356   "    (parameters\n"
12357   "      (declare (in) usampler2D sampler)\n"
12358   "      (declare (in) vec2 P)\n"
12359   "      (declare (in) ivec2 offset)\n"
12360   "      (declare (in) float bias))\n"
12361   "    ())\n"
12362   "  (signature vec4\n"
12363   "    (parameters\n"
12364   "      (declare (in) sampler3D sampler)\n"
12365   "      (declare (in) vec3 P)\n"
12366   "      (declare (in) ivec3 offset)\n"
12367   "      (declare (in) float bias))\n"
12368   "    ())\n"
12369   "  (signature ivec4\n"
12370   "    (parameters\n"
12371   "      (declare (in) isampler3D sampler)\n"
12372   "      (declare (in) vec3 P)\n"
12373   "      (declare (in) ivec3 offset)\n"
12374   "      (declare (in) float bias))\n"
12375   "    ())\n"
12376   "  (signature uvec4\n"
12377   "    (parameters\n"
12378   "      (declare (in) usampler3D sampler)\n"
12379   "      (declare (in) vec3 P)\n"
12380   "      (declare (in) ivec3 offset)\n"
12381   "      (declare (in) float bias))\n"
12382   "    ())\n"
12383   "  (signature float\n"
12384   "    (parameters\n"
12385   "      (declare (in) sampler1DShadow sampler)\n"
12386   "      (declare (in) vec3 P)\n"
12387   "      (declare (in) int offset)\n"
12388   "      (declare (in) float bias))\n"
12389   "    ())\n"
12390   "  (signature float\n"
12391   "    (parameters\n"
12392   "      (declare (in) sampler2DShadow sampler)\n"
12393   "      (declare (in) vec3 P)\n"
12394   "      (declare (in) ivec2 offset)\n"
12395   "      (declare (in) float bias))\n"
12396   "    ())\n"
12397   "  (signature vec4\n"
12398   "    (parameters\n"
12399   "      (declare (in) sampler1DArray sampler)\n"
12400   "      (declare (in) vec2 P)\n"
12401   "      (declare (in) int offset)\n"
12402   "      (declare (in) float bias))\n"
12403   "    ())\n"
12404   "  (signature ivec4\n"
12405   "    (parameters\n"
12406   "      (declare (in) isampler1DArray sampler)\n"
12407   "      (declare (in) vec2 P)\n"
12408   "      (declare (in) int offset)\n"
12409   "      (declare (in) float bias))\n"
12410   "    ())\n"
12411   "  (signature uvec4\n"
12412   "    (parameters\n"
12413   "      (declare (in) usampler1DArray sampler)\n"
12414   "      (declare (in) vec2 P)\n"
12415   "      (declare (in) int offset)\n"
12416   "      (declare (in) float bias))\n"
12417   "    ())\n"
12418   "  (signature vec4\n"
12419   "    (parameters\n"
12420   "      (declare (in) sampler2DArray sampler)\n"
12421   "      (declare (in) vec3 P)\n"
12422   "      (declare (in) ivec2 offset)\n"
12423   "      (declare (in) float bias))\n"
12424   "    ())\n"
12425   "  (signature ivec4\n"
12426   "    (parameters\n"
12427   "      (declare (in) isampler2DArray sampler)\n"
12428   "      (declare (in) vec3 P)\n"
12429   "      (declare (in) ivec2 offset)\n"
12430   "      (declare (in) float bias))\n"
12431   "    ())\n"
12432   "  (signature uvec4\n"
12433   "    (parameters\n"
12434   "      (declare (in) usampler2DArray sampler)\n"
12435   "      (declare (in) vec3 P)\n"
12436   "      (declare (in) ivec2 offset)\n"
12437   "      (declare (in) float bias))\n"
12438   "    ())\n"
12439   "  (signature float\n"
12440   "    (parameters\n"
12441   "      (declare (in) sampler1DArrayShadow samp)\n"
12442   "      (declare (in) vec3 P)\n"
12443   "      (declare (in) int offset)\n"
12444   "      (declare (in) float bias))\n"
12445   "    ()))\n"
12446   "(function textureProjOffset\n"
12447   "  (signature vec4\n"
12448   "    (parameters\n"
12449   "      (declare (in) sampler1D sampler)\n"
12450   "      (declare (in) vec2 P)\n"
12451   "      (declare (in) int offset)\n"
12452   "      (declare (in) float bias))\n"
12453   "    ())\n"
12454   "  (signature ivec4\n"
12455   "    (parameters\n"
12456   "      (declare (in) isampler1D sampler)\n"
12457   "      (declare (in) vec2 P)\n"
12458   "      (declare (in) int offset)\n"
12459   "      (declare (in) float bias))\n"
12460   "    ())\n"
12461   "  (signature uvec4\n"
12462   "    (parameters\n"
12463   "      (declare (in) usampler1D sampler)\n"
12464   "      (declare (in) vec2 P)\n"
12465   "      (declare (in) int offset)\n"
12466   "      (declare (in) float bias))\n"
12467   "    ())\n"
12468   "  (signature vec4\n"
12469   "    (parameters\n"
12470   "      (declare (in) sampler1D sampler)\n"
12471   "      (declare (in) vec4 P)\n"
12472   "      (declare (in) int offset)\n"
12473   "      (declare (in) float bias))\n"
12474   "    ())\n"
12475   "  (signature ivec4\n"
12476   "    (parameters\n"
12477   "      (declare (in) isampler1D sampler)\n"
12478   "      (declare (in) vec4 P)\n"
12479   "      (declare (in) int offset)\n"
12480   "      (declare (in) float bias))\n"
12481   "    ())\n"
12482   "  (signature uvec4\n"
12483   "    (parameters\n"
12484   "      (declare (in) usampler1D sampler)\n"
12485   "      (declare (in) vec4 P)\n"
12486   "      (declare (in) int offset)\n"
12487   "      (declare (in) float bias))\n"
12488   "    ())\n"
12489   "  (signature vec4\n"
12490   "    (parameters\n"
12491   "      (declare (in) sampler2D sampler)\n"
12492   "      (declare (in) vec3 P)\n"
12493   "      (declare (in) ivec2 offset)\n"
12494   "      (declare (in) float bias))\n"
12495   "    ())\n"
12496   "  (signature ivec4\n"
12497   "    (parameters\n"
12498   "      (declare (in) isampler2D sampler)\n"
12499   "      (declare (in) vec3 P)\n"
12500   "      (declare (in) ivec2 offset)\n"
12501   "      (declare (in) float bias))\n"
12502   "    ())\n"
12503   "  (signature uvec4\n"
12504   "    (parameters\n"
12505   "      (declare (in) usampler2D sampler)\n"
12506   "      (declare (in) vec3 P)\n"
12507   "      (declare (in) ivec2 offset)\n"
12508   "      (declare (in) float bias))\n"
12509   "    ())\n"
12510   "  (signature vec4\n"
12511   "    (parameters\n"
12512   "      (declare (in) sampler2D sampler)\n"
12513   "      (declare (in) vec4 P)\n"
12514   "      (declare (in) ivec2 offset)\n"
12515   "      (declare (in) float bias))\n"
12516   "    ())\n"
12517   "  (signature ivec4\n"
12518   "    (parameters\n"
12519   "      (declare (in) isampler2D sampler)\n"
12520   "      (declare (in) vec4 P)\n"
12521   "      (declare (in) ivec2 offset)\n"
12522   "      (declare (in) float bias))\n"
12523   "    ())\n"
12524   "  (signature uvec4\n"
12525   "    (parameters\n"
12526   "      (declare (in) usampler2D sampler)\n"
12527   "      (declare (in) vec4 P)\n"
12528   "      (declare (in) ivec2 offset)\n"
12529   "      (declare (in) float bias))\n"
12530   "    ())\n"
12531   "  (signature vec4\n"
12532   "    (parameters\n"
12533   "      (declare (in) sampler3D sampler)\n"
12534   "      (declare (in) vec4 P)\n"
12535   "      (declare (in) ivec3 offset)\n"
12536   "      (declare (in) float bias))\n"
12537   "    ())\n"
12538   "  (signature ivec4\n"
12539   "    (parameters\n"
12540   "      (declare (in) isampler3D sampler)\n"
12541   "      (declare (in) vec4 P)\n"
12542   "      (declare (in) ivec3 offset)\n"
12543   "      (declare (in) float bias))\n"
12544   "    ())\n"
12545   "  (signature uvec4\n"
12546   "    (parameters\n"
12547   "      (declare (in) usampler3D sampler)\n"
12548   "      (declare (in) vec4 P)\n"
12549   "      (declare (in) ivec3 offset)\n"
12550   "      (declare (in) float bias))\n"
12551   "    ())\n"
12552   "  (signature float\n"
12553   "    (parameters\n"
12554   "      (declare (in) sampler1DShadow s)\n"
12555   "      (declare (in) vec4 P)\n"
12556   "      (declare (in) int offset)\n"
12557   "      (declare (in) float bias))\n"
12558   "    ())\n"
12559   "  (signature float\n"
12560   "    (parameters\n"
12561   "      (declare (in) sampler2DShadow s)\n"
12562   "      (declare (in) vec4 P)\n"
12563   "      (declare (in) ivec2 offset)\n"
12564   "      (declare (in) float bias))\n"
12565   "    ()))\n"
12566   "(function texture1D\n"
12567   "  (signature vec4\n"
12568   "    (parameters\n"
12569   "      (declare (in) sampler1D sampler)\n"
12570   "      (declare (in) float coord)\n"
12571   "      (declare (in) float bias))\n"
12572   "    ()))\n"
12573   "(function texture1DProj\n"
12574   "  (signature vec4\n"
12575   "    (parameters\n"
12576   "      (declare (in) sampler1D sampler)\n"
12577   "      (declare (in) vec2 coord)\n"
12578   "      (declare (in) float bias))\n"
12579   "    ())\n"
12580   "  (signature vec4\n"
12581   "    (parameters\n"
12582   "      (declare (in) sampler1D sampler)\n"
12583   "      (declare (in) vec4 coord)\n"
12584   "      (declare (in) float bias))\n"
12585   "    ()))\n"
12586   "(function texture2D\n"
12587   "  (signature vec4\n"
12588   "    (parameters\n"
12589   "      (declare (in) sampler2D sampler)\n"
12590   "      (declare (in) vec2 coord)\n"
12591   "      (declare (in) float bias))\n"
12592   "    ()))\n"
12593   "(function texture2DProj\n"
12594   "  (signature vec4\n"
12595   "    (parameters\n"
12596   "      (declare (in) sampler2D sampler)\n"
12597   "      (declare (in) vec3 coord)\n"
12598   "      (declare (in) float bias))\n"
12599   "    ())\n"
12600   "  (signature vec4\n"
12601   "    (parameters\n"
12602   "      (declare (in) sampler2D sampler)\n"
12603   "      (declare (in) vec4 coord)\n"
12604   "      (declare (in) float bias))\n"
12605   "    ()))\n"
12606   "(function texture3D\n"
12607   "  (signature vec4\n"
12608   "    (parameters\n"
12609   "      (declare (in) sampler3D sampler)\n"
12610   "      (declare (in) vec3 coord)\n"
12611   "      (declare (in) float bias))\n"
12612   "    ()))\n"
12613   "(function texture3DProj\n"
12614   "  (signature vec4\n"
12615   "    (parameters\n"
12616   "      (declare (in) sampler3D sampler)\n"
12617   "      (declare (in) vec4 coord)\n"
12618   "      (declare (in) float bias))\n"
12619   "    ()))\n"
12620   "(function textureCube\n"
12621   "  (signature vec4\n"
12622   "    (parameters\n"
12623   "      (declare (in) samplerCube sampler)\n"
12624   "      (declare (in) vec3 coord)\n"
12625   "      (declare (in) float bias))\n"
12626   "    ()))\n"
12627   "(function shadow1D\n"
12628   "  (signature vec4\n"
12629   "    (parameters\n"
12630   "      (declare (in) sampler1DShadow sampler)\n"
12631   "      (declare (in) vec3 coord)\n"
12632   "      (declare (in) float bias))\n"
12633   "    ()))\n"
12634   "(function shadow2D\n"
12635   "  (signature vec4\n"
12636   "    (parameters\n"
12637   "      (declare (in) sampler2DShadow sampler)\n"
12638   "      (declare (in) vec3 coord)\n"
12639   "      (declare (in) float bias))\n"
12640   "    ()))\n"
12641   "(function shadow1DProj\n"
12642   "  (signature vec4\n"
12643   "    (parameters\n"
12644   "      (declare (in) sampler1DShadow sampler)\n"
12645   "      (declare (in) vec4 coord)\n"
12646   "      (declare (in) float bias))\n"
12647   "    ()))\n"
12648   "(function shadow2DProj\n"
12649   "  (signature vec4\n"
12650   "    (parameters\n"
12651   "      (declare (in) sampler2DShadow sampler)\n"
12652   "      (declare (in) vec4 coord)\n"
12653   "      (declare (in) float bias))\n"
12654   "    ()))\n"
12655   "(function dFdx\n"
12656   "  (signature float\n"
12657   "    (parameters\n"
12658   "      (declare (in) float p))\n"
12659   "    ())\n"
12660   "  (signature vec2\n"
12661   "    (parameters\n"
12662   "      (declare (in) vec2 p))\n"
12663   "    ())\n"
12664   "  (signature vec3\n"
12665   "    (parameters\n"
12666   "      (declare (in) vec3 p))\n"
12667   "    ())\n"
12668   "  (signature vec4\n"
12669   "    (parameters\n"
12670   "      (declare (in) vec4 p))\n"
12671   "    ()))\n"
12672   "(function dFdy\n"
12673   "  (signature float\n"
12674   "    (parameters\n"
12675   "      (declare (in) float p))\n"
12676   "    ())\n"
12677   "  (signature vec2\n"
12678   "    (parameters\n"
12679   "      (declare (in) vec2 p))\n"
12680   "    ())\n"
12681   "  (signature vec3\n"
12682   "    (parameters\n"
12683   "      (declare (in) vec3 p))\n"
12684   "    ())\n"
12685   "  (signature vec4\n"
12686   "    (parameters\n"
12687   "      (declare (in) vec4 p))\n"
12688   "    ()))\n"
12689   "(function fwidth\n"
12690   "  (signature float\n"
12691   "    (parameters\n"
12692   "      (declare (in) float p))\n"
12693   "    ())\n"
12694   "  (signature vec2\n"
12695   "    (parameters\n"
12696   "      (declare (in) vec2 p))\n"
12697   "    ())\n"
12698   "  (signature vec3\n"
12699   "    (parameters\n"
12700   "      (declare (in) vec3 p))\n"
12701   "    ())\n"
12702   "  (signature vec4\n"
12703   "    (parameters\n"
12704   "      (declare (in) vec4 p))\n"
12705   "    ())))"
12706;
12707static const char *functions_for_130_frag [] = {
12708   builtin_dFdx,
12709   builtin_dFdy,
12710   builtin_fwidth,
12711   builtin_shadow1D,
12712   builtin_shadow1DProj,
12713   builtin_shadow2D,
12714   builtin_shadow2DProj,
12715   builtin_texture,
12716   builtin_texture1D,
12717   builtin_texture1DProj,
12718   builtin_texture2D,
12719   builtin_texture2DProj,
12720   builtin_texture3D,
12721   builtin_texture3DProj,
12722   builtin_textureCube,
12723   builtin_textureOffset,
12724   builtin_textureProj,
12725   builtin_textureProjOffset,
12726};
12727static const char prototypes_for_130_glsl[] =
12728{'(',
12729'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
12730'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
12731'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12732'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12733'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12734'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12735'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
12736'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
12737'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12738'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12739'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12740'(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12741'(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12742'(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12743'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12744'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12745'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12746'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12747'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12748'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12749'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12750'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12751'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12752'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12753'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12754'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12755'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12756'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12757'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12758'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12759'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
12760'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
12761'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
12762'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
12763'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','o','o','l',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','a',')',')',' ','(',')',')',')',
12764'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12765'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12766'(','f','u','n','c','t','i','o','n',' ','i','s','n','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12767'(','f','u','n','c','t','i','o','n',' ','i','s','i','n','f',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12768'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12769'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
12770'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12771'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
12772'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12773'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
12774'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
12775'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
12776'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
12777'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
12778'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
12779'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12780'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12781'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12782'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12783'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12784'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
12785'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12786'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12787'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12788'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','S','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
12789'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',')',
12790'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',')',
12791'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12792'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
12793'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',')',
12794'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
12795'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
12796'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
12797'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12798'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
12799'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
12800'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o',')',')',' ','(',')',')',')',
12801'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
12802'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o',')',')',' ','(',')',')',')',
12803'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12804'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12805'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12806'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12807'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12808'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12809'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12810'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12811'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12812'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12813'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12814'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12815'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12816'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12817'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12818'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12819'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12820'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
12821'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12822'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12823'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12824'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
12825'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12826'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12827'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
12828'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
12829static const char *functions_for_130_glsl [] = {
12830   builtin_abs,
12831   builtin_acos,
12832   builtin_acosh,
12833   builtin_all,
12834   builtin_any,
12835   builtin_asin,
12836   builtin_asinh,
12837   builtin_atan,
12838   builtin_atanh,
12839   builtin_ceil,
12840   builtin_clamp,
12841   builtin_cos,
12842   builtin_cosh,
12843   builtin_cross,
12844   builtin_degrees,
12845   builtin_distance,
12846   builtin_dot,
12847   builtin_equal,
12848   builtin_exp,
12849   builtin_exp2,
12850   builtin_faceforward,
12851   builtin_floor,
12852   builtin_fract,
12853   builtin_greaterThan,
12854   builtin_greaterThanEqual,
12855   builtin_inversesqrt,
12856   builtin_isinf,
12857   builtin_isnan,
12858   builtin_length,
12859   builtin_lessThan,
12860   builtin_lessThanEqual,
12861   builtin_log,
12862   builtin_log2,
12863   builtin_matrixCompMult,
12864   builtin_max,
12865   builtin_min,
12866   builtin_mix,
12867   builtin_mod,
12868   builtin_modf,
12869   builtin_noise1,
12870   builtin_noise2,
12871   builtin_noise3,
12872   builtin_noise4,
12873   builtin_normalize,
12874   builtin_not,
12875   builtin_notEqual,
12876   builtin_outerProduct,
12877   builtin_pow,
12878   builtin_radians,
12879   builtin_reflect,
12880   builtin_refract,
12881   builtin_round,
12882   builtin_roundEven,
12883   builtin_shadow1D,
12884   builtin_shadow1DLod,
12885   builtin_shadow1DProj,
12886   builtin_shadow1DProjLod,
12887   builtin_shadow2D,
12888   builtin_shadow2DLod,
12889   builtin_shadow2DProj,
12890   builtin_shadow2DProjLod,
12891   builtin_sign,
12892   builtin_sin,
12893   builtin_sinh,
12894   builtin_smoothstep,
12895   builtin_sqrt,
12896   builtin_step,
12897   builtin_tan,
12898   builtin_tanh,
12899   builtin_texelFetch,
12900   builtin_texelFetchOffset,
12901   builtin_texture,
12902   builtin_texture1D,
12903   builtin_texture1DLod,
12904   builtin_texture1DProj,
12905   builtin_texture1DProjLod,
12906   builtin_texture2D,
12907   builtin_texture2DLod,
12908   builtin_texture2DProj,
12909   builtin_texture2DProjLod,
12910   builtin_texture3D,
12911   builtin_texture3DLod,
12912   builtin_texture3DProj,
12913   builtin_texture3DProjLod,
12914   builtin_textureCube,
12915   builtin_textureCubeLod,
12916   builtin_textureGrad,
12917   builtin_textureGradOffset,
12918   builtin_textureLod,
12919   builtin_textureLodOffset,
12920   builtin_textureOffset,
12921   builtin_textureProj,
12922   builtin_textureProjGrad,
12923   builtin_textureProjGradOffset,
12924   builtin_textureProjLod,
12925   builtin_textureProjLodOffset,
12926   builtin_textureProjOffset,
12927   builtin_textureSize,
12928   builtin_transpose,
12929   builtin_trunc,
12930};
12931static const char prototypes_for_130_vert[] =
12932   "(\n"
12933   "(function ftransform\n"
12934   "  (signature vec4\n"
12935   "    (parameters)\n"
12936   "    ())))"
12937;
12938static const char *functions_for_130_vert [] = {
12939   builtin_ftransform,
12940};
12941static const char prototypes_for_140_frag[] =
12942   "(\n"
12943   "(function texture\n"
12944   "  (signature vec4\n"
12945   "    (parameters\n"
12946   "      (declare (in) sampler1D sampler)\n"
12947   "      (declare (in) float P)\n"
12948   "      (declare (in) float bias))\n"
12949   "    ())\n"
12950   "  (signature ivec4\n"
12951   "    (parameters\n"
12952   "      (declare (in) isampler1D sampler)\n"
12953   "      (declare (in) float P)\n"
12954   "      (declare (in) float bias))\n"
12955   "    ())\n"
12956   "  (signature uvec4\n"
12957   "    (parameters\n"
12958   "      (declare (in) usampler1D sampler)\n"
12959   "      (declare (in) float P)\n"
12960   "      (declare (in) float bias))\n"
12961   "    ())\n"
12962   "  (signature vec4\n"
12963   "    (parameters\n"
12964   "      (declare (in) sampler2D sampler)\n"
12965   "      (declare (in) vec2 P)\n"
12966   "      (declare (in) float bias))\n"
12967   "    ())\n"
12968   "  (signature ivec4\n"
12969   "    (parameters\n"
12970   "      (declare (in) isampler2D sampler)\n"
12971   "      (declare (in) vec2 P)\n"
12972   "      (declare (in) float bias))\n"
12973   "    ())\n"
12974   "  (signature uvec4\n"
12975   "    (parameters\n"
12976   "      (declare (in) usampler2D sampler)\n"
12977   "      (declare (in) vec2 P)\n"
12978   "      (declare (in) float bias))\n"
12979   "    ())\n"
12980   "  (signature vec4\n"
12981   "    (parameters\n"
12982   "      (declare (in) sampler3D sampler)\n"
12983   "      (declare (in) vec3 P)\n"
12984   "      (declare (in) float bias))\n"
12985   "    ())\n"
12986   "  (signature ivec4\n"
12987   "    (parameters\n"
12988   "      (declare (in) isampler3D sampler)\n"
12989   "      (declare (in) vec3 P)\n"
12990   "      (declare (in) float bias))\n"
12991   "    ())\n"
12992   "  (signature uvec4\n"
12993   "    (parameters\n"
12994   "      (declare (in) usampler3D sampler)\n"
12995   "      (declare (in) vec3 P)\n"
12996   "      (declare (in) float bias))\n"
12997   "    ())\n"
12998   "  (signature vec4\n"
12999   "    (parameters\n"
13000   "      (declare (in) samplerCube sampler)\n"
13001   "      (declare (in) vec3 P)\n"
13002   "      (declare (in) float bias))\n"
13003   "    ())\n"
13004   "  (signature ivec4\n"
13005   "    (parameters\n"
13006   "      (declare (in) isamplerCube sampler)\n"
13007   "      (declare (in) vec3 P)\n"
13008   "      (declare (in) float bias))\n"
13009   "    ())\n"
13010   "  (signature uvec4\n"
13011   "    (parameters\n"
13012   "      (declare (in) usamplerCube sampler)\n"
13013   "      (declare (in) vec3 P)\n"
13014   "      (declare (in) float bias))\n"
13015   "    ())\n"
13016   "  (signature float\n"
13017   "    (parameters\n"
13018   "      (declare (in) sampler1DShadow sampler)\n"
13019   "      (declare (in) vec3 P)\n"
13020   "      (declare (in) float bias))\n"
13021   "    ())\n"
13022   "  (signature float\n"
13023   "    (parameters\n"
13024   "      (declare (in) sampler2DShadow sampler)\n"
13025   "      (declare (in) vec3 P)\n"
13026   "      (declare (in) float bias))\n"
13027   "    ())\n"
13028   "  (signature float\n"
13029   "    (parameters\n"
13030   "      (declare (in) samplerCubeShadow sampler)\n"
13031   "      (declare (in) vec4 P)\n"
13032   "      (declare (in) float bias))\n"
13033   "    ())\n"
13034   "  (signature vec4\n"
13035   "    (parameters\n"
13036   "      (declare (in) sampler1DArray sampler)\n"
13037   "      (declare (in) vec2 P)\n"
13038   "      (declare (in) float bias))\n"
13039   "    ())\n"
13040   "  (signature ivec4\n"
13041   "    (parameters\n"
13042   "      (declare (in) isampler1DArray sampler)\n"
13043   "      (declare (in) vec2 P)\n"
13044   "      (declare (in) float bias))\n"
13045   "    ())\n"
13046   "  (signature uvec4\n"
13047   "    (parameters\n"
13048   "      (declare (in) usampler1DArray sampler)\n"
13049   "      (declare (in) vec2 P)\n"
13050   "      (declare (in) float bias))\n"
13051   "    ())\n"
13052   "  (signature vec4\n"
13053   "    (parameters\n"
13054   "      (declare (in) sampler2DArray sampler)\n"
13055   "      (declare (in) vec3 P)\n"
13056   "      (declare (in) float bias))\n"
13057   "    ())\n"
13058   "  (signature ivec4\n"
13059   "    (parameters\n"
13060   "      (declare (in) isampler2DArray sampler)\n"
13061   "      (declare (in) vec3 P)\n"
13062   "      (declare (in) float bias))\n"
13063   "    ())\n"
13064   "  (signature uvec4\n"
13065   "    (parameters\n"
13066   "      (declare (in) usampler2DArray sampler)\n"
13067   "      (declare (in) vec3 P)\n"
13068   "      (declare (in) float bias))\n"
13069   "    ())\n"
13070   "  (signature float\n"
13071   "    (parameters\n"
13072   "      (declare (in) sampler1DArrayShadow sampler)\n"
13073   "      (declare (in) vec3 P)\n"
13074   "      (declare (in) float bias))\n"
13075   "    ()))\n"
13076   "(function textureProj\n"
13077   "  (signature vec4\n"
13078   "    (parameters\n"
13079   "      (declare (in) sampler1D sampler)\n"
13080   "      (declare (in) vec2 P)\n"
13081   "      (declare (in) float bias))\n"
13082   "    ())\n"
13083   "  (signature ivec4\n"
13084   "    (parameters\n"
13085   "      (declare (in) isampler1D sampler)\n"
13086   "      (declare (in) vec2 P)\n"
13087   "      (declare (in) float bias))\n"
13088   "    ())\n"
13089   "  (signature uvec4\n"
13090   "    (parameters\n"
13091   "      (declare (in) usampler1D sampler)\n"
13092   "      (declare (in) vec2 P)\n"
13093   "      (declare (in) float bias))\n"
13094   "    ())\n"
13095   "  (signature vec4\n"
13096   "    (parameters\n"
13097   "      (declare (in) sampler1D sampler)\n"
13098   "      (declare (in) vec4 P)\n"
13099   "      (declare (in) float bias))\n"
13100   "    ())\n"
13101   "  (signature ivec4\n"
13102   "    (parameters\n"
13103   "      (declare (in) isampler1D sampler)\n"
13104   "      (declare (in) vec4 P)\n"
13105   "      (declare (in) float bias))\n"
13106   "    ())\n"
13107   "  (signature uvec4\n"
13108   "    (parameters\n"
13109   "      (declare (in) usampler1D sampler)\n"
13110   "      (declare (in) vec4 P)\n"
13111   "      (declare (in) float bias))\n"
13112   "    ())\n"
13113   "  (signature vec4\n"
13114   "    (parameters\n"
13115   "      (declare (in) sampler2D sampler)\n"
13116   "      (declare (in) vec3 P)\n"
13117   "      (declare (in) float bias))\n"
13118   "    ())\n"
13119   "  (signature ivec4\n"
13120   "    (parameters\n"
13121   "      (declare (in) isampler2D sampler)\n"
13122   "      (declare (in) vec3 P)\n"
13123   "      (declare (in) float bias))\n"
13124   "    ())\n"
13125   "  (signature uvec4\n"
13126   "    (parameters\n"
13127   "      (declare (in) usampler2D sampler)\n"
13128   "      (declare (in) vec3 P)\n"
13129   "      (declare (in) float bias))\n"
13130   "    ())\n"
13131   "  (signature vec4\n"
13132   "    (parameters\n"
13133   "      (declare (in) sampler2D sampler)\n"
13134   "      (declare (in) vec4 P)\n"
13135   "      (declare (in) float bias))\n"
13136   "    ())\n"
13137   "  (signature ivec4\n"
13138   "    (parameters\n"
13139   "      (declare (in) isampler2D sampler)\n"
13140   "      (declare (in) vec4 P)\n"
13141   "      (declare (in) float bias))\n"
13142   "    ())\n"
13143   "  (signature uvec4\n"
13144   "    (parameters\n"
13145   "      (declare (in) usampler2D sampler)\n"
13146   "      (declare (in) vec4 P)\n"
13147   "      (declare (in) float bias))\n"
13148   "    ())\n"
13149   "  (signature vec4\n"
13150   "    (parameters\n"
13151   "      (declare (in) sampler3D sampler)\n"
13152   "      (declare (in) vec4 P)\n"
13153   "      (declare (in) float bias))\n"
13154   "    ())\n"
13155   "  (signature ivec4\n"
13156   "    (parameters\n"
13157   "      (declare (in) isampler3D sampler)\n"
13158   "      (declare (in) vec4 P)\n"
13159   "      (declare (in) float bias))\n"
13160   "    ())\n"
13161   "  (signature uvec4\n"
13162   "    (parameters\n"
13163   "      (declare (in) usampler3D sampler)\n"
13164   "      (declare (in) vec4 P)\n"
13165   "      (declare (in) float bias))\n"
13166   "    ())\n"
13167   "  (signature float\n"
13168   "    (parameters\n"
13169   "      (declare (in) sampler1DShadow sampler)\n"
13170   "      (declare (in) vec4 P)\n"
13171   "      (declare (in) float bias))\n"
13172   "    ())\n"
13173   "  (signature float\n"
13174   "    (parameters\n"
13175   "      (declare (in) sampler2DShadow sampler)\n"
13176   "      (declare (in) vec4 P)\n"
13177   "      (declare (in) float bias))\n"
13178   "    ()))\n"
13179   "(function textureOffset\n"
13180   "  (signature vec4\n"
13181   "    (parameters\n"
13182   "      (declare (in) sampler1D sampler)\n"
13183   "      (declare (in) float P)\n"
13184   "      (declare (in) int offset)\n"
13185   "      (declare (in) float bias))\n"
13186   "    ())\n"
13187   "  (signature ivec4\n"
13188   "    (parameters\n"
13189   "      (declare (in) isampler1D sampler)\n"
13190   "      (declare (in) float P)\n"
13191   "      (declare (in) int offset)\n"
13192   "      (declare (in) float bias))\n"
13193   "    ())\n"
13194   "  (signature uvec4\n"
13195   "    (parameters\n"
13196   "      (declare (in) usampler1D sampler)\n"
13197   "      (declare (in) float P)\n"
13198   "      (declare (in) int offset)\n"
13199   "      (declare (in) float bias))\n"
13200   "    ())\n"
13201   "  (signature vec4\n"
13202   "    (parameters\n"
13203   "      (declare (in) sampler2D sampler)\n"
13204   "      (declare (in) vec2 P)\n"
13205   "      (declare (in) ivec2 offset)\n"
13206   "      (declare (in) float bias))\n"
13207   "    ())\n"
13208   "  (signature ivec4\n"
13209   "    (parameters\n"
13210   "      (declare (in) isampler2D sampler)\n"
13211   "      (declare (in) vec2 P)\n"
13212   "      (declare (in) ivec2 offset)\n"
13213   "      (declare (in) float bias))\n"
13214   "    ())\n"
13215   "  (signature uvec4\n"
13216   "    (parameters\n"
13217   "      (declare (in) usampler2D sampler)\n"
13218   "      (declare (in) vec2 P)\n"
13219   "      (declare (in) ivec2 offset)\n"
13220   "      (declare (in) float bias))\n"
13221   "    ())\n"
13222   "  (signature vec4\n"
13223   "    (parameters\n"
13224   "      (declare (in) sampler3D sampler)\n"
13225   "      (declare (in) vec3 P)\n"
13226   "      (declare (in) ivec3 offset)\n"
13227   "      (declare (in) float bias))\n"
13228   "    ())\n"
13229   "  (signature ivec4\n"
13230   "    (parameters\n"
13231   "      (declare (in) isampler3D sampler)\n"
13232   "      (declare (in) vec3 P)\n"
13233   "      (declare (in) ivec3 offset)\n"
13234   "      (declare (in) float bias))\n"
13235   "    ())\n"
13236   "  (signature uvec4\n"
13237   "    (parameters\n"
13238   "      (declare (in) usampler3D sampler)\n"
13239   "      (declare (in) vec3 P)\n"
13240   "      (declare (in) ivec3 offset)\n"
13241   "      (declare (in) float bias))\n"
13242   "    ())\n"
13243   "  (signature float\n"
13244   "    (parameters\n"
13245   "      (declare (in) sampler1DShadow sampler)\n"
13246   "      (declare (in) vec3 P)\n"
13247   "      (declare (in) int offset)\n"
13248   "      (declare (in) float bias))\n"
13249   "    ())\n"
13250   "  (signature float\n"
13251   "    (parameters\n"
13252   "      (declare (in) sampler2DShadow sampler)\n"
13253   "      (declare (in) vec3 P)\n"
13254   "      (declare (in) ivec2 offset)\n"
13255   "      (declare (in) float bias))\n"
13256   "    ())\n"
13257   "  (signature vec4\n"
13258   "    (parameters\n"
13259   "      (declare (in) sampler1DArray sampler)\n"
13260   "      (declare (in) vec2 P)\n"
13261   "      (declare (in) int offset)\n"
13262   "      (declare (in) float bias))\n"
13263   "    ())\n"
13264   "  (signature ivec4\n"
13265   "    (parameters\n"
13266   "      (declare (in) isampler1DArray sampler)\n"
13267   "      (declare (in) vec2 P)\n"
13268   "      (declare (in) int offset)\n"
13269   "      (declare (in) float bias))\n"
13270   "    ())\n"
13271   "  (signature uvec4\n"
13272   "    (parameters\n"
13273   "      (declare (in) usampler1DArray sampler)\n"
13274   "      (declare (in) vec2 P)\n"
13275   "      (declare (in) int offset)\n"
13276   "      (declare (in) float bias))\n"
13277   "    ())\n"
13278   "  (signature vec4\n"
13279   "    (parameters\n"
13280   "      (declare (in) sampler2DArray sampler)\n"
13281   "      (declare (in) vec3 P)\n"
13282   "      (declare (in) ivec2 offset)\n"
13283   "      (declare (in) float bias))\n"
13284   "    ())\n"
13285   "  (signature ivec4\n"
13286   "    (parameters\n"
13287   "      (declare (in) isampler2DArray sampler)\n"
13288   "      (declare (in) vec3 P)\n"
13289   "      (declare (in) ivec2 offset)\n"
13290   "      (declare (in) float bias))\n"
13291   "    ())\n"
13292   "  (signature uvec4\n"
13293   "    (parameters\n"
13294   "      (declare (in) usampler2DArray sampler)\n"
13295   "      (declare (in) vec3 P)\n"
13296   "      (declare (in) ivec2 offset)\n"
13297   "      (declare (in) float bias))\n"
13298   "    ())\n"
13299   "  (signature float\n"
13300   "    (parameters\n"
13301   "      (declare (in) sampler1DArrayShadow samp)\n"
13302   "      (declare (in) vec3 P)\n"
13303   "      (declare (in) int offset)\n"
13304   "      (declare (in) float bias))\n"
13305   "    ()))\n"
13306   "(function textureProjOffset\n"
13307   "  (signature vec4\n"
13308   "    (parameters\n"
13309   "      (declare (in) sampler1D sampler)\n"
13310   "      (declare (in) vec2 P)\n"
13311   "      (declare (in) int offset)\n"
13312   "      (declare (in) float bias))\n"
13313   "    ())\n"
13314   "  (signature ivec4\n"
13315   "    (parameters\n"
13316   "      (declare (in) isampler1D sampler)\n"
13317   "      (declare (in) vec2 P)\n"
13318   "      (declare (in) int offset)\n"
13319   "      (declare (in) float bias))\n"
13320   "    ())\n"
13321   "  (signature uvec4\n"
13322   "    (parameters\n"
13323   "      (declare (in) usampler1D sampler)\n"
13324   "      (declare (in) vec2 P)\n"
13325   "      (declare (in) int offset)\n"
13326   "      (declare (in) float bias))\n"
13327   "    ())\n"
13328   "  (signature vec4\n"
13329   "    (parameters\n"
13330   "      (declare (in) sampler1D sampler)\n"
13331   "      (declare (in) vec4 P)\n"
13332   "      (declare (in) int offset)\n"
13333   "      (declare (in) float bias))\n"
13334   "    ())\n"
13335   "  (signature ivec4\n"
13336   "    (parameters\n"
13337   "      (declare (in) isampler1D sampler)\n"
13338   "      (declare (in) vec4 P)\n"
13339   "      (declare (in) int offset)\n"
13340   "      (declare (in) float bias))\n"
13341   "    ())\n"
13342   "  (signature uvec4\n"
13343   "    (parameters\n"
13344   "      (declare (in) usampler1D sampler)\n"
13345   "      (declare (in) vec4 P)\n"
13346   "      (declare (in) int offset)\n"
13347   "      (declare (in) float bias))\n"
13348   "    ())\n"
13349   "  (signature vec4\n"
13350   "    (parameters\n"
13351   "      (declare (in) sampler2D sampler)\n"
13352   "      (declare (in) vec3 P)\n"
13353   "      (declare (in) ivec2 offset)\n"
13354   "      (declare (in) float bias))\n"
13355   "    ())\n"
13356   "  (signature ivec4\n"
13357   "    (parameters\n"
13358   "      (declare (in) isampler2D sampler)\n"
13359   "      (declare (in) vec3 P)\n"
13360   "      (declare (in) ivec2 offset)\n"
13361   "      (declare (in) float bias))\n"
13362   "    ())\n"
13363   "  (signature uvec4\n"
13364   "    (parameters\n"
13365   "      (declare (in) usampler2D sampler)\n"
13366   "      (declare (in) vec3 P)\n"
13367   "      (declare (in) ivec2 offset)\n"
13368   "      (declare (in) float bias))\n"
13369   "    ())\n"
13370   "  (signature vec4\n"
13371   "    (parameters\n"
13372   "      (declare (in) sampler2D sampler)\n"
13373   "      (declare (in) vec4 P)\n"
13374   "      (declare (in) ivec2 offset)\n"
13375   "      (declare (in) float bias))\n"
13376   "    ())\n"
13377   "  (signature ivec4\n"
13378   "    (parameters\n"
13379   "      (declare (in) isampler2D sampler)\n"
13380   "      (declare (in) vec4 P)\n"
13381   "      (declare (in) ivec2 offset)\n"
13382   "      (declare (in) float bias))\n"
13383   "    ())\n"
13384   "  (signature uvec4\n"
13385   "    (parameters\n"
13386   "      (declare (in) usampler2D sampler)\n"
13387   "      (declare (in) vec4 P)\n"
13388   "      (declare (in) ivec2 offset)\n"
13389   "      (declare (in) float bias))\n"
13390   "    ())\n"
13391   "  (signature vec4\n"
13392   "    (parameters\n"
13393   "      (declare (in) sampler3D sampler)\n"
13394   "      (declare (in) vec4 P)\n"
13395   "      (declare (in) ivec3 offset)\n"
13396   "      (declare (in) float bias))\n"
13397   "    ())\n"
13398   "  (signature ivec4\n"
13399   "    (parameters\n"
13400   "      (declare (in) isampler3D sampler)\n"
13401   "      (declare (in) vec4 P)\n"
13402   "      (declare (in) ivec3 offset)\n"
13403   "      (declare (in) float bias))\n"
13404   "    ())\n"
13405   "  (signature uvec4\n"
13406   "    (parameters\n"
13407   "      (declare (in) usampler3D sampler)\n"
13408   "      (declare (in) vec4 P)\n"
13409   "      (declare (in) ivec3 offset)\n"
13410   "      (declare (in) float bias))\n"
13411   "    ())\n"
13412   "  (signature float\n"
13413   "    (parameters\n"
13414   "      (declare (in) sampler1DShadow s)\n"
13415   "      (declare (in) vec4 P)\n"
13416   "      (declare (in) int offset)\n"
13417   "      (declare (in) float bias))\n"
13418   "    ())\n"
13419   "  (signature float\n"
13420   "    (parameters\n"
13421   "      (declare (in) sampler2DShadow s)\n"
13422   "      (declare (in) vec4 P)\n"
13423   "      (declare (in) ivec2 offset)\n"
13424   "      (declare (in) float bias))\n"
13425   "    ()))\n"
13426   "(function texture1D\n"
13427   "  (signature vec4\n"
13428   "    (parameters\n"
13429   "      (declare (in) sampler1D sampler)\n"
13430   "      (declare (in) float coord)\n"
13431   "      (declare (in) float bias))\n"
13432   "    ()))\n"
13433   "(function texture1DProj\n"
13434   "  (signature vec4\n"
13435   "    (parameters\n"
13436   "      (declare (in) sampler1D sampler)\n"
13437   "      (declare (in) vec2 coord)\n"
13438   "      (declare (in) float bias))\n"
13439   "    ())\n"
13440   "  (signature vec4\n"
13441   "    (parameters\n"
13442   "      (declare (in) sampler1D sampler)\n"
13443   "      (declare (in) vec4 coord)\n"
13444   "      (declare (in) float bias))\n"
13445   "    ()))\n"
13446   "(function texture2D\n"
13447   "  (signature vec4\n"
13448   "    (parameters\n"
13449   "      (declare (in) sampler2D sampler)\n"
13450   "      (declare (in) vec2 coord)\n"
13451   "      (declare (in) float bias))\n"
13452   "    ()))\n"
13453   "(function texture2DProj\n"
13454   "  (signature vec4\n"
13455   "    (parameters\n"
13456   "      (declare (in) sampler2D sampler)\n"
13457   "      (declare (in) vec3 coord)\n"
13458   "      (declare (in) float bias))\n"
13459   "    ())\n"
13460   "  (signature vec4\n"
13461   "    (parameters\n"
13462   "      (declare (in) sampler2D sampler)\n"
13463   "      (declare (in) vec4 coord)\n"
13464   "      (declare (in) float bias))\n"
13465   "    ()))\n"
13466   "(function texture3D\n"
13467   "  (signature vec4\n"
13468   "    (parameters\n"
13469   "      (declare (in) sampler3D sampler)\n"
13470   "      (declare (in) vec3 coord)\n"
13471   "      (declare (in) float bias))\n"
13472   "    ()))\n"
13473   "(function texture3DProj\n"
13474   "  (signature vec4\n"
13475   "    (parameters\n"
13476   "      (declare (in) sampler3D sampler)\n"
13477   "      (declare (in) vec4 coord)\n"
13478   "      (declare (in) float bias))\n"
13479   "    ()))\n"
13480   "(function textureCube\n"
13481   "  (signature vec4\n"
13482   "    (parameters\n"
13483   "      (declare (in) samplerCube sampler)\n"
13484   "      (declare (in) vec3 coord)\n"
13485   "      (declare (in) float bias))\n"
13486   "    ()))\n"
13487   "(function shadow1D\n"
13488   "  (signature vec4\n"
13489   "    (parameters\n"
13490   "      (declare (in) sampler1DShadow sampler)\n"
13491   "      (declare (in) vec3 coord)\n"
13492   "      (declare (in) float bias))\n"
13493   "    ()))\n"
13494   "(function shadow2D\n"
13495   "  (signature vec4\n"
13496   "    (parameters\n"
13497   "      (declare (in) sampler2DShadow sampler)\n"
13498   "      (declare (in) vec3 coord)\n"
13499   "      (declare (in) float bias))\n"
13500   "    ()))\n"
13501   "(function shadow1DProj\n"
13502   "  (signature vec4\n"
13503   "    (parameters\n"
13504   "      (declare (in) sampler1DShadow sampler)\n"
13505   "      (declare (in) vec4 coord)\n"
13506   "      (declare (in) float bias))\n"
13507   "    ()))\n"
13508   "(function shadow2DProj\n"
13509   "  (signature vec4\n"
13510   "    (parameters\n"
13511   "      (declare (in) sampler2DShadow sampler)\n"
13512   "      (declare (in) vec4 coord)\n"
13513   "      (declare (in) float bias))\n"
13514   "    ()))\n"
13515   "(function dFdx\n"
13516   "  (signature float\n"
13517   "    (parameters\n"
13518   "      (declare (in) float p))\n"
13519   "    ())\n"
13520   "  (signature vec2\n"
13521   "    (parameters\n"
13522   "      (declare (in) vec2 p))\n"
13523   "    ())\n"
13524   "  (signature vec3\n"
13525   "    (parameters\n"
13526   "      (declare (in) vec3 p))\n"
13527   "    ())\n"
13528   "  (signature vec4\n"
13529   "    (parameters\n"
13530   "      (declare (in) vec4 p))\n"
13531   "    ()))\n"
13532   "(function dFdy\n"
13533   "  (signature float\n"
13534   "    (parameters\n"
13535   "      (declare (in) float p))\n"
13536   "    ())\n"
13537   "  (signature vec2\n"
13538   "    (parameters\n"
13539   "      (declare (in) vec2 p))\n"
13540   "    ())\n"
13541   "  (signature vec3\n"
13542   "    (parameters\n"
13543   "      (declare (in) vec3 p))\n"
13544   "    ())\n"
13545   "  (signature vec4\n"
13546   "    (parameters\n"
13547   "      (declare (in) vec4 p))\n"
13548   "    ()))\n"
13549   "(function fwidth\n"
13550   "  (signature float\n"
13551   "    (parameters\n"
13552   "      (declare (in) float p))\n"
13553   "    ())\n"
13554   "  (signature vec2\n"
13555   "    (parameters\n"
13556   "      (declare (in) vec2 p))\n"
13557   "    ())\n"
13558   "  (signature vec3\n"
13559   "    (parameters\n"
13560   "      (declare (in) vec3 p))\n"
13561   "    ())\n"
13562   "  (signature vec4\n"
13563   "    (parameters\n"
13564   "      (declare (in) vec4 p))\n"
13565   "    ())))"
13566;
13567static const char *functions_for_140_frag [] = {
13568   builtin_dFdx,
13569   builtin_dFdy,
13570   builtin_fwidth,
13571   builtin_shadow1D,
13572   builtin_shadow1DProj,
13573   builtin_shadow2D,
13574   builtin_shadow2DProj,
13575   builtin_texture,
13576   builtin_texture1D,
13577   builtin_texture1DProj,
13578   builtin_texture2D,
13579   builtin_texture2DProj,
13580   builtin_texture3D,
13581   builtin_texture3DProj,
13582   builtin_textureCube,
13583   builtin_textureOffset,
13584   builtin_textureProj,
13585   builtin_textureProjOffset,
13586};
13587static const char prototypes_for_140_glsl[] =
13588{'(',
13589'(','f','u','n','c','t','i','o','n',' ','r','a','d','i','a','n','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','d','e','g','r','e','e','s',')',')',' ','(',')',')',')',
13590'(','f','u','n','c','t','i','o','n',' ','d','e','g','r','e','e','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r','a','d','i','a','n','s',')',')',' ','(',')',')',')',
13591'(','f','u','n','c','t','i','o','n',' ','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13592'(','f','u','n','c','t','i','o','n',' ','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13593'(','f','u','n','c','t','i','o','n',' ','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13594'(','f','u','n','c','t','i','o','n',' ','a','s','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13595'(','f','u','n','c','t','i','o','n',' ','a','c','o','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a','n','g','l','e',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a','n','g','l','e',')',')',' ','(',')',')',')',
13596'(','f','u','n','c','t','i','o','n',' ','a','t','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y','_','o','v','e','r','_','x',')',')',' ','(',')',')',')',
13597'(','f','u','n','c','t','i','o','n',' ','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13598'(','f','u','n','c','t','i','o','n',' ','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13599'(','f','u','n','c','t','i','o','n',' ','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13600'(','f','u','n','c','t','i','o','n',' ','a','s','i','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13601'(','f','u','n','c','t','i','o','n',' ','a','c','o','s','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13602'(','f','u','n','c','t','i','o','n',' ','a','t','a','n','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13603'(','f','u','n','c','t','i','o','n',' ','p','o','w',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13604'(','f','u','n','c','t','i','o','n',' ','e','x','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13605'(','f','u','n','c','t','i','o','n',' ','l','o','g',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13606'(','f','u','n','c','t','i','o','n',' ','e','x','p','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13607'(','f','u','n','c','t','i','o','n',' ','l','o','g','2',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13608'(','f','u','n','c','t','i','o','n',' ','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13609'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e','s','q','r','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13610'(','f','u','n','c','t','i','o','n',' ','a','b','s',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13611'(','f','u','n','c','t','i','o','n',' ','s','i','g','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13612'(','f','u','n','c','t','i','o','n',' ','f','l','o','o','r',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13613'(','f','u','n','c','t','i','o','n',' ','t','r','u','n','c',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13614'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13615'(','f','u','n','c','t','i','o','n',' ','r','o','u','n','d','E','v','e','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13616'(','f','u','n','c','t','i','o','n',' ','c','e','i','l',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13617'(','f','u','n','c','t','i','o','n',' ','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13618'(','f','u','n','c','t','i','o','n',' ','m','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13619'(','f','u','n','c','t','i','o','n',' ','m','o','d','f',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','f','l','o','a','t',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','2',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','3',' ','i',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','o','u','t',')',' ','v','e','c','4',' ','i',')',')',' ','(',')',')',')',
13620'(','f','u','n','c','t','i','o','n',' ','m','i','n',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13621'(','f','u','n','c','t','i','o','n',' ','m','a','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','y',')',')',' ','(',')',')',')',
13622'(','f','u','n','c','t','i','o','n',' ','c','l','a','m','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','i','n','V','a','l',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','i','n','t',' ','m','a','x','V','a','l',')',')',' ','(',')',')',')',
13623'(','f','u','n','c','t','i','o','n',' ','m','i','x',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','o','o','l',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','a',')',')',' ','(',')',')',')',
13624'(','f','u','n','c','t','i','o','n',' ','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13625'(','f','u','n','c','t','i','o','n',' ','s','m','o','o','t','h','s','t','e','p',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','d','g','e','1',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13626'(','f','u','n','c','t','i','o','n',' ','i','s','n','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13627'(','f','u','n','c','t','i','o','n',' ','i','s','i','n','f',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13628'(','f','u','n','c','t','i','o','n',' ','l','e','n','g','t','h',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13629'(','f','u','n','c','t','i','o','n',' ','d','i','s','t','a','n','c','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','p','1',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','0',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','p','1',')',')',' ','(',')',')',')',
13630'(','f','u','n','c','t','i','o','n',' ','d','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13631'(','f','u','n','c','t','i','o','n',' ','c','r','o','s','s',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',')',
13632'(','f','u','n','c','t','i','o','n',' ','n','o','r','m','a','l','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13633'(','f','u','n','c','t','i','o','n',' ','f','a','c','e','f','o','r','w','a','r','d',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N','r','e','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N','r','e','f',')',')',' ','(',')',')',')',
13634'(','f','u','n','c','t','i','o','n',' ','r','e','f','l','e','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',')',' ','(',')',')',')',
13635'(','f','u','n','c','t','i','o','n',' ','r','e','f','r','a','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','I',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','N',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','e','t','a',')',')',' ','(',')',')',')',
13636'(','f','u','n','c','t','i','o','n',' ','m','a','t','r','i','x','C','o','m','p','M','u','l','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','y',')',')',' ','(',')',')',')',
13637'(','f','u','n','c','t','i','o','n',' ','o','u','t','e','r','P','r','o','d','u','c','t',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','r',')',')',' ','(',')',')',')',
13638'(','f','u','n','c','t','i','o','n',' ','t','r','a','n','s','p','o','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2','x','4',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3','x','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4','x','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4','x','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3','x','4',' ','m',')',')',' ','(',')',')',')',
13639'(','f','u','n','c','t','i','o','n',' ','i','n','v','e','r','s','e',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','2',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','3',' ','m',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','m','a','t','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','m','a','t','4',' ','m',')',')',' ','(',')',')',')',
13640'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13641'(','f','u','n','c','t','i','o','n',' ','l','e','s','s','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13642'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13643'(','f','u','n','c','t','i','o','n',' ','g','r','e','a','t','e','r','T','h','a','n','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13644'(','f','u','n','c','t','i','o','n',' ','e','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13645'(','f','u','n','c','t','i','o','n',' ','n','o','t','E','q','u','a','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','v','e','c','4',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','y',')',')',' ','(',')',')',')',
13646'(','f','u','n','c','t','i','o','n',' ','a','n','y',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13647'(','f','u','n','c','t','i','o','n',' ','a','l','l',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','o','o','l',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13648'(','f','u','n','c','t','i','o','n',' ','n','o','t',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','b','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','b','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13649'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','S','i','z','e',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','B','u','f','f','e','r',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','B','u','f','f','e','r',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','n','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','B','u','f','f','e','r',' ','s','a','m','p','l','e','r',')',')',' ','(',')',')',')',
13650'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',')',
13651'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',')',' ','(',')',')',')',
13652'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13653'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
13654'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','B','u','f','f','e','r',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','B','u','f','f','e','r',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','B','u','f','f','e','r',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',')',' ','(',')',')',')',
13655'(','f','u','n','c','t','i','o','n',' ','t','e','x','e','l','F','e','t','c','h','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
13656'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
13657'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','L','o','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
13658'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13659'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','L','o','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',')',
13660'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13661'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','G','r','a','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f','s','e','t',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','A','r','r','a','y',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','A','r','r','a','y','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','A','r','r','a','y','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o',')',')',' ','(',')',')',')',
13662'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','P','d','y',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','P','d','y',')',')',' ','(',')',')',')',
13663'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','P','r','o','j','G','r','a','d','O','f','f','s','e','t',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','1','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','2','D','R','e','c','t',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','R','e','c','t','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','i','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','u','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','u','s','a','m','p','l','e','r','3','D',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','3',' ','o','f','f',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','n','t',' ','o',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','P',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','x',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','d','y',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','i','v','e','c','2',' ','o',')',')',' ','(',')',')',')',
13664'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13665'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13666'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13667'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13668'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13669'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13670'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13671'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13672'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13673'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13674'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13675'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','3','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','3','D',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13676'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13677'(','f','u','n','c','t','i','o','n',' ','t','e','x','t','u','r','e','C','u','b','e','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','C','u','b','e',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13678'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13679'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13680'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13681'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',')',' ','(',')',')',')',
13682'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13683'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13684'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','1','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','1','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13685'(','f','u','n','c','t','i','o','n',' ','s','h','a','d','o','w','2','D','P','r','o','j','L','o','d',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','s','a','m','p','l','e','r','2','D','S','h','a','d','o','w',' ','s','a','m','p','l','e','r',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','c','o','o','r','d',')',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','l','o','d',')',')',' ','(',')',')',')',
13686'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','1',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','f','l','o','a','t',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13687'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','2',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','2',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13688'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','3',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','3',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',
13689'(','f','u','n','c','t','i','o','n',' ','n','o','i','s','e','4',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','f','l','o','a','t',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','2',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','3',' ','x',')',')',' ','(',')',')',' ','(','s','i','g','n','a','t','u','r','e',' ','v','e','c','4',' ','(','p','a','r','a','m','e','t','e','r','s',' ','(','d','e','c','l','a','r','e',' ','(','i','n',')',' ','v','e','c','4',' ','x',')',')',' ','(',')',')',')',')'} ;
13690static const char *functions_for_140_glsl [] = {
13691   builtin_abs,
13692   builtin_acos,
13693   builtin_acosh,
13694   builtin_all,
13695   builtin_any,
13696   builtin_asin,
13697   builtin_asinh,
13698   builtin_atan,
13699   builtin_atanh,
13700   builtin_ceil,
13701   builtin_clamp,
13702   builtin_cos,
13703   builtin_cosh,
13704   builtin_cross,
13705   builtin_degrees,
13706   builtin_distance,
13707   builtin_dot,
13708   builtin_equal,
13709   builtin_exp,
13710   builtin_exp2,
13711   builtin_faceforward,
13712   builtin_floor,
13713   builtin_fract,
13714   builtin_greaterThan,
13715   builtin_greaterThanEqual,
13716   builtin_inverse,
13717   builtin_inversesqrt,
13718   builtin_isinf,
13719   builtin_isnan,
13720   builtin_length,
13721   builtin_lessThan,
13722   builtin_lessThanEqual,
13723   builtin_log,
13724   builtin_log2,
13725   builtin_matrixCompMult,
13726   builtin_max,
13727   builtin_min,
13728   builtin_mix,
13729   builtin_mod,
13730   builtin_modf,
13731   builtin_noise1,
13732   builtin_noise2,
13733   builtin_noise3,
13734   builtin_noise4,
13735   builtin_normalize,
13736   builtin_not,
13737   builtin_notEqual,
13738   builtin_outerProduct,
13739   builtin_pow,
13740   builtin_radians,
13741   builtin_reflect,
13742   builtin_refract,
13743   builtin_round,
13744   builtin_roundEven,
13745   builtin_shadow1D,
13746   builtin_shadow1DLod,
13747   builtin_shadow1DProj,
13748   builtin_shadow1DProjLod,
13749   builtin_shadow2D,
13750   builtin_shadow2DLod,
13751   builtin_shadow2DProj,
13752   builtin_shadow2DProjLod,
13753   builtin_sign,
13754   builtin_sin,
13755   builtin_sinh,
13756   builtin_smoothstep,
13757   builtin_sqrt,
13758   builtin_step,
13759   builtin_tan,
13760   builtin_tanh,
13761   builtin_texelFetch,
13762   builtin_texelFetchOffset,
13763   builtin_texture,
13764   builtin_texture1D,
13765   builtin_texture1DLod,
13766   builtin_texture1DProj,
13767   builtin_texture1DProjLod,
13768   builtin_texture2D,
13769   builtin_texture2DLod,
13770   builtin_texture2DProj,
13771   builtin_texture2DProjLod,
13772   builtin_texture3D,
13773   builtin_texture3DLod,
13774   builtin_texture3DProj,
13775   builtin_texture3DProjLod,
13776   builtin_textureCube,
13777   builtin_textureCubeLod,
13778   builtin_textureGrad,
13779   builtin_textureGradOffset,
13780   builtin_textureLod,
13781   builtin_textureLodOffset,
13782   builtin_textureOffset,
13783   builtin_textureProj,
13784   builtin_textureProjGrad,
13785   builtin_textureProjGradOffset,
13786   builtin_textureProjLod,
13787   builtin_textureProjLodOffset,
13788   builtin_textureProjOffset,
13789   builtin_textureSize,
13790   builtin_transpose,
13791   builtin_trunc,
13792};
13793static const char prototypes_for_ARB_shader_bit_encoding_glsl[] =
13794   "(\n"
13795   "(function floatBitsToInt\n"
13796   "  (signature int\n"
13797   "    (parameters\n"
13798   "      (declare (in) float value))\n"
13799   "    ())\n"
13800   "  (signature ivec2\n"
13801   "    (parameters\n"
13802   "      (declare (in) vec2 value))\n"
13803   "    ())\n"
13804   "  (signature ivec3\n"
13805   "    (parameters\n"
13806   "      (declare (in) vec3 value))\n"
13807   "    ())\n"
13808   "  (signature ivec4\n"
13809   "    (parameters\n"
13810   "      (declare (in) vec4 value))\n"
13811   "    ()))\n"
13812   "(function floatBitsToUint\n"
13813   "  (signature uint\n"
13814   "    (parameters\n"
13815   "      (declare (in) float value))\n"
13816   "    ())\n"
13817   "  (signature uvec2\n"
13818   "    (parameters\n"
13819   "      (declare (in) vec2 value))\n"
13820   "    ())\n"
13821   "  (signature uvec3\n"
13822   "    (parameters\n"
13823   "      (declare (in) vec3 value))\n"
13824   "    ())\n"
13825   "  (signature uvec4\n"
13826   "    (parameters\n"
13827   "      (declare (in) vec4 value))\n"
13828   "    ()))\n"
13829   "(function intBitsToFloat\n"
13830   "  (signature float\n"
13831   "    (parameters\n"
13832   "      (declare (in) int value))\n"
13833   "    ())\n"
13834   "  (signature vec2\n"
13835   "    (parameters\n"
13836   "      (declare (in) ivec2 value))\n"
13837   "    ())\n"
13838   "  (signature vec3\n"
13839   "    (parameters\n"
13840   "      (declare (in) ivec3 value))\n"
13841   "    ())\n"
13842   "  (signature vec4\n"
13843   "    (parameters\n"
13844   "      (declare (in) ivec4 value))\n"
13845   "    ()))\n"
13846   "(function uintBitsToFloat\n"
13847   "  (signature float\n"
13848   "    (parameters\n"
13849   "      (declare (in) uint value))\n"
13850   "    ())\n"
13851   "  (signature vec2\n"
13852   "    (parameters\n"
13853   "      (declare (in) uvec2 value))\n"
13854   "    ())\n"
13855   "  (signature vec3\n"
13856   "    (parameters\n"
13857   "      (declare (in) uvec3 value))\n"
13858   "    ())\n"
13859   "  (signature vec4\n"
13860   "    (parameters\n"
13861   "      (declare (in) uvec4 value))\n"
13862   "    ())))"
13863;
13864static const char *functions_for_ARB_shader_bit_encoding_glsl [] = {
13865   builtin_floatBitsToInt,
13866   builtin_floatBitsToUint,
13867   builtin_intBitsToFloat,
13868   builtin_uintBitsToFloat,
13869};
13870static const char prototypes_for_ARB_shader_texture_lod_frag[] =
13871   "(\n"
13872   "(function texture1DLod\n"
13873   "  (signature vec4\n"
13874   "    (parameters\n"
13875   "      (declare (in) sampler1D sampler)\n"
13876   "      (declare (in) float coord)\n"
13877   "      (declare (in) float lod))\n"
13878   "    ()))\n"
13879   "(function texture1DProjLod\n"
13880   "  (signature vec4\n"
13881   "    (parameters\n"
13882   "      (declare (in) sampler1D sampler)\n"
13883   "      (declare (in) vec2 coord)\n"
13884   "      (declare (in) float lod))\n"
13885   "    ())\n"
13886   "  (signature vec4\n"
13887   "    (parameters\n"
13888   "      (declare (in) sampler1D sampler)\n"
13889   "      (declare (in) vec4 coord)\n"
13890   "      (declare (in) float lod))\n"
13891   "    ()))\n"
13892   "(function texture2DLod\n"
13893   "  (signature vec4\n"
13894   "    (parameters\n"
13895   "      (declare (in) sampler2D sampler)\n"
13896   "      (declare (in) vec2 coord)\n"
13897   "      (declare (in) float lod))\n"
13898   "    ()))\n"
13899   "(function texture2DProjLod\n"
13900   "  (signature vec4\n"
13901   "    (parameters\n"
13902   "      (declare (in) sampler2D sampler)\n"
13903   "      (declare (in) vec3 coord)\n"
13904   "      (declare (in) float lod))\n"
13905   "    ())\n"
13906   "  (signature vec4\n"
13907   "    (parameters\n"
13908   "      (declare (in) sampler2D sampler)\n"
13909   "      (declare (in) vec4 coord)\n"
13910   "      (declare (in) float lod))\n"
13911   "    ()))\n"
13912   "(function texture3DLod\n"
13913   "  (signature vec4\n"
13914   "    (parameters\n"
13915   "      (declare (in) sampler3D sampler)\n"
13916   "      (declare (in) vec3 coord)\n"
13917   "      (declare (in) float lod))\n"
13918   "    ()))\n"
13919   "(function texture3DProjLod\n"
13920   "  (signature vec4\n"
13921   "    (parameters\n"
13922   "      (declare (in) sampler3D sampler)\n"
13923   "      (declare (in) vec4 coord)\n"
13924   "      (declare (in) float lod))\n"
13925   "    ()))\n"
13926   "(function textureCubeLod\n"
13927   "  (signature vec4\n"
13928   "    (parameters\n"
13929   "      (declare (in) samplerCube sampler)\n"
13930   "      (declare (in) vec3 coord)\n"
13931   "      (declare (in) float lod))\n"
13932   "    ()))\n"
13933   "(function shadow1DLod\n"
13934   "  (signature vec4\n"
13935   "    (parameters\n"
13936   "      (declare (in) sampler1DShadow sampler)\n"
13937   "      (declare (in) vec3 coord)\n"
13938   "      (declare (in) float lod))\n"
13939   "    ()))\n"
13940   "(function shadow2DLod\n"
13941   "  (signature vec4\n"
13942   "    (parameters\n"
13943   "      (declare (in) sampler2DShadow sampler)\n"
13944   "      (declare (in) vec3 coord)\n"
13945   "      (declare (in) float lod))\n"
13946   "    ()))\n"
13947   "(function shadow1DProjLod\n"
13948   "  (signature vec4\n"
13949   "    (parameters\n"
13950   "      (declare (in) sampler1DShadow sampler)\n"
13951   "      (declare (in) vec4 coord)\n"
13952   "      (declare (in) float lod))\n"
13953   "    ()))\n"
13954   "(function shadow2DProjLod\n"
13955   "  (signature vec4\n"
13956   "    (parameters\n"
13957   "      (declare (in) sampler2DShadow sampler)\n"
13958   "      (declare (in) vec4 coord)\n"
13959   "      (declare (in) float lod))\n"
13960   "    ())))"
13961;
13962static const char *functions_for_ARB_shader_texture_lod_frag [] = {
13963   builtin_shadow1DLod,
13964   builtin_shadow1DProjLod,
13965   builtin_shadow2DLod,
13966   builtin_shadow2DProjLod,
13967   builtin_texture1DLod,
13968   builtin_texture1DProjLod,
13969   builtin_texture2DLod,
13970   builtin_texture2DProjLod,
13971   builtin_texture3DLod,
13972   builtin_texture3DProjLod,
13973   builtin_textureCubeLod,
13974};
13975static const char prototypes_for_ARB_shader_texture_lod_glsl[] =
13976   "(\n"
13977   "(function texture1DGradARB\n"
13978   "  (signature vec4\n"
13979   "    (parameters\n"
13980   "      (declare (in) sampler1D sampler)\n"
13981   "      (declare (in) float P)\n"
13982   "      (declare (in) float dPdx)\n"
13983   "      (declare (in) float dPdy))\n"
13984   "    ()))\n"
13985   "(function texture1DProjGradARB\n"
13986   "  (signature vec4\n"
13987   "    (parameters\n"
13988   "      (declare (in) sampler1D sampler)\n"
13989   "      (declare (in) vec2 P)\n"
13990   "      (declare (in) float dPdx)\n"
13991   "      (declare (in) float dPdy))\n"
13992   "    ())\n"
13993   "  (signature vec4\n"
13994   "    (parameters\n"
13995   "      (declare (in) sampler1D sampler)\n"
13996   "      (declare (in) vec4 P)\n"
13997   "      (declare (in) float dPdx)\n"
13998   "      (declare (in) float dPdy))\n"
13999   "    ()))\n"
14000   "(function texture2DGradARB\n"
14001   "  (signature vec4\n"
14002   "    (parameters\n"
14003   "      (declare (in) sampler2D sampler)\n"
14004   "      (declare (in) vec2 P)\n"
14005   "      (declare (in) vec2 dPdx)\n"
14006   "      (declare (in) vec2 dPdy))\n"
14007   "    ()))\n"
14008   "(function texture2DProjGradARB\n"
14009   "  (signature vec4\n"
14010   "    (parameters\n"
14011   "      (declare (in) sampler2D sampler)\n"
14012   "      (declare (in) vec3 P)\n"
14013   "      (declare (in) vec2 dPdx)\n"
14014   "      (declare (in) vec2 dPdy))\n"
14015   "    ())\n"
14016   "  (signature vec4\n"
14017   "    (parameters\n"
14018   "      (declare (in) sampler2D sampler)\n"
14019   "      (declare (in) vec4 P)\n"
14020   "      (declare (in) vec2 dPdx)\n"
14021   "      (declare (in) vec2 dPdy))\n"
14022   "    ()))\n"
14023   "(function texture3DGradARB\n"
14024   "  (signature vec4\n"
14025   "    (parameters\n"
14026   "      (declare (in) sampler3D sampler)\n"
14027   "      (declare (in) vec3 P)\n"
14028   "      (declare (in) vec3 dPdx)\n"
14029   "      (declare (in) vec3 dPdy))\n"
14030   "    ()))\n"
14031   "(function texture3DProjGradARB\n"
14032   "  (signature vec4\n"
14033   "    (parameters\n"
14034   "      (declare (in) sampler3D sampler)\n"
14035   "      (declare (in) vec4 P)\n"
14036   "      (declare (in) vec3 dPdx)\n"
14037   "      (declare (in) vec3 dPdy))\n"
14038   "    ()))\n"
14039   "(function textureCubeGradARB\n"
14040   "  (signature vec4\n"
14041   "    (parameters\n"
14042   "      (declare (in) samplerCube sampler)\n"
14043   "      (declare (in) vec3 P)\n"
14044   "      (declare (in) vec3 dPdx)\n"
14045   "      (declare (in) vec3 dPdy))\n"
14046   "    ()))\n"
14047   "(function shadow1DGradARB\n"
14048   "  (signature vec4\n"
14049   "    (parameters\n"
14050   "      (declare (in) sampler1DShadow sampler)\n"
14051   "      (declare (in) vec3 P)\n"
14052   "      (declare (in) float dPdx)\n"
14053   "      (declare (in) float dPdy))\n"
14054   "    ()))\n"
14055   "(function shadow1DProjGradARB\n"
14056   "  (signature vec4\n"
14057   "    (parameters\n"
14058   "      (declare (in) sampler1DShadow sampler)\n"
14059   "      (declare (in) vec4 P)\n"
14060   "      (declare (in) float dPdx)\n"
14061   "      (declare (in) float dPdy))\n"
14062   "    ()))\n"
14063   "(function shadow2DGradARB\n"
14064   "  (signature vec4\n"
14065   "    (parameters\n"
14066   "      (declare (in) sampler2DShadow sampler)\n"
14067   "      (declare (in) vec3 P)\n"
14068   "      (declare (in) vec2 dPdx)\n"
14069   "      (declare (in) vec2 dPdy))\n"
14070   "    ()))\n"
14071   "(function shadow2DProjGradARB\n"
14072   "  (signature vec4\n"
14073   "    (parameters\n"
14074   "      (declare (in) sampler2DShadow sampler)\n"
14075   "      (declare (in) vec4 P)\n"
14076   "      (declare (in) vec2 dPdx)\n"
14077   "      (declare (in) vec2 dPdy))\n"
14078   "    ()))\n"
14079   "(function texture2DRectGradARB\n"
14080   "  (signature vec4\n"
14081   "    (parameters\n"
14082   "      (declare (in) sampler2DRect sampler)\n"
14083   "      (declare (in) vec2 P)\n"
14084   "      (declare (in) vec2 dPdx)\n"
14085   "      (declare (in) vec2 dPdy))\n"
14086   "    ()))\n"
14087   "(function texture2DRectProjGradARB\n"
14088   "  (signature vec4\n"
14089   "    (parameters\n"
14090   "      (declare (in) sampler2DRect sampler)\n"
14091   "      (declare (in) vec3 P)\n"
14092   "      (declare (in) vec2 dPdx)\n"
14093   "      (declare (in) vec2 dPdy))\n"
14094   "    ())\n"
14095   "  (signature vec4\n"
14096   "    (parameters\n"
14097   "      (declare (in) sampler2DRect sampler)\n"
14098   "      (declare (in) vec4 P)\n"
14099   "      (declare (in) vec2 dPdx)\n"
14100   "      (declare (in) vec2 dPdy))\n"
14101   "    ()))\n"
14102   "(function shadow2DRectGradARB\n"
14103   "  (signature vec4\n"
14104   "    (parameters\n"
14105   "      (declare (in) sampler2DRectShadow sampler)\n"
14106   "      (declare (in) vec3 P)\n"
14107   "      (declare (in) vec2 dPdx)\n"
14108   "      (declare (in) vec2 dPdy))\n"
14109   "    ()))\n"
14110   "(function shadow2DRectProjGradARB\n"
14111   "  (signature vec4\n"
14112   "    (parameters\n"
14113   "      (declare (in) sampler2DRectShadow sampler)\n"
14114   "      (declare (in) vec4 P)\n"
14115   "      (declare (in) vec2 dPdx)\n"
14116   "      (declare (in) vec2 dPdy))\n"
14117   "    ())))"
14118;
14119static const char *functions_for_ARB_shader_texture_lod_glsl [] = {
14120   builtin_shadow1DGradARB,
14121   builtin_shadow1DProjGradARB,
14122   builtin_shadow2DGradARB,
14123   builtin_shadow2DProjGradARB,
14124   builtin_shadow2DRectGradARB,
14125   builtin_shadow2DRectProjGradARB,
14126   builtin_texture1DGradARB,
14127   builtin_texture1DProjGradARB,
14128   builtin_texture2DGradARB,
14129   builtin_texture2DProjGradARB,
14130   builtin_texture2DRectGradARB,
14131   builtin_texture2DRectProjGradARB,
14132   builtin_texture3DGradARB,
14133   builtin_texture3DProjGradARB,
14134   builtin_textureCubeGradARB,
14135};
14136static const char prototypes_for_ARB_texture_rectangle_glsl[] =
14137   "(\n"
14138   "(function texture2DRect\n"
14139   "  (signature vec4\n"
14140   "    (parameters\n"
14141   "      (declare (in) sampler2DRect sampler)\n"
14142   "      (declare (in) vec2 coord))\n"
14143   "    ()))\n"
14144   "(function texture2DRectProj\n"
14145   "  (signature vec4\n"
14146   "    (parameters\n"
14147   "      (declare (in) sampler2DRect sampler)\n"
14148   "      (declare (in) vec3 coord))\n"
14149   "    ())\n"
14150   "  (signature vec4\n"
14151   "    (parameters\n"
14152   "      (declare (in) sampler2DRect sampler)\n"
14153   "      (declare (in) vec4 coord))\n"
14154   "    ()))\n"
14155   "(function shadow2DRect\n"
14156   "  (signature vec4\n"
14157   "    (parameters\n"
14158   "      (declare (in) sampler2DRectShadow sampler)\n"
14159   "      (declare (in) vec3 coord))\n"
14160   "    ()))\n"
14161   "(function shadow2DRectProj\n"
14162   "  (signature vec4\n"
14163   "    (parameters\n"
14164   "      (declare (in) sampler2DRectShadow sampler)\n"
14165   "      (declare (in) vec4 coord))\n"
14166   "    ())))"
14167;
14168static const char *functions_for_ARB_texture_rectangle_glsl [] = {
14169   builtin_shadow2DRect,
14170   builtin_shadow2DRectProj,
14171   builtin_texture2DRect,
14172   builtin_texture2DRectProj,
14173};
14174static const char prototypes_for_EXT_texture_array_frag[] =
14175   "(\n"
14176   "(function texture1DArray\n"
14177   "  (signature vec4\n"
14178   "    (parameters\n"
14179   "      (declare (in) sampler1DArray sampler)\n"
14180   "      (declare (in) vec2 coord))\n"
14181   "    ())\n"
14182   "  (signature vec4\n"
14183   "    (parameters\n"
14184   "      (declare (in) sampler1DArray sampler)\n"
14185   "      (declare (in) vec2 coord)\n"
14186   "      (declare (in) float bias))\n"
14187   "    ()))\n"
14188   "(function texture2DArray\n"
14189   "  (signature vec4\n"
14190   "    (parameters\n"
14191   "      (declare (in) sampler2DArray sampler)\n"
14192   "      (declare (in) vec3 coord))\n"
14193   "    ())\n"
14194   "  (signature vec4\n"
14195   "    (parameters\n"
14196   "      (declare (in) sampler2DArray sampler)\n"
14197   "      (declare (in) vec3 coord)\n"
14198   "      (declare (in) float bias))\n"
14199   "    ()))\n"
14200   "(function shadow1DArray\n"
14201   "  (signature vec4\n"
14202   "    (parameters\n"
14203   "      (declare (in) sampler1DArrayShadow sampler)\n"
14204   "      (declare (in) vec3 coord))\n"
14205   "    ())\n"
14206   "  (signature vec4\n"
14207   "    (parameters\n"
14208   "      (declare (in) sampler1DArrayShadow sampler)\n"
14209   "      (declare (in) vec3 coord)\n"
14210   "      (declare (in) float bias))\n"
14211   "    ()))\n"
14212   "(function shadow2DArray\n"
14213   "  (signature vec4\n"
14214   "    (parameters\n"
14215   "      (declare (in) sampler2DArrayShadow sampler)\n"
14216   "      (declare (in) vec4 coord))\n"
14217   "    ())))"
14218;
14219static const char *functions_for_EXT_texture_array_frag [] = {
14220   builtin_shadow1DArray,
14221   builtin_shadow2DArray,
14222   builtin_texture1DArray,
14223   builtin_texture2DArray,
14224};
14225static const char prototypes_for_EXT_texture_array_vert[] =
14226   "(\n"
14227   "(function texture1DArray\n"
14228   "  (signature vec4\n"
14229   "    (parameters\n"
14230   "      (declare (in) sampler1DArray sampler)\n"
14231   "      (declare (in) vec2 coord))\n"
14232   "    ()))\n"
14233   "(function texture1DArrayLod\n"
14234   "  (signature vec4\n"
14235   "    (parameters\n"
14236   "      (declare (in) sampler1DArray sampler)\n"
14237   "      (declare (in) vec2 coord)\n"
14238   "      (declare (in) float lod))\n"
14239   "    ()))\n"
14240   "(function texture2DArray\n"
14241   "  (signature vec4\n"
14242   "    (parameters\n"
14243   "      (declare (in) sampler2DArray sampler)\n"
14244   "      (declare (in) vec3 coord))\n"
14245   "    ()))\n"
14246   "(function texture2DArrayLod\n"
14247   "  (signature vec4\n"
14248   "    (parameters\n"
14249   "      (declare (in) sampler2DArray sampler)\n"
14250   "      (declare (in) vec3 coord)\n"
14251   "      (declare (in) float lod))\n"
14252   "    ()))\n"
14253   "(function shadow1DArray\n"
14254   "  (signature vec4\n"
14255   "    (parameters\n"
14256   "      (declare (in) sampler1DArrayShadow sampler)\n"
14257   "      (declare (in) vec3 coord))\n"
14258   "    ()))\n"
14259   "(function shadow1DArrayLod\n"
14260   "  (signature vec4\n"
14261   "    (parameters\n"
14262   "      (declare (in) sampler1DArrayShadow sampler)\n"
14263   "      (declare (in) vec3 coord)\n"
14264   "      (declare (in) float lod))\n"
14265   "    ()))\n"
14266   "(function shadow2DArray\n"
14267   "  (signature vec4\n"
14268   "    (parameters\n"
14269   "      (declare (in) sampler2DArrayShadow sampler)\n"
14270   "      (declare (in) vec4 coord))\n"
14271   "    ())))"
14272;
14273static const char *functions_for_EXT_texture_array_vert [] = {
14274   builtin_shadow1DArray,
14275   builtin_shadow1DArrayLod,
14276   builtin_shadow2DArray,
14277   builtin_texture1DArray,
14278   builtin_texture1DArrayLod,
14279   builtin_texture2DArray,
14280   builtin_texture2DArrayLod,
14281};
14282static const char prototypes_for_OES_EGL_image_external_glsl[] =
14283   "(\n"
14284   "(function texture2D\n"
14285   "  (signature vec4\n"
14286   "    (parameters\n"
14287   "      (declare (in) samplerExternalOES sampler)\n"
14288   "      (declare (in) vec2 coord))\n"
14289   "    ()))\n"
14290   "(function texture2DProj\n"
14291   "  (signature vec4\n"
14292   "    (parameters\n"
14293   "      (declare (in) samplerExternalOES sampler)\n"
14294   "      (declare (in) vec3 coord))\n"
14295   "    ())\n"
14296   "  (signature vec4\n"
14297   "    (parameters\n"
14298   "      (declare (in) samplerExternalOES sampler)\n"
14299   "      (declare (in) vec4 coord))\n"
14300   "    ())))"
14301;
14302static const char *functions_for_OES_EGL_image_external_glsl [] = {
14303   builtin_texture2D,
14304   builtin_texture2DProj,
14305};
14306static const char prototypes_for_OES_standard_derivatives_frag[] =
14307   "(\n"
14308   "(function dFdx\n"
14309   "  (signature float\n"
14310   "    (parameters\n"
14311   "      (declare (in) float p))\n"
14312   "    ())\n"
14313   "  (signature vec2\n"
14314   "    (parameters\n"
14315   "      (declare (in) vec2 p))\n"
14316   "    ())\n"
14317   "  (signature vec3\n"
14318   "    (parameters\n"
14319   "      (declare (in) vec3 p))\n"
14320   "    ())\n"
14321   "  (signature vec4\n"
14322   "    (parameters\n"
14323   "      (declare (in) vec4 p))\n"
14324   "    ()))\n"
14325   "(function dFdy\n"
14326   "  (signature float\n"
14327   "    (parameters\n"
14328   "      (declare (in) float p))\n"
14329   "    ())\n"
14330   "  (signature vec2\n"
14331   "    (parameters\n"
14332   "      (declare (in) vec2 p))\n"
14333   "    ())\n"
14334   "  (signature vec3\n"
14335   "    (parameters\n"
14336   "      (declare (in) vec3 p))\n"
14337   "    ())\n"
14338   "  (signature vec4\n"
14339   "    (parameters\n"
14340   "      (declare (in) vec4 p))\n"
14341   "    ()))\n"
14342   "(function fwidth\n"
14343   "  (signature float\n"
14344   "    (parameters\n"
14345   "      (declare (in) float p))\n"
14346   "    ())\n"
14347   "  (signature vec2\n"
14348   "    (parameters\n"
14349   "      (declare (in) vec2 p))\n"
14350   "    ())\n"
14351   "  (signature vec3\n"
14352   "    (parameters\n"
14353   "      (declare (in) vec3 p))\n"
14354   "    ())\n"
14355   "  (signature vec4\n"
14356   "    (parameters\n"
14357   "      (declare (in) vec4 p))\n"
14358   "    ())))"
14359;
14360static const char *functions_for_OES_standard_derivatives_frag [] = {
14361   builtin_dFdx,
14362   builtin_dFdy,
14363   builtin_fwidth,
14364};
14365static const char prototypes_for_OES_texture_3D_frag[] =
14366   "(\n"
14367   "(function texture3D\n"
14368   "  (signature vec4\n"
14369   "    (parameters\n"
14370   "      (declare (in) sampler3D sampler)\n"
14371   "      (declare (in) vec3 coord))\n"
14372   "    ())\n"
14373   "  (signature vec4\n"
14374   "    (parameters\n"
14375   "      (declare (in) sampler3D sampler)\n"
14376   "      (declare (in) vec3 coord)\n"
14377   "      (declare (in) float bias))\n"
14378   "    ()))\n"
14379   "(function texture3DProj\n"
14380   "  (signature vec4\n"
14381   "    (parameters\n"
14382   "      (declare (in) sampler3D sampler)\n"
14383   "      (declare (in) vec4 coord))\n"
14384   "    ())\n"
14385   "  (signature vec4\n"
14386   "    (parameters\n"
14387   "      (declare (in) sampler3D sampler)\n"
14388   "      (declare (in) vec4 coord)\n"
14389   "      (declare (in) float bias))\n"
14390   "    ())))"
14391;
14392static const char *functions_for_OES_texture_3D_frag [] = {
14393   builtin_texture3D,
14394   builtin_texture3DProj,
14395};
14396static const char prototypes_for_OES_texture_3D_vert[] =
14397   "(\n"
14398   "(function texture3D\n"
14399   "  (signature vec4\n"
14400   "    (parameters\n"
14401   "      (declare (in) sampler3D sampler)\n"
14402   "      (declare (in) vec3 coord))\n"
14403   "    ()))\n"
14404   "(function texture3DProj\n"
14405   "  (signature vec4\n"
14406   "    (parameters\n"
14407   "      (declare (in) sampler3D sampler)\n"
14408   "      (declare (in) vec4 coord))\n"
14409   "    ()))\n"
14410   "(function texture3DLod\n"
14411   "  (signature vec4\n"
14412   "    (parameters\n"
14413   "      (declare (in) sampler3D sampler)\n"
14414   "      (declare (in) vec3 coord)\n"
14415   "      (declare (in) float lod))\n"
14416   "    ()))\n"
14417   "(function texture3DProjLod\n"
14418   "  (signature vec4\n"
14419   "    (parameters\n"
14420   "      (declare (in) sampler3D sampler)\n"
14421   "      (declare (in) vec4 coord)\n"
14422   "      (declare (in) float lod))\n"
14423   "    ())))"
14424;
14425static const char *functions_for_OES_texture_3D_vert [] = {
14426   builtin_texture3D,
14427   builtin_texture3DLod,
14428   builtin_texture3DProj,
14429   builtin_texture3DProjLod,
14430};
14431static gl_shader *builtin_profiles[24];
14432
14433void *builtin_mem_ctx = NULL;
14434
14435void
14436_mesa_glsl_release_functions(void)
14437{
14438   ralloc_free(builtin_mem_ctx);
14439   builtin_mem_ctx = NULL;
14440   memset(builtin_profiles, 0, sizeof(builtin_profiles));
14441}
14442
14443static void
14444_mesa_read_profile(struct _mesa_glsl_parse_state *state,
14445                   int profile_index,
14446		   const char *prototypes,
14447		   const char **functions,
14448                   int count)
14449{
14450   gl_shader *sh = builtin_profiles[profile_index];
14451
14452   if (sh == NULL) {
14453      sh = read_builtins(GL_VERTEX_SHADER, prototypes, functions, count);
14454      ralloc_steal(builtin_mem_ctx, sh);
14455      builtin_profiles[profile_index] = sh;
14456   }
14457
14458   state->builtins_to_link[state->num_builtins_to_link] = sh;
14459   state->num_builtins_to_link++;
14460}
14461
14462void
14463_mesa_glsl_initialize_functions(struct _mesa_glsl_parse_state *state)
14464{
14465   /* If we've already initialized the built-ins, bail early. */
14466   if (state->num_builtins_to_link > 0)
14467      return;
14468
14469   if (builtin_mem_ctx == NULL) {
14470      builtin_mem_ctx = ralloc_context(NULL); // "GLSL built-in functions"
14471      memset(&builtin_profiles, 0, sizeof(builtin_profiles));
14472   }
14473
14474   if (state->target == fragment_shader && state->language_version == 100) {
14475      _mesa_read_profile(state, 0,
14476                         prototypes_for_100_frag,
14477                         functions_for_100_frag,
14478                         Elements(functions_for_100_frag));
14479   }
14480
14481   if (state->language_version == 100) {
14482      _mesa_read_profile(state, 1,
14483                         prototypes_for_100_glsl,
14484                         functions_for_100_glsl,
14485                         Elements(functions_for_100_glsl));
14486   }
14487
14488   if (state->target == vertex_shader && state->language_version == 100) {
14489      _mesa_read_profile(state, 2,
14490                         prototypes_for_100_vert,
14491                         functions_for_100_vert,
14492                         Elements(functions_for_100_vert));
14493   }
14494
14495   if (state->target == fragment_shader && state->language_version == 110) {
14496      _mesa_read_profile(state, 3,
14497                         prototypes_for_110_frag,
14498                         functions_for_110_frag,
14499                         Elements(functions_for_110_frag));
14500   }
14501
14502   if (state->language_version == 110) {
14503      _mesa_read_profile(state, 4,
14504                         prototypes_for_110_glsl,
14505                         functions_for_110_glsl,
14506                         Elements(functions_for_110_glsl));
14507   }
14508
14509   if (state->target == vertex_shader && state->language_version == 110) {
14510      _mesa_read_profile(state, 5,
14511                         prototypes_for_110_vert,
14512                         functions_for_110_vert,
14513                         Elements(functions_for_110_vert));
14514   }
14515
14516   if (state->target == fragment_shader && state->language_version == 120) {
14517      _mesa_read_profile(state, 6,
14518                         prototypes_for_120_frag,
14519                         functions_for_120_frag,
14520                         Elements(functions_for_120_frag));
14521   }
14522
14523   if (state->language_version == 120) {
14524      _mesa_read_profile(state, 7,
14525                         prototypes_for_120_glsl,
14526                         functions_for_120_glsl,
14527                         Elements(functions_for_120_glsl));
14528   }
14529
14530   if (state->target == vertex_shader && state->language_version == 120) {
14531      _mesa_read_profile(state, 8,
14532                         prototypes_for_120_vert,
14533                         functions_for_120_vert,
14534                         Elements(functions_for_120_vert));
14535   }
14536
14537   if (state->target == fragment_shader && state->language_version == 130) {
14538      _mesa_read_profile(state, 9,
14539                         prototypes_for_130_frag,
14540                         functions_for_130_frag,
14541                         Elements(functions_for_130_frag));
14542   }
14543
14544   if (state->language_version == 130) {
14545      _mesa_read_profile(state, 10,
14546                         prototypes_for_130_glsl,
14547                         functions_for_130_glsl,
14548                         Elements(functions_for_130_glsl));
14549   }
14550
14551   if (state->target == vertex_shader && state->language_version == 130) {
14552      _mesa_read_profile(state, 11,
14553                         prototypes_for_130_vert,
14554                         functions_for_130_vert,
14555                         Elements(functions_for_130_vert));
14556   }
14557
14558   if (state->target == fragment_shader && state->language_version == 140) {
14559      _mesa_read_profile(state, 12,
14560                         prototypes_for_140_frag,
14561                         functions_for_140_frag,
14562                         Elements(functions_for_140_frag));
14563   }
14564
14565   if (state->language_version == 140) {
14566      _mesa_read_profile(state, 13,
14567                         prototypes_for_140_glsl,
14568                         functions_for_140_glsl,
14569                         Elements(functions_for_140_glsl));
14570   }
14571
14572   if (state->ARB_shader_bit_encoding_enable) {
14573      _mesa_read_profile(state, 14,
14574                         prototypes_for_ARB_shader_bit_encoding_glsl,
14575                         functions_for_ARB_shader_bit_encoding_glsl,
14576                         Elements(functions_for_ARB_shader_bit_encoding_glsl));
14577   }
14578
14579   if (state->target == fragment_shader && state->ARB_shader_texture_lod_enable) {
14580      _mesa_read_profile(state, 15,
14581                         prototypes_for_ARB_shader_texture_lod_frag,
14582                         functions_for_ARB_shader_texture_lod_frag,
14583                         Elements(functions_for_ARB_shader_texture_lod_frag));
14584   }
14585
14586   if (state->ARB_shader_texture_lod_enable) {
14587      _mesa_read_profile(state, 16,
14588                         prototypes_for_ARB_shader_texture_lod_glsl,
14589                         functions_for_ARB_shader_texture_lod_glsl,
14590                         Elements(functions_for_ARB_shader_texture_lod_glsl));
14591   }
14592
14593   if (state->ARB_texture_rectangle_enable) {
14594      _mesa_read_profile(state, 17,
14595                         prototypes_for_ARB_texture_rectangle_glsl,
14596                         functions_for_ARB_texture_rectangle_glsl,
14597                         Elements(functions_for_ARB_texture_rectangle_glsl));
14598   }
14599
14600   if (state->target == fragment_shader && state->EXT_texture_array_enable) {
14601      _mesa_read_profile(state, 18,
14602                         prototypes_for_EXT_texture_array_frag,
14603                         functions_for_EXT_texture_array_frag,
14604                         Elements(functions_for_EXT_texture_array_frag));
14605   }
14606
14607   if (state->target == vertex_shader && state->EXT_texture_array_enable) {
14608      _mesa_read_profile(state, 19,
14609                         prototypes_for_EXT_texture_array_vert,
14610                         functions_for_EXT_texture_array_vert,
14611                         Elements(functions_for_EXT_texture_array_vert));
14612   }
14613
14614   if (state->OES_EGL_image_external_enable) {
14615      _mesa_read_profile(state, 20,
14616                         prototypes_for_OES_EGL_image_external_glsl,
14617                         functions_for_OES_EGL_image_external_glsl,
14618                         Elements(functions_for_OES_EGL_image_external_glsl));
14619   }
14620
14621   if (state->target == fragment_shader && state->OES_standard_derivatives_enable) {
14622      _mesa_read_profile(state, 21,
14623                         prototypes_for_OES_standard_derivatives_frag,
14624                         functions_for_OES_standard_derivatives_frag,
14625                         Elements(functions_for_OES_standard_derivatives_frag));
14626   }
14627
14628   if (state->target == fragment_shader && state->OES_texture_3D_enable) {
14629      _mesa_read_profile(state, 22,
14630                         prototypes_for_OES_texture_3D_frag,
14631                         functions_for_OES_texture_3D_frag,
14632                         Elements(functions_for_OES_texture_3D_frag));
14633   }
14634
14635   if (state->target == vertex_shader && state->OES_texture_3D_enable) {
14636      _mesa_read_profile(state, 23,
14637                         prototypes_for_OES_texture_3D_vert,
14638                         functions_for_OES_texture_3D_vert,
14639                         Elements(functions_for_OES_texture_3D_vert));
14640   }
14641
14642}
14643