	.file	"154827822.c"
	.intel_syntax noprefix
	.text
	.globl	datatoc_gpencil_stroke_geom_glsl_size
	.data
	.align 4
	.type	datatoc_gpencil_stroke_geom_glsl_size, @object
	.size	datatoc_gpencil_stroke_geom_glsl_size, 4
datatoc_gpencil_stroke_geom_glsl_size:
	.long	7067
	.globl	datatoc_gpencil_stroke_geom_glsl
	.align 32
	.type	datatoc_gpencil_stroke_geom_glsl, @object
	.size	datatoc_gpencil_stroke_geom_glsl, 7068
datatoc_gpencil_stroke_geom_glsl:
	.ascii	"uniform mat4 ModelViewProjectionMatrix;\r\nuniform vec2 View"
	.ascii	"port;\r\nuniform int xraymode;\r\nuniform int color_type;\r\n"
	.ascii	"uniform int caps_mode[2];\r\n\r\nlayout(lines_adjacency) in;"
	.ascii	"\r\nlayout(triangle_strip, max_vertices = 13) out;\r\n\r\nin"
	.ascii	" vec4 finalColor[4];\r\nin float finalThickness[4];\r\nin ve"
	.ascii	"c2 finaluvdata[4];\r\n\r\nout vec4 mColor;\r\nout vec2 mTexC"
	.ascii	"oord;\r\nout vec2 uvfac;\r\n\r\n#define GP_XRAY_FRONT 0\r\n#"
	.ascii	"define GP_XRAY_3DSPACE 1\r\n#define GP_XRAY_BACK  2\r\n\r\n/"
	.ascii	"* keep this list synchronized with list in gpencil_engine.h "
	.ascii	"*/\r\n#define GPENCIL_COLOR_SOLID   0\r\n#define GPENCIL_COL"
	.ascii	"OR_TEXTURE 1\r\n#define GPENCIL_COLOR_PATTERN 2\r\n\r\n#defi"
	.ascii	"ne GPENCIL_FLATCAP 1\r\n\r\n/* project 3d point to 2d on scr"
	.ascii	"een space */\r\nvec2 toScreenSpace(vec4 vertex)\r\n{\r\n\tre"
	.ascii	"turn vec2(vertex.xy / vertex.w) * Viewport;\r\n}\r\n\r\n/* g"
	.ascii	"et zdepth value */\r\nfloat getZdepth(vec4 point)\r\n{\r\n\t"
	.ascii	"if (xraymode == GP_XRAY_FRONT) {\r\n\t\treturn 0.000001;\r\n"
	.ascii	"\t}\r\n\tif (xraymode == GP_XRAY_3DSPACE) {\r\n\t\treturn (p"
	.ascii	"oint.z / point.w);\r\n\t}\r\n\tif  (xraymode == GP_XRAY_BACK"
	.ascii	") {\r\n\t\treturn 0.999999;\r\n\t}\r\n\r\n\t/* in front by d"
	.ascii	"efault */\r\n\treturn 0.000001;\r\n}\r\n\r\n/* check equalit"
	.ascii	"y but with a small tolerance */\r\nbool is_equal(vec4 p1, ve"
	.ascii	"c4 p2)\r\n{\r\n\tfloat limit = 0.0001;\r\n\tfloat x = abs(p1"
	.ascii	".x - p2.x);\r\n\tfloat y = abs(p1.y - p2.y);\r\n\tfloat z = "
	.ascii	"abs(p1.z - p2.z);\r\n\r\n\tif ((x < limit) && (y < limit) &&"
	.ascii	" (z < limit)) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\treturn f"
	.ascii	"alse;\r\n}\r\n\r\nvoid main(void)\r\n{\r\n\tfloat MiterLimit"
	.ascii	" = 0.75;\r\n\tuvfac = vec2(0.0, 0.0);\r\n\r\n\t/* receive 4 "
	.ascii	"points */\r\n\tvec4 P0 = gl_in[0].gl_Position;\r\n\tvec4 P1 "
	.ascii	"= gl_in[1].gl_Position;\r\n\tvec4 P2 = gl_in[2].gl_Position;"
	.ascii	"\r\n\tvec4 P3 = gl_in[3].gl_Position;\r\n\r\n\t/* get the fo"
	.ascii	"ur vertices passed to the shader */\r\n\tvec2 sp0 = toScreen"
	.ascii	"Space(P0);\t// start of previous segment\r\n\tvec2 sp1 = toS"
	.ascii	"creenSpace(P1);\t// end of previous segment, start of curren"
	.ascii	"t segment\r\n\tvec2 sp2 = toScreenSpace(P2);\t// end of curr"
	.ascii	"ent segment, start of next segment\r\n\tvec2 sp3 = toScreenS"
	.ascii	"pace(P3);   // end of next segment\r\n\r\n\t/* culling outsi"
	.ascii	"de viewport */\r\n\tvec2 area = Viewport * 4.0;\r"
	.ascii	"\n\tif (sp1.x < -area.x || sp1.x > area.x) return;\r\n\tif ("
	.ascii	"sp1.y < -area.y || sp1.y > area.y) return;\r\n\tif (sp2.x < "
	.ascii	"-area.x || sp2.x > area.x) return;\r\n\tif (sp2.y < -area.y "
	.ascii	"|| sp2.y > area.y) return;\r\n\r\n\t/* determine the directi"
	.ascii	"on of each of the 3 segments (previous, current, next) */\r\n"
	.ascii	"\tvec2 v0 = normalize(sp1 - sp0);\r\n\tvec2 v1 = normalize(s"
	.ascii	"p2 - sp1);\r\n\tvec2 v2 = normalize(sp3 - sp2);\r\n\r\n\t/* "
	.ascii	"determine the normal of each of the 3 segments (previous, cu"
	.ascii	"rrent, next) */\r\n\tvec2 n0 = vec2(-v0.y, v0.x);\r\n\tvec2 "
	.ascii	"n1 = vec2(-v1.y, v1.x);\r\n\tvec2 n2 = vec2(-v2.y, v2.x);\r\n"
	.ascii	"\r\n\t/* determine miter lines by averaging the normals of t"
	.ascii	"he 2 segments */\r\n\tvec2 miter_a = normalize(n0 + n1);\t//"
	.ascii	" miter at start of current segment\r\n\tvec2 miter_b = norma"
	.ascii	"lize(n1 + n2);  // miter at end of current segment\r\n\r\n  "
	.ascii	"  /* determine the length of the miter by projecting it onto"
	.ascii	" normal and then inverse it */\r\n\tfloat an1 = dot(miter_a,"
	.ascii	" n1);\r\n\tfloat bn1 = dot(miter_b, n2);\r\n\tif (an1 == 0) "
	.ascii	"an1 = 1;\r\n\tif (bn1 == 0) bn1 = 1;\r\n\tfloat length_a = f"
	.ascii	"inalThickness[1] / an1;\r\n\tfloat length_b = finalThickness"
	.ascii	"[2] / bn1;\r\n\tif (length_a <= 0.0) length_a = 0.01;\r\n\ti"
	.ascii	"f (length_b <= 0.0) length_b = 0.01;\r\n\r\n\t/* prevent exc"
	.ascii	"essively long miters at sharp corners */\r\n\tif (dot(v0, v1"
	.ascii	") < -MiterLimit) {\r\n\t\tmiter_a = n1;\r\n\t\tlength_a = fi"
	.ascii	"nalThickness[1];\r\n\r\n\t\t/* close the gap */\r\n\t\tif (d"
	.ascii	"ot(v0, n1) > 0) {\r\n\t\t\tmTexCoord = vec2(0, 0);\r\n\t\t\t"
	.ascii	"mColor = finalColor[1];\r\n\t\t\tgl_Position = vec4((sp1 + f"
	.ascii	"inalThickness[1] * n0) / Viewport, getZdepth(P1), 1.0);\r\n\t"
	.ascii	"\t\tEmitVertex();\r\n\r\n\t\t\tmTexCoord = vec2(0, 0);\r\n\t"
	.ascii	"\t\tmColor = finalColor[1];\r\n\t\t\tgl_Position = vec4((sp1"
	.ascii	" + finalThickness[1] * n1) / Viewport, getZdepth(P1), 1.0);\r"
	.ascii	"\n\t\t\tEmitVertex();\r\n\r\n\t\t\tmTexCoord = vec2(0, 0.5);"
	.ascii	"\r\n\t\t\tmColor = finalColor[1];\r\n\t\t\tgl_Position = vec"
	.ascii	"4(sp1 / Viewport,  getZdepth(P1), 1.0);\r\n\t\t\tEmitVertex("
	.ascii	");\r\n\r\n\t\t\tEndPrimitive();\r\n\t\t}\r\n\t\telse {\r\n\t"
	.ascii	"\t\tmTexCoord = vec2(0, 1);\r\n\t\t\tmColor = finalColor[1];"
	.ascii	"\r\n\t\t\tgl_Position = vec4((sp1 - finalThickness[1] * n1) "
	.ascii	"/ Viewport, getZdepth(P1), 1.0);\r\n\t"
	.ascii	"\t\tEmitVertex();\r\n\r\n\t\t\tmTexCoord = vec2(0, 1);\r\n\t"
	.ascii	"\t\tmColor = finalColor[1];\r\n\t\t\tgl_Position = vec4((sp1"
	.ascii	" - finalThickness[1] * n0) / Viewport, getZdepth(P1), 1.0);\r"
	.ascii	"\n\t\t\tEmitVertex();\r\n\r\n\t\t\tmTexCoord = vec2(0, 0.5);"
	.ascii	"\r\n\t\t\tmColor = finalColor[1];\r\n\t\t\tgl_Position = vec"
	.ascii	"4(sp1 / Viewport, getZdepth(P1), 1.0);\r\n\t\t\tEmitVertex()"
	.ascii	";\r\n\r\n\t\t\tEndPrimitive();\r\n\t\t}\r\n\t}\r\n\r\n\tif ("
	.ascii	"dot(v1, v2) < -MiterLimit) {\r\n\t\tmiter_b = n1;\r\n\t\tlen"
	.ascii	"gth_b = finalThickness[2];\r\n\t}\r\n\r\n\t/* generate the s"
	.ascii	"tart endcap */\r\n\tif ((caps_mode[0] != GPENCIL_FLATCAP) &&"
	.ascii	" is_equal(P0,P2) &&\r\n\t\t(color_type == GPENCIL_COLOR_SOLI"
	.ascii	"D))\r\n\t{\r\n\t\tvec4 cap_color = finalColor[1];\r\n\r\n\t\t"
	.ascii	"mTexCoord = vec2(2.0, 1.0);\r\n\t\tmColor = cap_color;\r\n\t"
	.ascii	"\tvec2 svn1 =  normalize(sp1 - sp2) * length_a * 4.0;\r\n\t\t"
	.ascii	"uvfac = vec2(0.0, 1.0);\r\n\t\tgl_Position = vec4((sp1 + svn"
	.ascii	"1) / Viewport, getZdepth(P1), 1.0);\r\n\t\tEmitVertex();\r\n"
	.ascii	"\r\n\t\tmTexCoord = vec2(0.0, 0.0);\r\n\t\tmColor = cap_colo"
	.ascii	"r;\r\n\t\tuvfac = vec2(0.0, 1.0);\r\n\t\tgl_Position = vec4("
	.ascii	"(sp1 - (length_a * 2.0) * miter_a) / Viewport, getZdepth(P1)"
	.ascii	", 1.0);\r\n\t\tEmitVertex();\r\n\r\n\t\tmTexCoord = vec2(0.0"
	.ascii	", 2.0);\r\n\t\tmColor = cap_color;\r\n\t\tuvfac = vec2(0.0, "
	.ascii	"1.0);\r\n\t\tgl_Position = vec4((sp1 + (length_a * 2.0) * mi"
	.ascii	"ter_a) / Viewport, getZdepth(P1), 1.0);\r\n\t\tEmitVertex();"
	.ascii	"\r\n\t}\r\n\r\n\t/* generate the triangle strip */\r\n\tuvfa"
	.ascii	"c = vec2(0.0, 0.0);\r\n\tmTexCoord = (color_type == GPENCIL_"
	.ascii	"COLOR_SOLID) ? vec2(0, 0) : vec2(finaluvdata[1].x, 0);\r\n\t"
	.ascii	"mColor = finalColor[1];\r\n\tgl_Position = vec4((sp1 + lengt"
	.ascii	"h_a * miter_a) / Viewport, getZdepth(P1), 1.0);\r\n\tEmitVer"
	.ascii	"tex();\r\n\r\n\tmTexCoord = (color_type == GPENCIL_COLOR_SOL"
	.ascii	"ID) ? vec2(0, 1) : vec2(finaluvdata[1].x, 1);\r\n\tmColor = "
	.ascii	"finalColor[1];\r\n\tgl_Position = vec4((sp1 - length_a * mit"
	.ascii	"er_a) / Viewport, getZdepth(P1), 1.0);\r\n\tEmitVertex();\r\n"
	.ascii	"\r\n\tmTexCoord = (color_type == GPENCIL_COLOR_SOLID) ? vec2"
	.ascii	"(1, 0) : vec2(finaluvdata[2].x, 0);\r\n\tmColor = finalColor"
	.ascii	"[2];\r\n\tgl_Position = vec4((sp2 + length_b * miter_b) / Vi"
	.ascii	"ewport, getZdepth(P2), 1.0);\r\n\tEmitVertex();\r\n\r\n\tmTe"
	.ascii	"xCoord = (color_type == GPENCIL_COLOR_SOLID) ? vec2(1, 1)"
	.ascii	" : vec2(finaluvdata[2].x, 1);\r\n\tmColor = finalColor[2];\r"
	.ascii	"\n\tgl_Position = vec4((sp2 - length_b * miter_b) / Viewport"
	.ascii	", getZdepth(P2), 1.0);\r\n\tEmitVertex();\r\n\r\n\t/* genera"
	.ascii	"te the end endcap */\r\n\tif ((caps_mode[1] != GPENCIL_FLATC"
	.ascii	"AP) && is_equal(P1,P3) &&\r\n\t\t(color_type == GPENCIL_COLO"
	.ascii	"R_SOLID) && (finaluvdata[2].x > 0))\r\n\t{\r\n\t\tvec4 cap_c"
	.ascii	"olor = finalColor[2];\r\n\r\n\t\tmTexCoord = vec2(finaluvdat"
	.ascii	"a[2].x, 2.0);\r\n\t\tmColor = cap_color;\r\n\t\tuvfac = vec2"
	.ascii	"(finaluvdata[2].x, 1.0);\r\n\t\tgl_Position = vec4((sp2 + (l"
	.ascii	"ength_b * 2.0) * miter_b) / Viewport, getZdepth(P2), 1.0);\r"
	.ascii	"\n\t\tEmitVertex();\r\n\r\n\t\tmTexCoord = vec2(finaluvdata["
	.ascii	"2].x, 0.0);\r\n\t\tmColor = cap_color;\r\n\t\tuvfac = vec2(f"
	.ascii	"inaluvdata[2].x, 1.0);\r\n\t\tgl_Position = vec4((sp2 - (len"
	.ascii	"gth_b * 2.0) * miter_b) / Viewport, getZdepth(P2), 1.0);\r\n"
	.ascii	"\t\tEmitVertex();\r\n\r\n\t\tmTexCoord = vec2(fin"
	.string	"aluvdata[2].x + 2, 1.0);\r\n\t\tmColor = cap_color;\r\n\t\tuvfac = vec2(finaluvdata[2].x, 1.0);\r\n\t\tvec2 svn2 =  normalize(sp2 - sp1) * length_b * 4.0;\r\n\t\tgl_Position = vec4((sp2 + svn2) / Viewport, getZdepth(P2), 1.0);\r\n\t\tEmitVertex();\r\n\t}\r\n\r\n\tEndPrimitive();\r\n}\r\n"
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"154827822.c"
	.text
	.global	datatoc_gpencil_stroke_geom_glsl_size
	.data
	.align	2
	.type	datatoc_gpencil_stroke_geom_glsl_size, %object
	.size	datatoc_gpencil_stroke_geom_glsl_size, 4
