1 if(matrix[5] == matrix[6] &&
2 matrix[5] == matrix[12] &&
3 matrix[5] == matrix[18] &&
4 true) {
5 	{
6 	PixelUnion pu;
7 	int red = 0, green = 0, blue = 0, count = 0;
8 	pu.value = matrix[6];
9 	red += pu.rgba[0]*1*pu.rgba[3];
10 	green += pu.rgba[1]*1*pu.rgba[3];
11 	blue += pu.rgba[2]*1*pu.rgba[3];
12 	count += pu.rgba[3]* 1;
13 	pu.value = matrix[7];
14 	red += pu.rgba[0]*1*pu.rgba[3];
15 	green += pu.rgba[1]*1*pu.rgba[3];
16 	blue += pu.rgba[2]*1*pu.rgba[3];
17 	count += pu.rgba[3]* 1;
18 	pu.value = matrix[8];
19 	red += pu.rgba[0]*1*pu.rgba[3];
20 	green += pu.rgba[1]*1*pu.rgba[3];
21 	blue += pu.rgba[2]*1*pu.rgba[3];
22 	count += pu.rgba[3]* 1;
23 	pu.value = matrix[11];
24 	red += pu.rgba[0]*1*pu.rgba[3];
25 	green += pu.rgba[1]*1*pu.rgba[3];
26 	blue += pu.rgba[2]*1*pu.rgba[3];
27 	count += pu.rgba[3]* 1;
28 	pu.value = matrix[12];
29 	red += pu.rgba[0]*1*pu.rgba[3];
30 	green += pu.rgba[1]*1*pu.rgba[3];
31 	blue += pu.rgba[2]*1*pu.rgba[3];
32 	count += pu.rgba[3]* 1;
33 	pu.value = matrix[13];
34 	red += pu.rgba[0]*1*pu.rgba[3];
35 	green += pu.rgba[1]*1*pu.rgba[3];
36 	blue += pu.rgba[2]*1*pu.rgba[3];
37 	count += pu.rgba[3]* 1;
38 	if(count > 0) {
39 		red /= count;
40 		green /= count;
41 		blue /= count;
42 		pu.rgba[0] = red; pu.rgba[1] = green; pu.rgba[2] = blue; pu.rgba[3] = 255;
43 		out1 = pu.value;
44 	}
45 }
46 	}
47 if(matrix[8] == matrix[9] &&
48 matrix[8] == matrix[12] &&
49 matrix[8] == matrix[16] &&
50 true) {
51 	{
52 	PixelUnion pu;
53 	int red = 0, green = 0, blue = 0, count = 0;
54 	pu.value = matrix[6];
55 	red += pu.rgba[0]*1*pu.rgba[3];
56 	green += pu.rgba[1]*1*pu.rgba[3];
57 	blue += pu.rgba[2]*1*pu.rgba[3];
58 	count += pu.rgba[3]* 1;
59 	pu.value = matrix[7];
60 	red += pu.rgba[0]*1*pu.rgba[3];
61 	green += pu.rgba[1]*1*pu.rgba[3];
62 	blue += pu.rgba[2]*1*pu.rgba[3];
63 	count += pu.rgba[3]* 1;
64 	pu.value = matrix[8];
65 	red += pu.rgba[0]*1*pu.rgba[3];
66 	green += pu.rgba[1]*1*pu.rgba[3];
67 	blue += pu.rgba[2]*1*pu.rgba[3];
68 	count += pu.rgba[3]* 1;
69 	pu.value = matrix[11];
70 	red += pu.rgba[0]*1*pu.rgba[3];
71 	green += pu.rgba[1]*1*pu.rgba[3];
72 	blue += pu.rgba[2]*1*pu.rgba[3];
73 	count += pu.rgba[3]* 1;
74 	pu.value = matrix[12];
75 	red += pu.rgba[0]*1*pu.rgba[3];
76 	green += pu.rgba[1]*1*pu.rgba[3];
77 	blue += pu.rgba[2]*1*pu.rgba[3];
78 	count += pu.rgba[3]* 1;
79 	pu.value = matrix[13];
80 	red += pu.rgba[0]*1*pu.rgba[3];
81 	green += pu.rgba[1]*1*pu.rgba[3];
82 	blue += pu.rgba[2]*1*pu.rgba[3];
83 	count += pu.rgba[3]* 1;
84 	if(count > 0) {
85 		red /= count;
86 		green /= count;
87 		blue /= count;
88 		pu.rgba[0] = red; pu.rgba[1] = green; pu.rgba[2] = blue; pu.rgba[3] = 255;
89 		out0 = pu.value;
90 	}
91 }
92 	}
93 if(matrix[6] == matrix[12] &&
94 matrix[6] == matrix[18] &&
95 matrix[6] == matrix[19] &&
96 true) {
97 	{
98 	PixelUnion pu;
99 	int red = 0, green = 0, blue = 0, count = 0;
100 	pu.value = matrix[11];
101 	red += pu.rgba[0]*1*pu.rgba[3];
102 	green += pu.rgba[1]*1*pu.rgba[3];
103 	blue += pu.rgba[2]*1*pu.rgba[3];
104 	count += pu.rgba[3]* 1;
105 	pu.value = matrix[12];
106 	red += pu.rgba[0]*1*pu.rgba[3];
107 	green += pu.rgba[1]*1*pu.rgba[3];
108 	blue += pu.rgba[2]*1*pu.rgba[3];
109 	count += pu.rgba[3]* 1;
110 	pu.value = matrix[13];
111 	red += pu.rgba[0]*1*pu.rgba[3];
112 	green += pu.rgba[1]*1*pu.rgba[3];
113 	blue += pu.rgba[2]*1*pu.rgba[3];
114 	count += pu.rgba[3]* 1;
115 	pu.value = matrix[16];
116 	red += pu.rgba[0]*1*pu.rgba[3];
117 	green += pu.rgba[1]*1*pu.rgba[3];
118 	blue += pu.rgba[2]*1*pu.rgba[3];
119 	count += pu.rgba[3]* 1;
120 	pu.value = matrix[17];
121 	red += pu.rgba[0]*1*pu.rgba[3];
122 	green += pu.rgba[1]*1*pu.rgba[3];
123 	blue += pu.rgba[2]*1*pu.rgba[3];
124 	count += pu.rgba[3]* 1;
125 	pu.value = matrix[18];
126 	red += pu.rgba[0]*1*pu.rgba[3];
127 	green += pu.rgba[1]*1*pu.rgba[3];
128 	blue += pu.rgba[2]*1*pu.rgba[3];
129 	count += pu.rgba[3]* 1;
130 	if(count > 0) {
131 		red /= count;
132 		green /= count;
133 		blue /= count;
134 		pu.rgba[0] = red; pu.rgba[1] = green; pu.rgba[2] = blue; pu.rgba[3] = 255;
135 		out2 = pu.value;
136 	}
137 }
138 	}
139 if(matrix[8] == matrix[12] &&
140 matrix[8] == matrix[15] &&
141 matrix[8] == matrix[16] &&
142 true) {
143 	{
144 	PixelUnion pu;
145 	int red = 0, green = 0, blue = 0, count = 0;
146 	pu.value = matrix[11];
147 	red += pu.rgba[0]*1*pu.rgba[3];
148 	green += pu.rgba[1]*1*pu.rgba[3];
149 	blue += pu.rgba[2]*1*pu.rgba[3];
150 	count += pu.rgba[3]* 1;
151 	pu.value = matrix[12];
152 	red += pu.rgba[0]*1*pu.rgba[3];
153 	green += pu.rgba[1]*1*pu.rgba[3];
154 	blue += pu.rgba[2]*1*pu.rgba[3];
155 	count += pu.rgba[3]* 1;
156 	pu.value = matrix[13];
157 	red += pu.rgba[0]*1*pu.rgba[3];
158 	green += pu.rgba[1]*1*pu.rgba[3];
159 	blue += pu.rgba[2]*1*pu.rgba[3];
160 	count += pu.rgba[3]* 1;
161 	pu.value = matrix[16];
162 	red += pu.rgba[0]*1*pu.rgba[3];
163 	green += pu.rgba[1]*1*pu.rgba[3];
164 	blue += pu.rgba[2]*1*pu.rgba[3];
165 	count += pu.rgba[3]* 1;
166 	pu.value = matrix[17];
167 	red += pu.rgba[0]*1*pu.rgba[3];
168 	green += pu.rgba[1]*1*pu.rgba[3];
169 	blue += pu.rgba[2]*1*pu.rgba[3];
170 	count += pu.rgba[3]* 1;
171 	pu.value = matrix[18];
172 	red += pu.rgba[0]*1*pu.rgba[3];
173 	green += pu.rgba[1]*1*pu.rgba[3];
174 	blue += pu.rgba[2]*1*pu.rgba[3];
175 	count += pu.rgba[3]* 1;
176 	if(count > 0) {
177 		red /= count;
178 		green /= count;
179 		blue /= count;
180 		pu.rgba[0] = red; pu.rgba[1] = green; pu.rgba[2] = blue; pu.rgba[3] = 255;
181 		out3 = pu.value;
182 	}
183 }
184 	}
185