datatoc_gpencil_stroke_geom_glsl_size:
	.word	7067
	.global	datatoc_gpencil_stroke_geom_glsl
	.align	2
	.type	datatoc_gpencil_stroke_geom_glsl, %object
	.size	datatoc_gpencil_stroke_geom_glsl, 7068
datatoc_gpencil_stroke_geom_glsl:
	.ascii	"uniform mat4 ModelViewProjectionMatrix;\015\012unif"
	.ascii	"orm vec2 Viewport;\015\012uniform int xraymode;\015"
	.ascii	"\012uniform int color_type;\015\012uniform int caps"
	.ascii	"_mode[2];\015\012\015\012layout(lines_adjacency) in"
	.ascii	";\015\012layout(triangle_strip, max_vertices = 13) "
	.ascii	"out;\015\012\015\012in vec4 finalColor[4];\015\012i"
	.ascii	"n float finalThickness[4];\015\012in vec2 finaluvda"
	.ascii	"ta[4];\015\012\015\012out vec4 mColor;\015\012out v"
	.ascii	"ec2 mTexCoord;\015\012out vec2 uvfac;\015\012\015\012"
	.ascii	"#define GP_XRAY_FRONT 0\015\012#define GP_XRAY_3DSP"
	.ascii	"ACE 1\015\012#define GP_XRAY_BACK  2\015\012\015\012"
	.ascii	"/* keep this list synchronized with list in gpencil"
	.ascii	"_engine.h */\015\012#define GPENCIL_COLOR_SOLID   0"
	.ascii	"\015\012#define GPENCIL_COLOR_TEXTURE 1\015\012#def"
	.ascii	"ine GPENCIL_COLOR_PATTERN 2\015\012\015\012#define "
	.ascii	"GPENCIL_FLATCAP 1\015\012\015\012/* project 3d poin"
	.ascii	"t to 2d on screen space */\015\012vec2 toScreenSpac"
	.ascii	"e(vec4 vertex)\015\012{\015\012\011return vec2(vert"
	.ascii	"ex.xy / vertex.w) * Viewport;\015\012}\015\012\015\012"
	.ascii	"/* get zdepth value */\015\012float getZdepth(vec4 "
	.ascii	"point)\015\012{\015\012\011if (xraymode == GP_XRAY_"
	.ascii	"FRONT) {\015\012\011\011return 0.000001;\015\012\011"
	.ascii	"}\015\012\011if (xraymode == GP_XRAY_3DSPACE) {\015"
	.ascii	"\012\011\011return (point.z / point.w);\015\012\011"
	.ascii	"}\015\012\011if  (xraymode == GP_XRAY_BACK) {\015\012"
	.ascii	"\011\011return 0.999999;\015\012\011}\015\012\015\012"
	.ascii	"\011/* in front by default */\015\012\011return 0.0"
	.ascii	"00001;\015\012}\015\012\015\012/* check equality bu"
	.ascii	"t with a small tolerance */\015\012bool is_equal(ve"
	.ascii	"c4 p1, vec4 p2)\015\012{\015\012\011float limit = 0"
	.ascii	".0001;\015\012\011float x = abs(p1.x - p2.x);\015\012"
	.ascii	"\011float y = abs(p1.y - p2.y);\015\012\011float z "
	.ascii	"= abs(p1.z - p2.z);\015\012\015\012\011if ((x < lim"
	.ascii	"it) && (y < limit) && (z < limit)) {\015\012\011\011"
	.ascii	"return true;\015\012\011}\015\012\015\012\011return"
	.ascii	" false;\015\012}\015\012\015\012void main(void)\015"
	.ascii	"\012{\015\012\011float MiterLimit = 0.75;\015\012\011"
	.ascii	"uvfac = vec2(0.0, 0.0);\015\012\015\012\011/* recei"
	.ascii	"ve 4 points */\015\012\011vec4 P0 = gl_in[0].gl_Pos"
	.ascii	"ition;\015\012\011vec4 P1 = gl_in[1].gl_Position;\015"
	.ascii	"\012\011vec4 P2 = gl_in[2].gl_Position;\015\012\011"
	.ascii	"vec4 P3 = gl_in[3].gl_Position;\015\012\015\012\011"
	.ascii	"/* get the four vertices passed to the shader */\015"
	.ascii	"\012\011vec2 sp0 = toScreenSpace(P0);\011// start o"
	.ascii	"f previous segment\015\012\011vec2 sp1 = toScreenSp"
	.ascii	"ace(P1);\011// end of previous segment, start of cu"
	.ascii	"rrent segment\015\012\011vec2 sp2 = toScreenSpace(P"
	.ascii	"2);\011// end of current segment, start of next seg"
	.ascii	"ment\015\012\011vec2 sp3 = toScreenSpace(P3);   // "
	.ascii	"end of next segment\015\012\015\012\011/* culling o"
	.ascii	"utside viewport */\015\012\011vec2 area = Viewport "
	.ascii	"* 4.0;\015"
	.ascii	"\012\011if (sp1.x < -area.x || sp1.x > area.x) retu"
	.ascii	"rn;\015\012\011if (sp1.y < -area.y || sp1.y > area."
	.ascii	"y) return;\015\012\011if (sp2.x < -area.x || sp2.x "
	.ascii	"> area.x) return;\015\012\011if (sp2.y < -area.y ||"
	.ascii	" sp2.y > area.y) return;\015\012\015\012\011/* dete"
	.ascii	"rmine the direction of each of the 3 segments (prev"
	.ascii	"ious, current, next) */\015\012\011vec2 v0 = normal"
	.ascii	"ize(sp1 - sp0);\015\012\011vec2 v1 = normalize(sp2 "
	.ascii	"- sp1);\015\012\011vec2 v2 = normalize(sp3 - sp2);\015"
	.ascii	"\012\015\012\011/* determine the normal of each of "
	.ascii	"the 3 segments (previous, current, next) */\015\012"
	.ascii	"\011vec2 n0 = vec2(-v0.y, v0.x);\015\012\011vec2 n1"
	.ascii	" = vec2(-v1.y, v1.x);\015\012\011vec2 n2 = vec2(-v2"
	.ascii	".y, v2.x);\015\012\015\012\011/* determine miter li"
	.ascii	"nes by averaging the normals of the 2 segments */\015"
	.ascii	"\012\011vec2 miter_a = normalize(n0 + n1);\011// mi"
	.ascii	"ter at start of current segment\015\012\011vec2 mit"
	.ascii	"er_b = normalize(n1 + n2);  // miter at end of curr"
	.ascii	"ent segment\015\012\015\012    /* determine the len"
	.ascii	"gth of the miter by projecting it onto normal and t"
	.ascii	"hen inverse it */\015\012\011float an1 = dot(miter_"
	.ascii	"a, n1);\015\012\011float bn1 = dot(miter_b, n2);\015"
	.ascii	"\012\011if (an1 == 0) an1 = 1;\015\012\011if (bn1 ="
	.ascii	"= 0) bn1 = 1;\015\012\011float length_a = finalThic"
	.ascii	"kness[1] / an1;\015\012\011float length_b = finalTh"
	.ascii	"ickness[2] / bn1;\015\012\011if (length_a <= 0.0) l"
	.ascii	"ength_a = 0.01;\015\012\011if (length_b <= 0.0) len"
	.ascii	"gth_b = 0.01;\015\012\015\012\011/* prevent excessi"
	.ascii	"vely long miters at sharp corners */\015\012\011if "
	.ascii	"(dot(v0, v1) < -MiterLimit) {\015\012\011\011miter_"
	.ascii	"a = n1;\015\012\011\011length_a = finalThickness[1]"
	.ascii	";\015\012\015\012\011\011/* close the gap */\015\012"
	.ascii	"\011\011if (dot(v0, n1) > 0) {\015\012\011\011\011m"
	.ascii	"TexCoord = vec2(0, 0);\015\012\011\011\011mColor = "
	.ascii	"finalColor[1];\015\012\011\011\011gl_Position = vec"
	.ascii	"4((sp1 + finalThickness[1] * n0) / Viewport, getZde"
	.ascii	"pth(P1), 1.0);\015\012\011\011\011EmitVertex();\015"
	.ascii	"\012\015\012\011\011\011mTexCoord = vec2(0, 0);\015"
	.ascii	"\012\011\011\011mColor = finalColor[1];\015\012\011"
	.ascii	"\011\011gl_Position = vec4((sp1 + finalThickness[1]"
	.ascii	" * n1) / Viewport, getZdepth(P1), 1.0);\015\012\011"
	.ascii	"\011\011EmitVertex();\015\012\015\012\011\011\011mT"
	.ascii	"exCoord = vec2(0, 0.5);\015\012\011\011\011mColor ="
	.ascii	" finalColor[1];\015\012\011\011\011gl_Position = ve"
	.ascii	"c4(sp1 / Viewport,  getZdepth(P1), 1.0);\015\012\011"
	.ascii	"\011\011EmitVertex();\015\012\015\012\011\011\011En"
	.ascii	"dPrimitive();\015\012\011\011}\015\012\011\011else "
	.ascii	"{\015\012\011\011\011mTexCoord = vec2(0, 1);\015\012"
	.ascii	"\011\011\011mColor = finalColor[1];\015\012\011\011"
	.ascii	"\011gl_Position = vec4((sp1 - finalThickness[1] * n"
	.ascii	"1) / Viewport, getZdepth(P1), 1.0);\015\012\011"
	.ascii	"\011\011EmitVertex();\015\012\015\012\011\011\011mT"
	.ascii	"exCoord = vec2(0, 1);\015\012\011\011\011mColor = f"
	.ascii	"inalColor[1];\015\012\011\011\011gl_Position = vec4"
	.ascii	"((sp1 - finalThickness[1] * n0) / Viewport, getZdep"
	.ascii	"th(P1), 1.0);\015\012\011\011\011EmitVertex();\015\012"
	.ascii	"\015\012\011\011\011mTexCoord = vec2(0, 0.5);\015\012"
	.ascii	"\011\011\011mColor = finalColor[1];\015\012\011\011"
	.ascii	"\011gl_Position = vec4(sp1 / Viewport, getZdepth(P1"
	.ascii	"), 1.0);\015\012\011\011\011EmitVertex();\015\012\015"
	.ascii	"\012\011\011\011EndPrimitive();\015\012\011\011}\015"
	.ascii	"\012\011}\015\012\015\012\011if (dot(v1, v2) < -Mit"
	.ascii	"erLimit) {\015\012\011\011miter_b = n1;\015\012\011"
	.ascii	"\011length_b = finalThickness[2];\015\012\011}\015\012"
	.ascii	"\015\012\011/* generate the start endcap */\015\012"
	.ascii	"\011if ((caps_mode[0] != GPENCIL_FLATCAP) && is_equ"
	.ascii	"al(P0,P2) &&\015\012\011\011(color_type == GPENCIL_"
	.ascii	"COLOR_SOLID))\015\012\011{\015\012\011\011vec4 cap_"
	.ascii	"color = finalColor[1];\015\012\015\012\011\011mTexC"
	.ascii	"oord = vec2(2.0, 1.0);\015\012\011\011mColor = cap_"
	.ascii	"color;\015\012\011\011vec2 svn1 =  normalize(sp1 - "
	.ascii	"sp2) * length_a * 4.0;\015\012\011\011uvfac = vec2("
	.ascii	"0.0, 1.0);\015\012\011\011gl_Position = vec4((sp1 +"
	.ascii	" svn1) / Viewport, getZdepth(P1), 1.0);\015\012\011"
	.ascii	"\011EmitVertex();\015\012\015\012\011\011mTexCoord "
	.ascii	"= vec2(0.0, 0.0);\015\012\011\011mColor = cap_color"
	.ascii	";\015\012\011\011uvfac = vec2(0.0, 1.0);\015\012\011"
	.ascii	"\011gl_Position = vec4((sp1 - (length_a * 2.0) * mi"
	.ascii	"ter_a) / Viewport, getZdepth(P1), 1.0);\015\012\011"
	.ascii	"\011EmitVertex();\015\012\015\012\011\011mTexCoord "
	.ascii	"= vec2(0.0, 2.0);\015\012\011\011mColor = cap_color"
	.ascii	";\015\012\011\011uvfac = vec2(0.0, 1.0);\015\012\011"
	.ascii	"\011gl_Position = vec4((sp1 + (length_a * 2.0) * mi"
	.ascii	"ter_a) / Viewport, getZdepth(P1), 1.0);\015\012\011"
	.ascii	"\011EmitVertex();\015\012\011}\015\012\015\012\011/"
	.ascii	"* generate the triangle strip */\015\012\011uvfac ="
	.ascii	" vec2(0.0, 0.0);\015\012\011mTexCoord = (color_type"
	.ascii	" == GPENCIL_COLOR_SOLID) ? vec2(0, 0) : vec2(finalu"
	.ascii	"vdata[1].x, 0);\015\012\011mColor = finalColor[1];\015"
	.ascii	"\012\011gl_Position = vec4((sp1 + length_a * miter_"
	.ascii	"a) / Viewport, getZdepth(P1), 1.0);\015\012\011Emit"
	.ascii	"Vertex();\015\012\015\012\011mTexCoord = (color_typ"
	.ascii	"e == GPENCIL_COLOR_SOLID) ? vec2(0, 1) : vec2(final"
	.ascii	"uvdata[1].x, 1);\015\012\011mColor = finalColor[1];"
	.ascii	"\015\012\011gl_Position = vec4((sp1 - length_a * mi"
	.ascii	"ter_a) / Viewport, getZdepth(P1), 1.0);\015\012\011"
	.ascii	"EmitVertex();\015\012\015\012\011mTexCoord = (color"
	.ascii	"_type == GPENCIL_COLOR_SOLID) ? vec2(1, 0) : vec2(f"
	.ascii	"inaluvdata[2].x, 0);\015\012\011mColor = finalColor"
	.ascii	"[2];\015\012\011gl_Position = vec4((sp2 + length_b "
	.ascii	"* miter_b) / Viewport, getZdepth(P2), 1.0);\015\012"
	.ascii	"\011EmitVertex();\015\012\015\012\011mTexCoord = (c"
	.ascii	"olor_type == GPENCIL_COLOR_SOLID) ? vec2(1, 1)"
	.ascii	" : vec2(finaluvdata[2].x, 1);\015\012\011mColor = f"
	.ascii	"inalColor[2];\015\012\011gl_Position = vec4((sp2 - "
	.ascii	"length_b * miter_b) / Viewport, getZdepth(P2), 1.0)"
	.ascii	";\015\012\011EmitVertex();\015\012\015\012\011/* ge"
	.ascii	"nerate the end endcap */\015\012\011if ((caps_mode["
	.ascii	"1] != GPENCIL_FLATCAP) && is_equal(P1,P3) &&\015\012"
	.ascii	"\011\011(color_type == GPENCIL_COLOR_SOLID) && (fin"
	.ascii	"aluvdata[2].x > 0))\015\012\011{\015\012\011\011vec"
	.ascii	"4 cap_color = finalColor[2];\015\012\015\012\011\011"
	.ascii	"mTexCoord = vec2(finaluvdata[2].x, 2.0);\015\012\011"
	.ascii	"\011mColor = cap_color;\015\012\011\011uvfac = vec2"
	.ascii	"(finaluvdata[2].x, 1.0);\015\012\011\011gl_Position"
	.ascii	" = vec4((sp2 + (length_b * 2.0) * miter_b) / Viewpo"
	.ascii	"rt, getZdepth(P2), 1.0);\015\012\011\011EmitVertex("
	.ascii	");\015\012\015\012\011\011mTexCoord = vec2(finaluvd"
	.ascii	"ata[2].x, 0.0);\015\012\011\011mColor = cap_color;\015"
	.ascii	"\012\011\011uvfac = vec2(finaluvdata[2].x, 1.0);\015"
	.ascii	"\012\011\011gl_Position = vec4((sp2 - (length_b * 2"
	.ascii	".0) * miter_b) / Viewport, getZdepth(P2), 1.0);\015"
	.ascii	"\012\011\011EmitVertex();\015\012\015\012\011\011mT"
	.ascii	"exCoord = vec2(finaluvdata[2].x + 2, 1.0);\015\012\011"
	.ascii	"\011mColor = cap_color;\015\012\011\011uvfac = vec2"
	.ascii	"(finaluvdata[2].x, 1.0);\015\012\011\011vec2 svn2 ="
	.ascii	"  normalize(sp2 - sp1) * length_b * 4.0;\015\012\011"
	.ascii	"\011gl_Position = vec4((sp2 + svn2) / Viewport, get"
	.ascii	"Zdepth(P2), 1.0);\015\012\011\011EmitVertex();\015\012"
	.ascii	"\011}\015\012\015\012\011EndPrimitive();\015\012}\015"
	.ascii	"\012\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
