Merge lp:~myro-cpp-dev/myro-c++/cimg-backend into lp:myro-c++
- cimg-backend
- Merge into trunk
Proposed by
John Hoare
Status: | Merged |
---|---|
Merge reported by: | John Hoare |
Merged at revision: | not available |
Proposed branch: | lp:~myro-cpp-dev/myro-c++/cimg-backend |
Merge into: | lp:myro-c++ |
Diff against target: |
75520 lines (+73666/-916) 109 files modified
CHANGELOG.txt (+2/-0) CMakeLists.txt (+14/-9) README-Cygwin.txt (+0/-19) README.txt (+0/-2) headers/CImg/CImg.h (+40837/-0) headers/CImg/CMakeLists.txt (+2/-0) headers/CImg/jpeg_buffer.h (+374/-0) headers/CMakeLists.txt (+3/-1) headers/ColorPicture.h (+4/-0) headers/Graphics.h (+351/-0) headers/GrayPicture.h (+3/-0) headers/Myro.h (+2/-0) headers/MyroCImg.h (+34/-0) headers/MyroForwardDec.h (+0/-4) headers/MyroInternals.h (+81/-37) headers/Picture.h (+24/-5) headers/VideoStream.h (+2/-9) headers/jmemsrc.h (+1/-1) jpeg/CMakeLists.txt (+38/-0) jpeg/Makefile (+118/-0) jpeg/README (+385/-0) jpeg/change.log (+217/-0) jpeg/coderules.doc (+118/-0) jpeg/filelist.doc (+210/-0) jpeg/jcapimin.c (+280/-0) jpeg/jcapistd.c (+161/-0) jpeg/jccoefct.c (+449/-0) jpeg/jccolor.c (+459/-0) jpeg/jcdctmgr.c (+387/-0) jpeg/jchuff.c (+909/-0) jpeg/jcinit.c (+72/-0) jpeg/jcmainct.c (+293/-0) jpeg/jcmarker.c (+664/-0) jpeg/jcmaster.c (+590/-0) jpeg/jcomapi.c (+106/-0) jpeg/jconfig.doc (+155/-0) jpeg/jcparam.c (+610/-0) jpeg/jcphuff.c (+833/-0) jpeg/jcprepct.c (+354/-0) jpeg/jcsample.c (+519/-0) jpeg/jctrans.c (+388/-0) jpeg/jdapimin.c (+395/-0) jpeg/jdapistd.c (+275/-0) jpeg/jdatadst.c (+151/-0) jpeg/jdatasrc.c (+212/-0) jpeg/jdcoefct.c (+736/-0) jpeg/jdcolor.c (+396/-0) jpeg/jddctmgr.c (+269/-0) jpeg/jdhuff.c (+651/-0) jpeg/jdinput.c (+381/-0) jpeg/jdmainct.c (+512/-0) jpeg/jdmarker.c (+1360/-0) jpeg/jdmaster.c (+557/-0) jpeg/jdmerge.c (+400/-0) jpeg/jdphuff.c (+668/-0) jpeg/jdpostct.c (+290/-0) jpeg/jdsample.c (+478/-0) jpeg/jdtrans.c (+143/-0) jpeg/jerror.c (+253/-0) jpeg/jfdctflt.c (+168/-0) jpeg/jfdctfst.c (+224/-0) jpeg/jfdctint.c (+283/-0) jpeg/jidctflt.c (+242/-0) jpeg/jidctfst.c (+368/-0) jpeg/jidctint.c (+389/-0) jpeg/jidctred.c (+398/-0) jpeg/jmemmgr.c (+1118/-0) jpeg/jmemnobs.c (+109/-0) jpeg/jquant1.c (+856/-0) jpeg/jquant2.c (+1310/-0) jpeg/jutils.c (+179/-0) jpeg/libjpeg.doc (+3006/-0) jpeg/makedepend (+94/-0) jpeg/makefile.wat (+67/-0) jpeg/myrojpeg/CMakeLists.txt (+1/-0) jpeg/myrojpeg/myrojchuff.h (+47/-0) jpeg/myrojpeg/myrojconfig.h (+50/-0) jpeg/myrojpeg/myrojdct.h (+176/-0) jpeg/myrojpeg/myrojdhuff.h (+201/-0) jpeg/myrojpeg/myrojerror.h (+291/-0) jpeg/myrojpeg/myrojinclude.h (+91/-0) jpeg/myrojpeg/myrojmemsys.h (+198/-0) jpeg/myrojpeg/myrojmorecfg.h (+316/-0) jpeg/myrojpeg/myrojpegint.h (+392/-0) jpeg/myrojpeg/myrojpeglib.h (+1096/-0) jpeg/myrojpeg/myrojversion.h (+14/-0) jpeg/structure.doc (+948/-0) jpeg/usage.doc (+562/-0) jpeg/wizard.doc (+211/-0) src/CMakeLists.txt (+5/-7) src/ColorPicture.cpp (+37/-271) src/Graphics.cpp (+588/-0) src/GrayPicture.cpp (+20/-258) src/Myro.cpp (+0/-6) src/MyroInternals.cpp (+194/-112) src/Picture.cpp (+7/-4) src/VideoStream.cpp (+24/-166) src/jmemsrc.c (+2/-2) src/xcolors.cpp (+860/-0) test/CMakeLists.txt (+7/-2) test/Makefile (+7/-1) test/graphics/CMakeLists.txt (+7/-0) test/graphics/circles.cpp (+26/-0) test/graphics/graphwin_test.cpp (+74/-0) test/graphics/polygon_test.cpp (+30/-0) test/graphics/robot_joystick.cpp (+54/-0) test/take_snapshot.cpp (+55/-0) test/test_camera_fourwindow.cpp (+45/-0) test/test_camera_nonblocking.cpp (+43/-0) |
To merge this branch: | bzr merge lp:~myro-cpp-dev/myro-c++/cimg-backend |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Myro-C++-Developers | Pending | ||
Review via email: mp+61017@code.launchpad.net |
Commit message
Description of the change
Changed backend to CImg, added Graphics Drawing Library. Added a rudimentary joystick control program using the Drawing Library.
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'CHANGELOG.txt' |
2 | --- CHANGELOG.txt 2011-03-26 19:06:15 +0000 |
3 | +++ CHANGELOG.txt 2011-05-15 12:49:22 +0000 |
4 | @@ -1,4 +1,6 @@ |
5 | 2.3.0 (bzr-trunk) |
6 | + - Added Graphics Drawing Library |
7 | + - Switched from using FLTK to CImg library (included with myro-c++). |
8 | - Changed it so the connect() functions on the robot can take a string to hard-code into your code the commport of your robot. |
9 | - Fixed Bug where robot.setName() dropped the 9th character. |
10 | |
11 | |
12 | === modified file 'CMakeLists.txt' |
13 | --- CMakeLists.txt 2011-01-27 22:54:33 +0000 |
14 | +++ CMakeLists.txt 2011-05-15 12:49:22 +0000 |
15 | @@ -21,15 +21,20 @@ |
16 | SET(CPACK_PACKAGE_VERSION_PATCH "${MYRO_PKG_VER_PATCH}") |
17 | INCLUDE(CPack) |
18 | |
19 | - |
20 | -SET(FLTK_SKIP_FLUID TRUE) |
21 | -SET(FLTK_SKIP_OPENGL TRUE) |
22 | -SET(FLTK_SKIP_FORMS TRUE) |
23 | -FIND_PACKAGE(FLTK REQUIRED) |
24 | -INCLUDE_DIRECTORIES(${FLTK_INCLUDE_DIRS}) |
25 | - |
26 | -FIND_PACKAGE(JPEG REQUIRED) |
27 | -INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIRS}) |
28 | +IF(WIN32) |
29 | +SET(GUI_LIBRARIES gdi32) |
30 | +#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dcimg_OS=2") |
31 | +ELSE(WIN32) |
32 | +FIND_PACKAGE(X11 REQUIRED) |
33 | +SET(GUI_LIBRARIES ${X11_LIBRARIES}) |
34 | +ENDIF(WIN32) |
35 | + |
36 | + |
37 | +# Build included libjpeg library... |
38 | +#FIND_PACKAGE(JPEG REQUIRED) |
39 | +#INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIRS}) |
40 | +add_subdirectory(jpeg) |
41 | +INCLUDE_DIRECTORIES(${MYROCPPJPEG_SOURCE_DIR}) |
42 | |
43 | |
44 | #set(Boost_DEBUG TRUE) |
45 | |
46 | === removed file 'README-Cygwin.txt' |
47 | --- README-Cygwin.txt 2010-12-24 21:31:17 +0000 |
48 | +++ README-Cygwin.txt 1970-01-01 00:00:00 +0000 |
49 | @@ -1,19 +0,0 @@ |
50 | -Building On Cygwin |
51 | -================== |
52 | - |
53 | -As per main readme, building on cygwin requires the same dependencies: |
54 | - |
55 | - * Boost Threads (www.boost.org) |
56 | - * FLTK 1.1 (www.fltk.org) |
57 | - * libjpeg (www.ijg.org) |
58 | - |
59 | -Cygwin Known Issues |
60 | -=================== |
61 | - |
62 | - 1.) For the drawing elements to work, you must compile myro-cpp with the |
63 | - version of fltk that uses the X11 window system (i.e. not native |
64 | - windows drawing) |
65 | - 2.) VideoStream will not function (as in the myro_video_stream, |
66 | - myro_test_blob test executables) if the program is waiting on |
67 | - console I/O. However, if a sleep() is inserted, instead of |
68 | - cin >> foo; The VideoStream element will work fine. |
69 | |
70 | === modified file 'README.txt' |
71 | --- README.txt 2010-12-24 21:31:17 +0000 |
72 | +++ README.txt 2011-05-15 12:49:22 +0000 |
73 | @@ -32,8 +32,6 @@ |
74 | Myro-Cpp depends on the following software Libraries: |
75 | |
76 | * Boost Threads (www.boost.org) |
77 | - * FLTK 1.1 (www.fltk.org) |
78 | - * libjpeg (www.ijg.org) |
79 | |
80 | Questions |
81 | ========= |
82 | |
83 | === added directory 'headers/CImg' |
84 | === added file 'headers/CImg/CImg.h' |
85 | --- headers/CImg/CImg.h 1970-01-01 00:00:00 +0000 |
86 | +++ headers/CImg/CImg.h 2011-05-15 12:49:22 +0000 |
87 | @@ -0,0 +1,40837 @@ |
88 | +/* |
89 | + # |
90 | + # File : CImg.h |
91 | + # ( C++ header file ) |
92 | + # |
93 | + # Description : The C++ Template Image Processing Toolkit. |
94 | + # This file is the main component of the CImg Library project. |
95 | + # ( http://cimg.sourceforge.net ) |
96 | + # |
97 | + # Project manager : David Tschumperle. |
98 | + # ( http://www.greyc.ensicaen.fr/~dtschump/ ) |
99 | + # |
100 | + # The complete list of contributors is available in file 'README.txt' |
101 | + # distributed within the CImg package. |
102 | + # |
103 | + # Licenses : This file is 'dual-licensed', you have to choose one |
104 | + # of the two licenses below to apply. |
105 | + # |
106 | + # CeCILL-C |
107 | + # The CeCILL-C license is close to the GNU LGPL. |
108 | + # ( http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html ) |
109 | + # |
110 | + # or CeCILL v2.0 |
111 | + # The CeCILL license is compatible with the GNU GPL. |
112 | + # ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html ) |
113 | + # |
114 | + # This software is governed either by the CeCILL or the CeCILL-C license |
115 | + # under French law and abiding by the rules of distribution of free software. |
116 | + # You can use, modify and or redistribute the software under the terms of |
117 | + # the CeCILL or CeCILL-C licenses as circulated by CEA, CNRS and INRIA |
118 | + # at the following URL : "http://www.cecill.info". |
119 | + # |
120 | + # As a counterpart to the access to the source code and rights to copy, |
121 | + # modify and redistribute granted by the license, users are provided only |
122 | + # with a limited warranty and the software's author, the holder of the |
123 | + # economic rights, and the successive licensors have only limited |
124 | + # liability. |
125 | + # |
126 | + # In this respect, the user's attention is drawn to the risks associated |
127 | + # with loading, using, modifying and/or developing or reproducing the |
128 | + # software by the user in light of its specific status of free software, |
129 | + # that may mean that it is complicated to manipulate, and that also |
130 | + # therefore means that it is reserved for developers and experienced |
131 | + # professionals having in-depth computer knowledge. Users are therefore |
132 | + # encouraged to load and test the software's suitability as regards their |
133 | + # requirements in conditions enabling the security of their systems and/or |
134 | + # data to be ensured and, more generally, to use and operate it in the |
135 | + # same conditions as regards security. |
136 | + # |
137 | + # The fact that you are presently reading this means that you have had |
138 | + # knowledge of the CeCILL and CeCILL-C licenses and that you accept its terms. |
139 | + # |
140 | +*/ |
141 | + |
142 | +// Define version number of the library file. |
143 | +#ifndef cimg_version |
144 | +#define cimg_version 148 |
145 | + |
146 | +/*----------------------------------------------------------- |
147 | + # |
148 | + # Test and auto-set CImg configuration variables |
149 | + # and include required headers. |
150 | + # |
151 | + # If you find that default configuration variables are |
152 | + # not adapted to your case, you can override their values |
153 | + # before including the header file "CImg.h" |
154 | + # (use the #define directive). |
155 | + # |
156 | + ------------------------------------------------------------*/ |
157 | + |
158 | +// Include required standard C++ headers. |
159 | +#include <cstdio> |
160 | +#include <cstdlib> |
161 | +#include <cstdarg> |
162 | +#include <cstring> |
163 | +#include <cmath> |
164 | +#include <ctime> |
165 | +#include <exception> |
166 | + |
167 | +// Operating system configuration. |
168 | +// |
169 | +// Define 'cimg_OS' to : '0' for an unknown OS (will try to minize library dependancies). |
170 | +// '1' for a Unix-like OS (Linux, Solaris, BSD, MacOSX, Irix, ...). |
171 | +// '2' for Microsoft Windows. |
172 | +// (autodetection is done by default). |
173 | +#ifndef cimg_OS |
174 | +#if defined(unix) || defined(__unix) || defined(__unix__) \ |
175 | + || defined(linux) || defined(__linux) || defined(__linux__) \ |
176 | + || defined(sun) || defined(__sun) \ |
177 | + || defined(BSD) || defined(__OpenBSD__) || defined(__NetBSD__) \ |
178 | + || defined(__FreeBSD__) || defined __DragonFly__ \ |
179 | + || defined(sgi) || defined(__sgi) \ |
180 | + || defined(__MACOSX__) || defined(__APPLE__) \ |
181 | + || defined(__CYGWIN__) |
182 | +#define cimg_OS 1 |
183 | +#elif defined(_MSC_VER) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) \ |
184 | + || defined(WIN64) || defined(_WIN64) || defined(__WIN64__) |
185 | +#define cimg_OS 2 |
186 | +#else |
187 | +#define cimg_OS 0 |
188 | +#endif |
189 | +#elif !(cimg_OS==0 || cimg_OS==1 || cimg_OS==2) |
190 | +#error CImg Library : Configuration variable 'cimg_OS' is badly defined. |
191 | +#error (valid values are '0 = unknown OS', '1 = Unix-like OS', '2 = Microsoft Windows'). |
192 | +#endif |
193 | + |
194 | +// Disable silly warnings on Microsoft VC++ compilers. |
195 | +#ifdef _MSC_VER |
196 | +#pragma warning(push) |
197 | +#pragma warning(disable:4311) |
198 | +#pragma warning(disable:4312) |
199 | +#pragma warning(disable:4800) |
200 | +#pragma warning(disable:4804) |
201 | +#pragma warning(disable:4996) |
202 | +#define _CRT_SECURE_NO_DEPRECATE 1 |
203 | +#define _CRT_NONSTDC_NO_DEPRECATE 1 |
204 | +#endif |
205 | + |
206 | +// Include OS-specific headers for system management. |
207 | +#if cimg_OS==1 |
208 | +#include <sys/types.h> |
209 | +#include <sys/time.h> |
210 | +#include <unistd.h> |
211 | +#elif cimg_OS==2 |
212 | +#include <windows.h> |
213 | +#ifndef _WIN32_IE |
214 | +#define _WIN32_IE 0x0400 |
215 | +#endif |
216 | +#include <shlobj.h> |
217 | +#include <io.h> |
218 | +#define cimg_snprintf _snprintf |
219 | +#define cimg_vsnprintf _vsnprintf |
220 | +#endif |
221 | +#ifndef cimg_snprintf |
222 | +#include <stdio.h> |
223 | +#define cimg_snprintf snprintf |
224 | +#define cimg_vsnprintf vsnprintf |
225 | +#endif |
226 | + |
227 | +// Filename separator configuration. |
228 | +// |
229 | +// Default separator is '/' for Unix-based OS, and '\' or Windows. |
230 | +#ifndef cimg_file_separator |
231 | +#if cimg_OS==2 |
232 | +#define cimg_file_separator '\\' |
233 | +#else |
234 | +#define cimg_file_separator '/' |
235 | +#endif |
236 | +#endif |
237 | + |
238 | +// Output messages verbosity configuration. |
239 | +// |
240 | +// Define 'cimg_verbosity' to : '0' to hide library messages (quiet mode). |
241 | +// '1' to print library messages on the console. |
242 | +// '2' to display library messages on a dialog window (default behavior). |
243 | +// '3' to do as '1' + add extra warnings (may slow down the code !). |
244 | +// '4' to do as '2' + add extra warnings (may slow down the code !). |
245 | +// |
246 | +// Define 'cimg_strict_warnings' to replace warning messages by exception throwns. |
247 | +// |
248 | +// Define 'cimg_use_vt100' to allow output of color messages (require VT100-compatible terminal). |
249 | +#ifndef cimg_verbosity |
250 | +#define cimg_verbosity 2 |
251 | +#elif !(cimg_verbosity==0 || cimg_verbosity==1 || cimg_verbosity==2 || cimg_verbosity==3 || cimg_verbosity==4) |
252 | +#error CImg Library : Configuration variable 'cimg_verbosity' is badly defined. |
253 | +#error (should be { 0=quiet | 1=console | 2=dialog | 3=console+warnings | 4=dialog+warnings }). |
254 | +#endif |
255 | + |
256 | +// Display framework configuration. |
257 | +// |
258 | +// Define 'cimg_display' to : '0' to disable display capabilities. |
259 | +// '1' to use X-Window framework (X11). |
260 | +// '2' to use Microsoft GDI32 framework. |
261 | +#ifndef cimg_display |
262 | +#if cimg_OS==0 |
263 | +#define cimg_display 0 |
264 | +#elif cimg_OS==1 |
265 | +#if defined(__MACOSX__) || defined(__APPLE__) |
266 | +#define cimg_display 1 |
267 | +#else |
268 | +#define cimg_display 1 |
269 | +#endif |
270 | +#elif cimg_OS==2 |
271 | +#define cimg_display 2 |
272 | +#endif |
273 | +#elif !(cimg_display==0 || cimg_display==1 || cimg_display==2) |
274 | +#error CImg Library : Configuration variable 'cimg_display' is badly defined. |
275 | +#error (should be { 0=none | 1=X-Window (X11) | 2=Microsoft GDI32 }). |
276 | +#endif |
277 | + |
278 | +// Include display-specific headers. |
279 | +#if cimg_display==1 |
280 | +#include <X11/Xlib.h> |
281 | +#include <X11/Xutil.h> |
282 | +#include <X11/keysym.h> |
283 | +#include <pthread.h> |
284 | +#ifdef cimg_use_xshm |
285 | +#include <sys/ipc.h> |
286 | +#include <sys/shm.h> |
287 | +#include <X11/extensions/XShm.h> |
288 | +#endif |
289 | +#ifdef cimg_use_xrandr |
290 | +#include <X11/extensions/Xrandr.h> |
291 | +#endif |
292 | +#ifndef cimg_display_classname |
293 | +#define cimg_display_classname "CImg" |
294 | +#endif |
295 | +#endif |
296 | + |
297 | +// OpenMP configuration. |
298 | +// (http://www.openmp.org) |
299 | +// |
300 | +// Define 'cimg_use_openmp' to enable OpenMP support. |
301 | +// |
302 | +// OpenMP directives can be used in few CImg functions to get |
303 | +// advantages of multi-core CPUs. Using OpenMP is not mandatory. |
304 | +#ifdef cimg_use_openmp |
305 | +#include "omp.h" |
306 | +#define _cimg_static |
307 | +#else |
308 | +#define _cimg_static static |
309 | +#endif |
310 | + |
311 | +// OpenCV configuration |
312 | +// (http://opencv.willowgarage.com/wiki/) |
313 | +// |
314 | +// Define 'cimg_use_opencv' to enable OpenCV support. |
315 | +// |
316 | +// OpenCV can be used to retrieve images from cameras |
317 | +// (with function 'CImg<T>::load_camera()'. |
318 | +// Using OpenCV is not mandatory. |
319 | +#ifdef cimg_use_opencv |
320 | +#include "cv.h" |
321 | +#include "highgui.h" |
322 | +#endif |
323 | + |
324 | +// LibPNG configuration. |
325 | +// (http://www.libpng.org) |
326 | +// |
327 | +// Define 'cimg_use_png' to enable LibPNG support. |
328 | +// |
329 | +// LibPNG can be used in functions 'CImg<T>::{load,save}_png()' |
330 | +// to get a builtin support of PNG files. Using LibPNG is not mandatory. |
331 | +#ifdef cimg_use_png |
332 | +extern "C" { |
333 | +#include "png.h" |
334 | +} |
335 | +#endif |
336 | + |
337 | +// LibJPEG configuration. |
338 | +// (http://en.wikipedia.org/wiki/Libjpeg) |
339 | +// |
340 | +// Define 'cimg_use_jpeg' to enable LibJPEG support. |
341 | +// |
342 | +// LibJPEG can be used in functions 'CImg<T>::{load,save}_jpeg()' |
343 | +// to get a builtin support of JPEG files. Using LibJPEG is not mandatory. |
344 | +#ifdef cimg_use_jpeg |
345 | +extern "C" { |
346 | +#include "myrojpeg/myrojpeglib.h" |
347 | +#include "setjmp.h" |
348 | +} |
349 | +#endif |
350 | + |
351 | +// LibTIFF configuration. |
352 | +// (http://www.libtiff.org) |
353 | +// |
354 | +// Define 'cimg_use_tiff' to enable LibTIFF support. |
355 | +// |
356 | +// LibTIFF can be used in functions 'CImg[List]<T>::{load,save}_tiff()' |
357 | +// to get a builtin support of TIFF files. Using LibTIFF is not mandatory. |
358 | +#ifdef cimg_use_tiff |
359 | +extern "C" { |
360 | +#include "tiffio.h" |
361 | +} |
362 | +#endif |
363 | + |
364 | +// LibMINC2 configuration. |
365 | +// (http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_File_Format_Reference) |
366 | +// |
367 | +// Define 'cimg_use_minc2' to enable LibMINC2 support. |
368 | +// |
369 | +// LibMINC2 can be used in functions 'CImg<T>::{load,save}_minc2()' |
370 | +// to get a builtin support of MINC2 files. Using LibMINC2 is not mandatory. |
371 | +#ifdef cimg_use_minc2 |
372 | +extern "C" { |
373 | +#include "minc2.h" |
374 | +} |
375 | +#endif |
376 | + |
377 | +// FFMPEG Avcodec and Avformat libraries configuration. |
378 | +// (http://www.ffmpeg.org) |
379 | +// |
380 | +// Define 'cimg_use_ffmpeg' to enable FFMPEG lib support. |
381 | +// |
382 | +// Avcodec and Avformat libraries can be used in functions |
383 | +// 'CImg[List]<T>::load_ffmpeg()' to get a builtin |
384 | +// support of various image sequences files. |
385 | +// Using FFMPEG libraries is not mandatory. |
386 | +#ifdef cimg_use_ffmpeg |
387 | +#if (defined(_STDINT_H) || defined(_STDINT_H_)) && !defined(UINT64_C) |
388 | +#warning "__STDC_CONSTANT_MACROS has to be defined before including <stdint.h>, this file will probably not compile." |
389 | +#endif |
390 | +#ifndef __STDC_CONSTANT_MACROS |
391 | +#define __STDC_CONSTANT_MACROS // ...or stdint.h doesn't define UINT64_C, needed for libavutil |
392 | +#endif |
393 | +extern "C" { |
394 | +#include "avformat.h" |
395 | +#include "avcodec.h" |
396 | +#include "swscale.h" |
397 | +} |
398 | +#endif |
399 | + |
400 | +// Zlib configuration |
401 | +// (http://www.zlib.net) |
402 | +// |
403 | +// Define 'cimg_use_zlib' to enable Zlib support. |
404 | +// |
405 | +// Zlib can be used in functions 'CImg[List]<T>::{load,save}_cimg()' |
406 | +// to allow compressed data in '.cimg' files. Using Zlib is not mandatory. |
407 | +#ifdef cimg_use_zlib |
408 | +extern "C" { |
409 | +#include "zlib.h" |
410 | +} |
411 | +#endif |
412 | + |
413 | +// Magick++ configuration. |
414 | +// (http://www.imagemagick.org/Magick++) |
415 | +// |
416 | +// Define 'cimg_use_magick' to enable Magick++ support. |
417 | +// |
418 | +// Magick++ library can be used in functions 'CImg<T>::{load,save}()' |
419 | +// to get a builtin support of various image formats (PNG,JPEG,TIFF,...). |
420 | +// Using Magick++ is not mandatory. |
421 | +#ifdef cimg_use_magick |
422 | +#include "Magick++.h" |
423 | +#endif |
424 | + |
425 | +// FFTW3 configuration. |
426 | +// (http://www.fftw.org) |
427 | +// |
428 | +// Define 'cimg_use_fftw3' to enable libFFTW3 support. |
429 | +// |
430 | +// FFTW3 library can be used in functions 'CImg[List]<T>::FFT()' to |
431 | +// efficiently compute the Fast Fourier Transform of image data. |
432 | +#ifdef cimg_use_fftw3 |
433 | +extern "C" { |
434 | +#include "fftw3.h" |
435 | +} |
436 | +#endif |
437 | + |
438 | +// Board configuration |
439 | +// (http://libboard.sourceforge.net/) |
440 | +// |
441 | +// Define 'cimg_use_board' to enable Board support. |
442 | +// |
443 | +// Board library can be used in functions 'CImg<T>::draw_object3d()' |
444 | +// to draw objects 3d in vector-graphics canvas that can be saved |
445 | +// as .PS or .SVG files afterwards. |
446 | +#ifdef cimg_use_board |
447 | +#ifdef None |
448 | +#undef None |
449 | +#define _cimg_redefine_None |
450 | +#endif |
451 | +#include "Board.h" |
452 | +#endif |
453 | + |
454 | +// OpenEXR configuration |
455 | +// (http://www.openexr.com/) |
456 | +// |
457 | +// Define 'cimg_use_openexr' to enable OpenEXR support. |
458 | +// |
459 | +// OpenEXR can be used to read/write .exr file formats. |
460 | +#ifdef cimg_use_openexr |
461 | +#include "ImfRgbaFile.h" |
462 | +#include "ImfInputFile.h" |
463 | +#include "ImfChannelList.h" |
464 | +#include "ImfMatrixAttribute.h" |
465 | +#include "ImfArray.h" |
466 | +#endif |
467 | + |
468 | +// Lapack configuration. |
469 | +// (http://www.netlib.org/lapack) |
470 | +// |
471 | +// Define 'cimg_use_lapack' to enable LAPACK support. |
472 | +// |
473 | +// Lapack can be used in various CImg functions dealing with |
474 | +// matrix computation and algorithms (eigenvalues, inverse, ...). |
475 | +// Using Lapack is not mandatory. |
476 | +#ifdef cimg_use_lapack |
477 | +extern "C" { |
478 | + extern void sgetrf_(int*, int*, float*, int*, int*, int*); |
479 | + extern void sgetri_(int*, float*, int*, int*, float*, int*, int*); |
480 | + extern void sgetrs_(char*, int*, int*, float*, int*, int*, float*, int*, int*); |
481 | + extern void sgesvd_(char*, char*, int*, int*, float*, int*, float*, float*, int*, float*, int*, float*, int*, int*); |
482 | + extern void ssyev_(char*, char*, int*, float*, int*, float*, float*, int*, int*); |
483 | + extern void dgetrf_(int*, int*, double*, int*, int*, int*); |
484 | + extern void dgetri_(int*, double*, int*, int*, double*, int*, int*); |
485 | + extern void dgetrs_(char*, int*, int*, double*, int*, int*, double*, int*, int*); |
486 | + extern void dgesvd_(char*, char*, int*, int*, double*, int*, double*, double*, int*, double*, int*, double*, int*, int*); |
487 | + extern void dsyev_(char*, char*, int*, double*, int*, double*, double*, int*, int*); |
488 | +} |
489 | +#endif |
490 | + |
491 | +// Check if min/max/PI macros are defined. |
492 | +// |
493 | +// CImg does not compile if macros 'min', 'max' or 'PI' are defined, |
494 | +// because min(), max() and PI labels are defined and used in the cimg:: namespace. |
495 | +// so it '#undef' these macros if necessary, and restore them to reasonable |
496 | +// values at the end of the file. |
497 | +#ifdef min |
498 | +#undef min |
499 | +#define _cimg_redefine_min |
500 | +#endif |
501 | +#ifdef max |
502 | +#undef max |
503 | +#define _cimg_redefine_max |
504 | +#endif |
505 | +#ifdef PI |
506 | +#undef PI |
507 | +#define _cimg_redefine_PI |
508 | +#endif |
509 | + |
510 | +/*------------------------------------------------------------------------------ |
511 | + # |
512 | + # Define user-friendly macros. |
513 | + # |
514 | + # User macros are prefixed by 'cimg_' and can be used in your own code. |
515 | + # They are particularly useful for option parsing, and image loops creation. |
516 | + # |
517 | + ------------------------------------------------------------------------------*/ |
518 | + |
519 | +// Define the program usage, and retrieve command line arguments. |
520 | +#define cimg_usage(usage) cimg_library::cimg::option((char*)0,argc,argv,(char*)0,usage,false) |
521 | +#define cimg_help(str) cimg_library::cimg::option((char*)0,argc,argv,str,(char*)0) |
522 | +#define cimg_option(name,defaut,usage) cimg_library::cimg::option(name,argc,argv,defaut,usage) |
523 | +#define cimg_argument(pos) cimg_library::cimg::argument(pos,argc,argv) |
524 | +#define cimg_argument1(pos,s0) cimg_library::cimg::argument(pos,argc,argv,1,s0) |
525 | +#define cimg_argument2(pos,s0,s1) cimg_library::cimg::argument(pos,argc,argv,2,s0,s1) |
526 | +#define cimg_argument3(pos,s0,s1,s2) cimg_library::cimg::argument(pos,argc,argv,3,s0,s1,s2) |
527 | +#define cimg_argument4(pos,s0,s1,s2,s3) cimg_library::cimg::argument(pos,argc,argv,4,s0,s1,s2,s3) |
528 | +#define cimg_argument5(pos,s0,s1,s2,s3,s4) cimg_library::cimg::argument(pos,argc,argv,5,s0,s1,s2,s3,s4) |
529 | +#define cimg_argument6(pos,s0,s1,s2,s3,s4,s5) cimg_library::cimg::argument(pos,argc,argv,6,s0,s1,s2,s3,s4,s5) |
530 | +#define cimg_argument7(pos,s0,s1,s2,s3,s4,s5,s6) cimg_library::cimg::argument(pos,argc,argv,7,s0,s1,s2,s3,s4,s5,s6) |
531 | +#define cimg_argument8(pos,s0,s1,s2,s3,s4,s5,s6,s7) cimg_library::cimg::argument(pos,argc,argv,8,s0,s1,s2,s3,s4,s5,s6,s7) |
532 | +#define cimg_argument9(pos,s0,s1,s2,s3,s4,s5,s6,s7,s8) cimg_library::cimg::argument(pos,argc,argv,9,s0,s1,s2,s3,s4,s5,s6,s7,s8) |
533 | + |
534 | +// Define and manipulate local neighborhoods. |
535 | +#define CImg_2x2(I,T) T I[4]; \ |
536 | + T& I##cc = I[0]; T& I##nc = I[1]; \ |
537 | + T& I##cn = I[2]; T& I##nn = I[3]; \ |
538 | + I##cc = I##nc = \ |
539 | + I##cn = I##nn = 0 |
540 | + |
541 | +#define CImg_3x3(I,T) T I[9]; \ |
542 | + T& I##pp = I[0]; T& I##cp = I[1]; T& I##np = I[2]; \ |
543 | + T& I##pc = I[3]; T& I##cc = I[4]; T& I##nc = I[5]; \ |
544 | + T& I##pn = I[6]; T& I##cn = I[7]; T& I##nn = I[8]; \ |
545 | + I##pp = I##cp = I##np = \ |
546 | + I##pc = I##cc = I##nc = \ |
547 | + I##pn = I##cn = I##nn = 0 |
548 | + |
549 | +#define CImg_4x4(I,T) T I[16]; \ |
550 | + T& I##pp = I[0]; T& I##cp = I[1]; T& I##np = I[2]; T& I##ap = I[3]; \ |
551 | + T& I##pc = I[4]; T& I##cc = I[5]; T& I##nc = I[6]; T& I##ac = I[7]; \ |
552 | + T& I##pn = I[8]; T& I##cn = I[9]; T& I##nn = I[10]; T& I##an = I[11]; \ |
553 | + T& I##pa = I[12]; T& I##ca = I[13]; T& I##na = I[14]; T& I##aa = I[15]; \ |
554 | + I##pp = I##cp = I##np = I##ap = \ |
555 | + I##pc = I##cc = I##nc = I##ac = \ |
556 | + I##pn = I##cn = I##nn = I##an = \ |
557 | + I##pa = I##ca = I##na = I##aa = 0 |
558 | + |
559 | +#define CImg_5x5(I,T) T I[25]; \ |
560 | + T& I##bb = I[0]; T& I##pb = I[1]; T& I##cb = I[2]; T& I##nb = I[3]; T& I##ab = I[4]; \ |
561 | + T& I##bp = I[5]; T& I##pp = I[6]; T& I##cp = I[7]; T& I##np = I[8]; T& I##ap = I[9]; \ |
562 | + T& I##bc = I[10]; T& I##pc = I[11]; T& I##cc = I[12]; T& I##nc = I[13]; T& I##ac = I[14]; \ |
563 | + T& I##bn = I[15]; T& I##pn = I[16]; T& I##cn = I[17]; T& I##nn = I[18]; T& I##an = I[19]; \ |
564 | + T& I##ba = I[20]; T& I##pa = I[21]; T& I##ca = I[22]; T& I##na = I[23]; T& I##aa = I[24]; \ |
565 | + I##bb = I##pb = I##cb = I##nb = I##ab = \ |
566 | + I##bp = I##pp = I##cp = I##np = I##ap = \ |
567 | + I##bc = I##pc = I##cc = I##nc = I##ac = \ |
568 | + I##bn = I##pn = I##cn = I##nn = I##an = \ |
569 | + I##ba = I##pa = I##ca = I##na = I##aa = 0 |
570 | + |
571 | +#define CImg_2x2x2(I,T) T I[8]; \ |
572 | + T& I##ccc = I[0]; T& I##ncc = I[1]; \ |
573 | + T& I##cnc = I[2]; T& I##nnc = I[3]; \ |
574 | + T& I##ccn = I[4]; T& I##ncn = I[5]; \ |
575 | + T& I##cnn = I[6]; T& I##nnn = I[7]; \ |
576 | + I##ccc = I##ncc = \ |
577 | + I##cnc = I##nnc = \ |
578 | + I##ccn = I##ncn = \ |
579 | + I##cnn = I##nnn = 0 |
580 | + |
581 | +#define CImg_3x3x3(I,T) T I[27]; \ |
582 | + T& I##ppp = I[0]; T& I##cpp = I[1]; T& I##npp = I[2]; \ |
583 | + T& I##pcp = I[3]; T& I##ccp = I[4]; T& I##ncp = I[5]; \ |
584 | + T& I##pnp = I[6]; T& I##cnp = I[7]; T& I##nnp = I[8]; \ |
585 | + T& I##ppc = I[9]; T& I##cpc = I[10]; T& I##npc = I[11]; \ |
586 | + T& I##pcc = I[12]; T& I##ccc = I[13]; T& I##ncc = I[14]; \ |
587 | + T& I##pnc = I[15]; T& I##cnc = I[16]; T& I##nnc = I[17]; \ |
588 | + T& I##ppn = I[18]; T& I##cpn = I[19]; T& I##npn = I[20]; \ |
589 | + T& I##pcn = I[21]; T& I##ccn = I[22]; T& I##ncn = I[23]; \ |
590 | + T& I##pnn = I[24]; T& I##cnn = I[25]; T& I##nnn = I[26]; \ |
591 | + I##ppp = I##cpp = I##npp = \ |
592 | + I##pcp = I##ccp = I##ncp = \ |
593 | + I##pnp = I##cnp = I##nnp = \ |
594 | + I##ppc = I##cpc = I##npc = \ |
595 | + I##pcc = I##ccc = I##ncc = \ |
596 | + I##pnc = I##cnc = I##nnc = \ |
597 | + I##ppn = I##cpn = I##npn = \ |
598 | + I##pcn = I##ccn = I##ncn = \ |
599 | + I##pnn = I##cnn = I##nnn = 0 |
600 | + |
601 | +#define cimg_get2x2(img,x,y,z,c,I,T) \ |
602 | + I[0] = (T)(img)(x,y,z,c), I[1] = (T)(img)(_n1##x,y,z,c), I[2] = (T)(img)(x,_n1##y,z,c), I[3] = (T)(img)(_n1##x,_n1##y,z,c) |
603 | + |
604 | +#define cimg_get3x3(img,x,y,z,c,I,T) \ |
605 | + I[0] = (T)(img)(_p1##x,_p1##y,z,c), I[1] = (T)(img)(x,_p1##y,z,c), I[2] = (T)(img)(_n1##x,_p1##y,z,c), I[3] = (T)(img)(_p1##x,y,z,c), \ |
606 | + I[4] = (T)(img)(x,y,z,c), I[5] = (T)(img)(_n1##x,y,z,c), I[6] = (T)(img)(_p1##x,_n1##y,z,c), I[7] = (T)(img)(x,_n1##y,z,c), \ |
607 | + I[8] = (T)(img)(_n1##x,_n1##y,z,c) |
608 | + |
609 | +#define cimg_get4x4(img,x,y,z,c,I,T) \ |
610 | + I[0] = (T)(img)(_p1##x,_p1##y,z,c), I[1] = (T)(img)(x,_p1##y,z,c), I[2] = (T)(img)(_n1##x,_p1##y,z,c), I[3] = (T)(img)(_n2##x,_p1##y,z,c), \ |
611 | + I[4] = (T)(img)(_p1##x,y,z,c), I[5] = (T)(img)(x,y,z,c), I[6] = (T)(img)(_n1##x,y,z,c), I[7] = (T)(img)(_n2##x,y,z,c), \ |
612 | + I[8] = (T)(img)(_p1##x,_n1##y,z,c), I[9] = (T)(img)(x,_n1##y,z,c), I[10] = (T)(img)(_n1##x,_n1##y,z,c), I[11] = (T)(img)(_n2##x,_n1##y,z,c), \ |
613 | + I[12] = (T)(img)(_p1##x,_n2##y,z,c), I[13] = (T)(img)(x,_n2##y,z,c), I[14] = (T)(img)(_n1##x,_n2##y,z,c), I[15] = (T)(img)(_n2##x,_n2##y,z,c) |
614 | + |
615 | +#define cimg_get5x5(img,x,y,z,c,I,T) \ |
616 | + I[0] = (T)(img)(_p2##x,_p2##y,z,c), I[1] = (T)(img)(_p1##x,_p2##y,z,c), I[2] = (T)(img)(x,_p2##y,z,c), I[3] = (T)(img)(_n1##x,_p2##y,z,c), \ |
617 | + I[4] = (T)(img)(_n2##x,_p2##y,z,c), I[5] = (T)(img)(_p2##x,_p1##y,z,c), I[6] = (T)(img)(_p1##x,_p1##y,z,c), I[7] = (T)(img)(x,_p1##y,z,c), \ |
618 | + I[8] = (T)(img)(_n1##x,_p1##y,z,c), I[9] = (T)(img)(_n2##x,_p1##y,z,c), I[10] = (T)(img)(_p2##x,y,z,c), I[11] = (T)(img)(_p1##x,y,z,c), \ |
619 | + I[12] = (T)(img)(x,y,z,c), I[13] = (T)(img)(_n1##x,y,z,c), I[14] = (T)(img)(_n2##x,y,z,c), I[15] = (T)(img)(_p2##x,_n1##y,z,c), \ |
620 | + I[16] = (T)(img)(_p1##x,_n1##y,z,c), I[17] = (T)(img)(x,_n1##y,z,c), I[18] = (T)(img)(_n1##x,_n1##y,z,c), I[19] = (T)(img)(_n2##x,_n1##y,z,c), \ |
621 | + I[20] = (T)(img)(_p2##x,_n2##y,z,c), I[21] = (T)(img)(_p1##x,_n2##y,z,c), I[22] = (T)(img)(x,_n2##y,z,c), I[23] = (T)(img)(_n1##x,_n2##y,z,c), \ |
622 | + I[24] = (T)(img)(_n2##x,_n2##y,z,c) |
623 | + |
624 | +#define cimg_get6x6(img,x,y,z,c,I,T) \ |
625 | + I[0] = (T)(img)(_p2##x,_p2##y,z,c), I[1] = (T)(img)(_p1##x,_p2##y,z,c), I[2] = (T)(img)(x,_p2##y,z,c), I[3] = (T)(img)(_n1##x,_p2##y,z,c), \ |
626 | + I[4] = (T)(img)(_n2##x,_p2##y,z,c), I[5] = (T)(img)(_n3##x,_p2##y,z,c), I[6] = (T)(img)(_p2##x,_p1##y,z,c), I[7] = (T)(img)(_p1##x,_p1##y,z,c), \ |
627 | + I[8] = (T)(img)(x,_p1##y,z,c), I[9] = (T)(img)(_n1##x,_p1##y,z,c), I[10] = (T)(img)(_n2##x,_p1##y,z,c), I[11] = (T)(img)(_n3##x,_p1##y,z,c), \ |
628 | + I[12] = (T)(img)(_p2##x,y,z,c), I[13] = (T)(img)(_p1##x,y,z,c), I[14] = (T)(img)(x,y,z,c), I[15] = (T)(img)(_n1##x,y,z,c), \ |
629 | + I[16] = (T)(img)(_n2##x,y,z,c), I[17] = (T)(img)(_n3##x,y,z,c), I[18] = (T)(img)(_p2##x,_n1##y,z,c), I[19] = (T)(img)(_p1##x,_n1##y,z,c), \ |
630 | + I[20] = (T)(img)(x,_n1##y,z,c), I[21] = (T)(img)(_n1##x,_n1##y,z,c), I[22] = (T)(img)(_n2##x,_n1##y,z,c), I[23] = (T)(img)(_n3##x,_n1##y,z,c), \ |
631 | + I[24] = (T)(img)(_p2##x,_n2##y,z,c), I[25] = (T)(img)(_p1##x,_n2##y,z,c), I[26] = (T)(img)(x,_n2##y,z,c), I[27] = (T)(img)(_n1##x,_n2##y,z,c), \ |
632 | + I[28] = (T)(img)(_n2##x,_n2##y,z,c), I[29] = (T)(img)(_n3##x,_n2##y,z,c), I[30] = (T)(img)(_p2##x,_n3##y,z,c), I[31] = (T)(img)(_p1##x,_n3##y,z,c), \ |
633 | + I[32] = (T)(img)(x,_n3##y,z,c), I[33] = (T)(img)(_n1##x,_n3##y,z,c), I[34] = (T)(img)(_n2##x,_n3##y,z,c), I[35] = (T)(img)(_n3##x,_n3##y,z,c) |
634 | + |
635 | +#define cimg_get7x7(img,x,y,z,c,I,T) \ |
636 | + I[0] = (T)(img)(_p3##x,_p3##y,z,c), I[1] = (T)(img)(_p2##x,_p3##y,z,c), I[2] = (T)(img)(_p1##x,_p3##y,z,c), I[3] = (T)(img)(x,_p3##y,z,c), \ |
637 | + I[4] = (T)(img)(_n1##x,_p3##y,z,c), I[5] = (T)(img)(_n2##x,_p3##y,z,c), I[6] = (T)(img)(_n3##x,_p3##y,z,c), I[7] = (T)(img)(_p3##x,_p2##y,z,c), \ |
638 | + I[8] = (T)(img)(_p2##x,_p2##y,z,c), I[9] = (T)(img)(_p1##x,_p2##y,z,c), I[10] = (T)(img)(x,_p2##y,z,c), I[11] = (T)(img)(_n1##x,_p2##y,z,c), \ |
639 | + I[12] = (T)(img)(_n2##x,_p2##y,z,c), I[13] = (T)(img)(_n3##x,_p2##y,z,c), I[14] = (T)(img)(_p3##x,_p1##y,z,c), I[15] = (T)(img)(_p2##x,_p1##y,z,c), \ |
640 | + I[16] = (T)(img)(_p1##x,_p1##y,z,c), I[17] = (T)(img)(x,_p1##y,z,c), I[18] = (T)(img)(_n1##x,_p1##y,z,c), I[19] = (T)(img)(_n2##x,_p1##y,z,c), \ |
641 | + I[20] = (T)(img)(_n3##x,_p1##y,z,c), I[21] = (T)(img)(_p3##x,y,z,c), I[22] = (T)(img)(_p2##x,y,z,c), I[23] = (T)(img)(_p1##x,y,z,c), \ |
642 | + I[24] = (T)(img)(x,y,z,c), I[25] = (T)(img)(_n1##x,y,z,c), I[26] = (T)(img)(_n2##x,y,z,c), I[27] = (T)(img)(_n3##x,y,z,c), \ |
643 | + I[28] = (T)(img)(_p3##x,_n1##y,z,c), I[29] = (T)(img)(_p2##x,_n1##y,z,c), I[30] = (T)(img)(_p1##x,_n1##y,z,c), I[31] = (T)(img)(x,_n1##y,z,c), \ |
644 | + I[32] = (T)(img)(_n1##x,_n1##y,z,c), I[33] = (T)(img)(_n2##x,_n1##y,z,c), I[34] = (T)(img)(_n3##x,_n1##y,z,c), I[35] = (T)(img)(_p3##x,_n2##y,z,c), \ |
645 | + I[36] = (T)(img)(_p2##x,_n2##y,z,c), I[37] = (T)(img)(_p1##x,_n2##y,z,c), I[38] = (T)(img)(x,_n2##y,z,c), I[39] = (T)(img)(_n1##x,_n2##y,z,c), \ |
646 | + I[40] = (T)(img)(_n2##x,_n2##y,z,c), I[41] = (T)(img)(_n3##x,_n2##y,z,c), I[42] = (T)(img)(_p3##x,_n3##y,z,c), I[43] = (T)(img)(_p2##x,_n3##y,z,c), \ |
647 | + I[44] = (T)(img)(_p1##x,_n3##y,z,c), I[45] = (T)(img)(x,_n3##y,z,c), I[46] = (T)(img)(_n1##x,_n3##y,z,c), I[47] = (T)(img)(_n2##x,_n3##y,z,c), \ |
648 | + I[48] = (T)(img)(_n3##x,_n3##y,z,c) |
649 | + |
650 | +#define cimg_get8x8(img,x,y,z,c,I,T) \ |
651 | + I[0] = (T)(img)(_p3##x,_p3##y,z,c), I[1] = (T)(img)(_p2##x,_p3##y,z,c), I[2] = (T)(img)(_p1##x,_p3##y,z,c), I[3] = (T)(img)(x,_p3##y,z,c), \ |
652 | + I[4] = (T)(img)(_n1##x,_p3##y,z,c), I[5] = (T)(img)(_n2##x,_p3##y,z,c), I[6] = (T)(img)(_n3##x,_p3##y,z,c), I[7] = (T)(img)(_n4##x,_p3##y,z,c), \ |
653 | + I[8] = (T)(img)(_p3##x,_p2##y,z,c), I[9] = (T)(img)(_p2##x,_p2##y,z,c), I[10] = (T)(img)(_p1##x,_p2##y,z,c), I[11] = (T)(img)(x,_p2##y,z,c), \ |
654 | + I[12] = (T)(img)(_n1##x,_p2##y,z,c), I[13] = (T)(img)(_n2##x,_p2##y,z,c), I[14] = (T)(img)(_n3##x,_p2##y,z,c), I[15] = (T)(img)(_n4##x,_p2##y,z,c), \ |
655 | + I[16] = (T)(img)(_p3##x,_p1##y,z,c), I[17] = (T)(img)(_p2##x,_p1##y,z,c), I[18] = (T)(img)(_p1##x,_p1##y,z,c), I[19] = (T)(img)(x,_p1##y,z,c), \ |
656 | + I[20] = (T)(img)(_n1##x,_p1##y,z,c), I[21] = (T)(img)(_n2##x,_p1##y,z,c), I[22] = (T)(img)(_n3##x,_p1##y,z,c), I[23] = (T)(img)(_n4##x,_p1##y,z,c), \ |
657 | + I[24] = (T)(img)(_p3##x,y,z,c), I[25] = (T)(img)(_p2##x,y,z,c), I[26] = (T)(img)(_p1##x,y,z,c), I[27] = (T)(img)(x,y,z,c), \ |
658 | + I[28] = (T)(img)(_n1##x,y,z,c), I[29] = (T)(img)(_n2##x,y,z,c), I[30] = (T)(img)(_n3##x,y,z,c), I[31] = (T)(img)(_n4##x,y,z,c), \ |
659 | + I[32] = (T)(img)(_p3##x,_n1##y,z,c), I[33] = (T)(img)(_p2##x,_n1##y,z,c), I[34] = (T)(img)(_p1##x,_n1##y,z,c), I[35] = (T)(img)(x,_n1##y,z,c), \ |
660 | + I[36] = (T)(img)(_n1##x,_n1##y,z,c), I[37] = (T)(img)(_n2##x,_n1##y,z,c), I[38] = (T)(img)(_n3##x,_n1##y,z,c), I[39] = (T)(img)(_n4##x,_n1##y,z,c), \ |
661 | + I[40] = (T)(img)(_p3##x,_n2##y,z,c), I[41] = (T)(img)(_p2##x,_n2##y,z,c), I[42] = (T)(img)(_p1##x,_n2##y,z,c), I[43] = (T)(img)(x,_n2##y,z,c), \ |
662 | + I[44] = (T)(img)(_n1##x,_n2##y,z,c), I[45] = (T)(img)(_n2##x,_n2##y,z,c), I[46] = (T)(img)(_n3##x,_n2##y,z,c), I[47] = (T)(img)(_n4##x,_n2##y,z,c), \ |
663 | + I[48] = (T)(img)(_p3##x,_n3##y,z,c), I[49] = (T)(img)(_p2##x,_n3##y,z,c), I[50] = (T)(img)(_p1##x,_n3##y,z,c), I[51] = (T)(img)(x,_n3##y,z,c), \ |
664 | + I[52] = (T)(img)(_n1##x,_n3##y,z,c), I[53] = (T)(img)(_n2##x,_n3##y,z,c), I[54] = (T)(img)(_n3##x,_n3##y,z,c), I[55] = (T)(img)(_n4##x,_n3##y,z,c), \ |
665 | + I[56] = (T)(img)(_p3##x,_n4##y,z,c), I[57] = (T)(img)(_p2##x,_n4##y,z,c), I[58] = (T)(img)(_p1##x,_n4##y,z,c), I[59] = (T)(img)(x,_n4##y,z,c), \ |
666 | + I[60] = (T)(img)(_n1##x,_n4##y,z,c), I[61] = (T)(img)(_n2##x,_n4##y,z,c), I[62] = (T)(img)(_n3##x,_n4##y,z,c), I[63] = (T)(img)(_n4##x,_n4##y,z,c); |
667 | + |
668 | +#define cimg_get9x9(img,x,y,z,c,I,T) \ |
669 | + I[0] = (T)(img)(_p4##x,_p4##y,z,c), I[1] = (T)(img)(_p3##x,_p4##y,z,c), I[2] = (T)(img)(_p2##x,_p4##y,z,c), I[3] = (T)(img)(_p1##x,_p4##y,z,c), \ |
670 | + I[4] = (T)(img)(x,_p4##y,z,c), I[5] = (T)(img)(_n1##x,_p4##y,z,c), I[6] = (T)(img)(_n2##x,_p4##y,z,c), I[7] = (T)(img)(_n3##x,_p4##y,z,c), \ |
671 | + I[8] = (T)(img)(_n4##x,_p4##y,z,c), I[9] = (T)(img)(_p4##x,_p3##y,z,c), I[10] = (T)(img)(_p3##x,_p3##y,z,c), I[11] = (T)(img)(_p2##x,_p3##y,z,c), \ |
672 | + I[12] = (T)(img)(_p1##x,_p3##y,z,c), I[13] = (T)(img)(x,_p3##y,z,c), I[14] = (T)(img)(_n1##x,_p3##y,z,c), I[15] = (T)(img)(_n2##x,_p3##y,z,c), \ |
673 | + I[16] = (T)(img)(_n3##x,_p3##y,z,c), I[17] = (T)(img)(_n4##x,_p3##y,z,c), I[18] = (T)(img)(_p4##x,_p2##y,z,c), I[19] = (T)(img)(_p3##x,_p2##y,z,c), \ |
674 | + I[20] = (T)(img)(_p2##x,_p2##y,z,c), I[21] = (T)(img)(_p1##x,_p2##y,z,c), I[22] = (T)(img)(x,_p2##y,z,c), I[23] = (T)(img)(_n1##x,_p2##y,z,c), \ |
675 | + I[24] = (T)(img)(_n2##x,_p2##y,z,c), I[25] = (T)(img)(_n3##x,_p2##y,z,c), I[26] = (T)(img)(_n4##x,_p2##y,z,c), I[27] = (T)(img)(_p4##x,_p1##y,z,c), \ |
676 | + I[28] = (T)(img)(_p3##x,_p1##y,z,c), I[29] = (T)(img)(_p2##x,_p1##y,z,c), I[30] = (T)(img)(_p1##x,_p1##y,z,c), I[31] = (T)(img)(x,_p1##y,z,c), \ |
677 | + I[32] = (T)(img)(_n1##x,_p1##y,z,c), I[33] = (T)(img)(_n2##x,_p1##y,z,c), I[34] = (T)(img)(_n3##x,_p1##y,z,c), I[35] = (T)(img)(_n4##x,_p1##y,z,c), \ |
678 | + I[36] = (T)(img)(_p4##x,y,z,c), I[37] = (T)(img)(_p3##x,y,z,c), I[38] = (T)(img)(_p2##x,y,z,c), I[39] = (T)(img)(_p1##x,y,z,c), \ |
679 | + I[40] = (T)(img)(x,y,z,c), I[41] = (T)(img)(_n1##x,y,z,c), I[42] = (T)(img)(_n2##x,y,z,c), I[43] = (T)(img)(_n3##x,y,z,c), \ |
680 | + I[44] = (T)(img)(_n4##x,y,z,c), I[45] = (T)(img)(_p4##x,_n1##y,z,c), I[46] = (T)(img)(_p3##x,_n1##y,z,c), I[47] = (T)(img)(_p2##x,_n1##y,z,c), \ |
681 | + I[48] = (T)(img)(_p1##x,_n1##y,z,c), I[49] = (T)(img)(x,_n1##y,z,c), I[50] = (T)(img)(_n1##x,_n1##y,z,c), I[51] = (T)(img)(_n2##x,_n1##y,z,c), \ |
682 | + I[52] = (T)(img)(_n3##x,_n1##y,z,c), I[53] = (T)(img)(_n4##x,_n1##y,z,c), I[54] = (T)(img)(_p4##x,_n2##y,z,c), I[55] = (T)(img)(_p3##x,_n2##y,z,c), \ |
683 | + I[56] = (T)(img)(_p2##x,_n2##y,z,c), I[57] = (T)(img)(_p1##x,_n2##y,z,c), I[58] = (T)(img)(x,_n2##y,z,c), I[59] = (T)(img)(_n1##x,_n2##y,z,c), \ |
684 | + I[60] = (T)(img)(_n2##x,_n2##y,z,c), I[61] = (T)(img)(_n3##x,_n2##y,z,c), I[62] = (T)(img)(_n4##x,_n2##y,z,c), I[63] = (T)(img)(_p4##x,_n3##y,z,c), \ |
685 | + I[64] = (T)(img)(_p3##x,_n3##y,z,c), I[65] = (T)(img)(_p2##x,_n3##y,z,c), I[66] = (T)(img)(_p1##x,_n3##y,z,c), I[67] = (T)(img)(x,_n3##y,z,c), \ |
686 | + I[68] = (T)(img)(_n1##x,_n3##y,z,c), I[69] = (T)(img)(_n2##x,_n3##y,z,c), I[70] = (T)(img)(_n3##x,_n3##y,z,c), I[71] = (T)(img)(_n4##x,_n3##y,z,c), \ |
687 | + I[72] = (T)(img)(_p4##x,_n4##y,z,c), I[73] = (T)(img)(_p3##x,_n4##y,z,c), I[74] = (T)(img)(_p2##x,_n4##y,z,c), I[75] = (T)(img)(_p1##x,_n4##y,z,c), \ |
688 | + I[76] = (T)(img)(x,_n4##y,z,c), I[77] = (T)(img)(_n1##x,_n4##y,z,c), I[78] = (T)(img)(_n2##x,_n4##y,z,c), I[79] = (T)(img)(_n3##x,_n4##y,z,c), \ |
689 | + I[80] = (T)(img)(_n4##x,_n4##y,z,c) |
690 | + |
691 | +#define cimg_get2x2x2(img,x,y,z,c,I,T) \ |
692 | + I[0] = (T)(img)(x,y,z,c), I[1] = (T)(img)(_n1##x,y,z,c), I[2] = (T)(img)(x,_n1##y,z,c), I[3] = (T)(img)(_n1##x,_n1##y,z,c), \ |
693 | + I[4] = (T)(img)(x,y,_n1##z,c), I[5] = (T)(img)(_n1##x,y,_n1##z,c), I[6] = (T)(img)(x,_n1##y,_n1##z,c), I[7] = (T)(img)(_n1##x,_n1##y,_n1##z,c) |
694 | + |
695 | +#define cimg_get3x3x3(img,x,y,z,c,I,T) \ |
696 | + I[0] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[1] = (T)(img)(x,_p1##y,_p1##z,c), I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c), \ |
697 | + I[3] = (T)(img)(_p1##x,y,_p1##z,c), I[4] = (T)(img)(x,y,_p1##z,c), I[5] = (T)(img)(_n1##x,y,_p1##z,c), \ |
698 | + I[6] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[7] = (T)(img)(x,_n1##y,_p1##z,c), I[8] = (T)(img)(_n1##x,_n1##y,_p1##z,c), \ |
699 | + I[9] = (T)(img)(_p1##x,_p1##y,z,c), I[10] = (T)(img)(x,_p1##y,z,c), I[11] = (T)(img)(_n1##x,_p1##y,z,c), \ |
700 | + I[12] = (T)(img)(_p1##x,y,z,c), I[13] = (T)(img)(x,y,z,c), I[14] = (T)(img)(_n1##x,y,z,c), \ |
701 | + I[15] = (T)(img)(_p1##x,_n1##y,z,c), I[16] = (T)(img)(x,_n1##y,z,c), I[17] = (T)(img)(_n1##x,_n1##y,z,c), \ |
702 | + I[18] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[19] = (T)(img)(x,_p1##y,_n1##z,c), I[20] = (T)(img)(_n1##x,_p1##y,_n1##z,c), \ |
703 | + I[21] = (T)(img)(_p1##x,y,_n1##z,c), I[22] = (T)(img)(x,y,_n1##z,c), I[23] = (T)(img)(_n1##x,y,_n1##z,c), \ |
704 | + I[24] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[25] = (T)(img)(x,_n1##y,_n1##z,c), I[26] = (T)(img)(_n1##x,_n1##y,_n1##z,c) |
705 | + |
706 | +// Define various image loops. |
707 | +// |
708 | +// These macros generally avoid the use of iterators, but you are not forced to used them ! |
709 | +#define cimg_for(img,ptrs,T_ptrs) for (T_ptrs *ptrs = (img)._data + (img).size(); (ptrs--)>(img)._data; ) |
710 | +#define cimg_foroff(img,off) for (unsigned int off = 0, _max##off = (unsigned int)(img).size(); off<_max##off; ++off) |
711 | + |
712 | +#define cimg_for1(bound,i) for (int i = 0; i<(int)(bound); ++i) |
713 | +#define cimg_forX(img,x) cimg_for1((img)._width,x) |
714 | +#define cimg_forY(img,y) cimg_for1((img)._height,y) |
715 | +#define cimg_forZ(img,z) cimg_for1((img)._depth,z) |
716 | +#define cimg_forC(img,c) cimg_for1((img)._spectrum,c) |
717 | +#define cimg_forXY(img,x,y) cimg_forY(img,y) cimg_forX(img,x) |
718 | +#define cimg_forXZ(img,x,z) cimg_forZ(img,z) cimg_forX(img,x) |
719 | +#define cimg_forYZ(img,y,z) cimg_forZ(img,z) cimg_forY(img,y) |
720 | +#define cimg_forXC(img,x,c) cimg_forC(img,c) cimg_forX(img,x) |
721 | +#define cimg_forYC(img,y,c) cimg_forC(img,c) cimg_forY(img,y) |
722 | +#define cimg_forZC(img,z,c) cimg_forC(img,c) cimg_forZ(img,z) |
723 | +#define cimg_forXYZ(img,x,y,z) cimg_forZ(img,z) cimg_forXY(img,x,y) |
724 | +#define cimg_forXYC(img,x,y,c) cimg_forC(img,c) cimg_forXY(img,x,y) |
725 | +#define cimg_forXZC(img,x,z,c) cimg_forC(img,c) cimg_forXZ(img,x,z) |
726 | +#define cimg_forYZC(img,y,z,c) cimg_forC(img,c) cimg_forYZ(img,y,z) |
727 | +#define cimg_forXYZC(img,x,y,z,c) cimg_forC(img,c) cimg_forXYZ(img,x,y,z) |
728 | + |
729 | +#define cimg_for_in1(bound,i0,i1,i) \ |
730 | + for (int i = (int)(i0)<0?0:(int)(i0), _max##i = (int)(i1)<(int)(bound)?(int)(i1):(int)(bound)-1; i<=_max##i; ++i) |
731 | +#define cimg_for_inX(img,x0,x1,x) cimg_for_in1((img)._width,x0,x1,x) |
732 | +#define cimg_for_inY(img,y0,y1,y) cimg_for_in1((img)._height,y0,y1,y) |
733 | +#define cimg_for_inZ(img,z0,z1,z) cimg_for_in1((img)._depth,z0,z1,z) |
734 | +#define cimg_for_inC(img,c0,c1,c) cimg_for_in1((img)._spectrum,c0,c1,c) |
735 | +#define cimg_for_inXY(img,x0,y0,x1,y1,x,y) cimg_for_inY(img,y0,y1,y) cimg_for_inX(img,x0,x1,x) |
736 | +#define cimg_for_inXZ(img,x0,z0,x1,z1,x,z) cimg_for_inZ(img,z0,z1,z) cimg_for_inX(img,x0,x1,x) |
737 | +#define cimg_for_inXC(img,x0,c0,x1,c1,x,c) cimg_for_inC(img,c0,c1,c) cimg_for_inX(img,x0,x1,x) |
738 | +#define cimg_for_inYZ(img,y0,z0,y1,z1,y,z) cimg_for_inZ(img,x0,z1,z) cimg_for_inY(img,y0,y1,y) |
739 | +#define cimg_for_inYC(img,y0,c0,y1,c1,y,c) cimg_for_inC(img,c0,c1,c) cimg_for_inY(img,y0,y1,y) |
740 | +#define cimg_for_inZC(img,z0,c0,z1,c1,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inZ(img,z0,z1,z) |
741 | +#define cimg_for_inXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_inZ(img,z0,z1,z) cimg_for_inXY(img,x0,y0,x1,y1,x,y) |
742 | +#define cimg_for_inXYC(img,x0,y0,c0,x1,y1,c1,x,y,c) cimg_for_inC(img,c0,c1,c) cimg_for_inXY(img,x0,y0,x1,y1,x,y) |
743 | +#define cimg_for_inXZC(img,x0,z0,c0,x1,z1,c1,x,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inXZ(img,x0,z0,x1,z1,x,z) |
744 | +#define cimg_for_inYZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inYZ(img,y0,z0,y1,z1,y,z) |
745 | +#define cimg_for_inXYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
746 | +#define cimg_for_insideX(img,x,n) cimg_for_inX(img,n,(img)._width-1-(n),x) |
747 | +#define cimg_for_insideY(img,y,n) cimg_for_inY(img,n,(img)._height-1-(n),y) |
748 | +#define cimg_for_insideZ(img,z,n) cimg_for_inZ(img,n,(img)._depth-1-(n),z) |
749 | +#define cimg_for_insideC(img,c,n) cimg_for_inC(img,n,(img)._spectrum-1-(n),c) |
750 | +#define cimg_for_insideXY(img,x,y,n) cimg_for_inXY(img,n,n,(img)._width-1-(n),(img)._height-1-(n),x,y) |
751 | +#define cimg_for_insideXYZ(img,x,y,z,n) cimg_for_inXYZ(img,n,n,n,(img)._width-1-(n),(img)._height-1-(n),(img)._depth-1-(n),x,y,z) |
752 | +#define cimg_for_insideXYZC(img,x,y,z,c,n) cimg_for_inXYZ(img,n,n,n,(img)._width-1-(n),(img)._height-1-(n),(img)._depth-1-(n),x,y,z) |
753 | + |
754 | +#define cimg_for_out1(boundi,i0,i1,i) \ |
755 | + for (int i = (int)(i0)>0?0:(int)(i1)+1; i<(int)(boundi); ++i, i = i==(int)(i0)?(int)(i1)+1:i) |
756 | +#define cimg_for_out2(boundi,boundj,i0,j0,i1,j1,i,j) \ |
757 | + for (int j = 0; j<(int)(boundj); ++j) \ |
758 | + for (int _n1j = (int)(j<(int)(j0) || j>(int)(j1)), i = _n1j?0:(int)(i0)>0?0:(int)(i1)+1; i<(int)(boundi); \ |
759 | + ++i, i = _n1j?i:(i==(int)(i0)?(int)(i1)+1:i)) |
760 | +#define cimg_for_out3(boundi,boundj,boundk,i0,j0,k0,i1,j1,k1,i,j,k) \ |
761 | + for (int k = 0; k<(int)(boundk); ++k) \ |
762 | + for (int _n1k = (int)(k<(int)(k0) || k>(int)(k1)), j = 0; j<(int)(boundj); ++j) \ |
763 | + for (int _n1j = (int)(j<(int)(j0) || j>(int)(j1)), i = _n1j || _n1k?0:(int)(i0)>0?0:(int)(i1)+1; i<(int)(boundi); \ |
764 | + ++i, i = _n1j || _n1k?i:(i==(int)(i0)?(int)(i1)+1:i)) |
765 | +#define cimg_for_out4(boundi,boundj,boundk,boundl,i0,j0,k0,l0,i1,j1,k1,l1,i,j,k,l) \ |
766 | + for (int l = 0; l<(int)(boundl); ++l) \ |
767 | + for (int _n1l = (int)(l<(int)(l0) || l>(int)(l1)), k = 0; k<(int)(boundk); ++k) \ |
768 | + for (int _n1k = (int)(k<(int)(k0) || k>(int)(k1)), j = 0; j<(int)(boundj); ++j) \ |
769 | + for (int _n1j = (int)(j<(int)(j0) || j>(int)(j1)), i = _n1j || _n1k || _n1l?0:(int)(i0)>0?0:(int)(i1)+1; i<(int)(boundi); \ |
770 | + ++i, i = _n1j || _n1k || _n1l?i:(i==(int)(i0)?(int)(i1)+1:i)) |
771 | +#define cimg_for_outX(img,x0,x1,x) cimg_for_out1((img)._width,x0,x1,x) |
772 | +#define cimg_for_outY(img,y0,y1,y) cimg_for_out1((img)._height,y0,y1,y) |
773 | +#define cimg_for_outZ(img,z0,z1,z) cimg_for_out1((img)._depth,z0,z1,z) |
774 | +#define cimg_for_outC(img,c0,c1,c) cimg_for_out1((img)._spectrum,c0,c1,c) |
775 | +#define cimg_for_outXY(img,x0,y0,x1,y1,x,y) cimg_for_out2((img)._width,(img)._height,x0,y0,x1,y1,x,y) |
776 | +#define cimg_for_outXZ(img,x0,z0,x1,z1,x,z) cimg_for_out2((img)._width,(img)._depth,x0,z0,x1,z1,x,z) |
777 | +#define cimg_for_outXC(img,x0,c0,x1,c1,x,c) cimg_for_out2((img)._width,(img)._spectrum,x0,c0,x1,c1,x,c) |
778 | +#define cimg_for_outYZ(img,y0,z0,y1,z1,y,z) cimg_for_out2((img)._height,(img)._depth,y0,z0,y1,z1,y,z) |
779 | +#define cimg_for_outYC(img,y0,c0,y1,c1,y,c) cimg_for_out2((img)._height,(img)._spectrum,y0,c0,y1,c1,y,c) |
780 | +#define cimg_for_outZC(img,z0,c0,z1,c1,z,c) cimg_for_out2((img)._depth,(img)._spectrum,z0,c0,z1,c1,z,c) |
781 | +#define cimg_for_outXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_out3((img)._width,(img)._height,(img)._depth,x0,y0,z0,x1,y1,z1,x,y,z) |
782 | +#define cimg_for_outXYC(img,x0,y0,c0,x1,y1,c1,x,y,c) cimg_for_out3((img)._width,(img)._height,(img)._spectrum,x0,y0,c0,x1,y1,c1,x,y,c) |
783 | +#define cimg_for_outXZC(img,x0,z0,c0,x1,z1,c1,x,z,c) cimg_for_out3((img)._width,(img)._depth,(img)._spectrum,x0,z0,c0,x1,z1,c1,x,z,c) |
784 | +#define cimg_for_outYZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_out3((img)._height,(img)._depth,(img)._spectrum,y0,z0,c0,y1,z1,c1,y,z,c) |
785 | +#define cimg_for_outXYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \ |
786 | + cimg_for_out4((img)._width,(img)._height,(img)._depth,(img)._spectrum,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) |
787 | +#define cimg_for_borderX(img,x,n) cimg_for_outX(img,n,(img)._width-1-(n),x) |
788 | +#define cimg_for_borderY(img,y,n) cimg_for_outY(img,n,(img)._height-1-(n),y) |
789 | +#define cimg_for_borderZ(img,z,n) cimg_for_outZ(img,n,(img)._depth-1-(n),z) |
790 | +#define cimg_for_borderC(img,c,n) cimg_for_outC(img,n,(img)._spectrum-1-(n),c) |
791 | +#define cimg_for_borderXY(img,x,y,n) cimg_for_outXY(img,n,n,(img)._width-1-(n),(img)._height-1-(n),x,y) |
792 | +#define cimg_for_borderXYZ(img,x,y,z,n) cimg_for_outXYZ(img,n,n,n,(img)._width-1-(n),(img)._height-1-(n),(img)._depth-1-(n),x,y,z) |
793 | +#define cimg_for_borderXYZC(img,x,y,z,c,n) \ |
794 | + cimg_for_outXYZC(img,n,n,n,n,(img)._width-1-(n),(img)._height-1-(n),(img)._depth-1-(n),(img)._spectrum-1-(n),x,y,z,c) |
795 | + |
796 | +#define cimg_for_spiralXY(img,x,y) \ |
797 | + for (int x = 0, y = 0, _n1##x = 1, _n1##y = (img).width()*(img).height(); _n1##y; \ |
798 | + --_n1##y, _n1##x+=(_n1##x>>2)-((!(_n1##x&3)?--y:((_n1##x&3)==1?(img)._width-1-++x:((_n1##x&3)==2?(img)._height-1-++y:--x))))?0:1) |
799 | + |
800 | +#define cimg_for_lineXY(x,y,x0,y0,x1,y1) \ |
801 | + for (int x = (int)(x0), y = (int)(y0), _sx = 1, _sy = 1, _steep = 0, \ |
802 | + _dx=(x1)>(x0)?(int)(x1)-(int)(x0):(_sx=-1,(int)(x0)-(int)(x1)), \ |
803 | + _dy=(y1)>(y0)?(int)(y1)-(int)(y0):(_sy=-1,(int)(y0)-(int)(y1)), \ |
804 | + _counter = _dx, \ |
805 | + _err = _dx>_dy?(_dy>>1):((_steep=1),(_counter=_dy),(_dx>>1)); \ |
806 | + _counter>=0; \ |
807 | + --_counter, x+=_steep? \ |
808 | + (y+=_sy,(_err-=_dx)<0?_err+=_dy,_sx:0): \ |
809 | + (y+=(_err-=_dy)<0?_err+=_dx,_sy:0,_sx)) |
810 | + |
811 | +#define cimg_for2(bound,i) \ |
812 | + for (int i = 0, _n1##i = 1>=(bound)?(int)(bound)-1:1; \ |
813 | + _n1##i<(int)(bound) || i==--_n1##i; \ |
814 | + ++i, ++_n1##i) |
815 | +#define cimg_for2X(img,x) cimg_for2((img)._width,x) |
816 | +#define cimg_for2Y(img,y) cimg_for2((img)._height,y) |
817 | +#define cimg_for2Z(img,z) cimg_for2((img)._depth,z) |
818 | +#define cimg_for2C(img,c) cimg_for2((img)._spectrum,c) |
819 | +#define cimg_for2XY(img,x,y) cimg_for2Y(img,y) cimg_for2X(img,x) |
820 | +#define cimg_for2XZ(img,x,z) cimg_for2Z(img,z) cimg_for2X(img,x) |
821 | +#define cimg_for2XC(img,x,c) cimg_for2C(img,c) cimg_for2X(img,x) |
822 | +#define cimg_for2YZ(img,y,z) cimg_for2Z(img,z) cimg_for2Y(img,y) |
823 | +#define cimg_for2YC(img,y,c) cimg_for2C(img,c) cimg_for2Y(img,y) |
824 | +#define cimg_for2ZC(img,z,c) cimg_for2C(img,c) cimg_for2Z(img,z) |
825 | +#define cimg_for2XYZ(img,x,y,z) cimg_for2Z(img,z) cimg_for2XY(img,x,y) |
826 | +#define cimg_for2XZC(img,x,z,c) cimg_for2C(img,c) cimg_for2XZ(img,x,z) |
827 | +#define cimg_for2YZC(img,y,z,c) cimg_for2C(img,c) cimg_for2YZ(img,y,z) |
828 | +#define cimg_for2XYZC(img,x,y,z,c) cimg_for2C(img,c) cimg_for2XYZ(img,x,y,z) |
829 | + |
830 | +#define cimg_for_in2(bound,i0,i1,i) \ |
831 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
832 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1; \ |
833 | + i<=(int)(i1) && (_n1##i<(int)(bound) || i==--_n1##i); \ |
834 | + ++i, ++_n1##i) |
835 | +#define cimg_for_in2X(img,x0,x1,x) cimg_for_in2((img)._width,x0,x1,x) |
836 | +#define cimg_for_in2Y(img,y0,y1,y) cimg_for_in2((img)._height,y0,y1,y) |
837 | +#define cimg_for_in2Z(img,z0,z1,z) cimg_for_in2((img)._depth,z0,z1,z) |
838 | +#define cimg_for_in2C(img,c0,c1,c) cimg_for_in2((img)._spectrum,c0,c1,c) |
839 | +#define cimg_for_in2XY(img,x0,y0,x1,y1,x,y) cimg_for_in2Y(img,y0,y1,y) cimg_for_in2X(img,x0,x1,x) |
840 | +#define cimg_for_in2XZ(img,x0,z0,x1,z1,x,z) cimg_for_in2Z(img,z0,z1,z) cimg_for_in2X(img,x0,x1,x) |
841 | +#define cimg_for_in2XC(img,x0,c0,x1,c1,x,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2X(img,x0,x1,x) |
842 | +#define cimg_for_in2YZ(img,y0,z0,y1,z1,y,z) cimg_for_in2Z(img,z0,z1,z) cimg_for_in2Y(img,y0,y1,y) |
843 | +#define cimg_for_in2YC(img,y0,c0,y1,c1,y,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2Y(img,y0,y1,y) |
844 | +#define cimg_for_in2ZC(img,z0,c0,z1,c1,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2Z(img,z0,z1,z) |
845 | +#define cimg_for_in2XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in2Z(img,z0,z1,z) cimg_for_in2XY(img,x0,y0,x1,y1,x,y) |
846 | +#define cimg_for_in2XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2XZ(img,x0,y0,x1,y1,x,z) |
847 | +#define cimg_for_in2YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2YZ(img,y0,z0,y1,z1,y,z) |
848 | +#define cimg_for_in2XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
849 | + |
850 | +#define cimg_for3(bound,i) \ |
851 | + for (int i = 0, _p1##i = 0, \ |
852 | + _n1##i = 1>=(bound)?(int)(bound)-1:1; \ |
853 | + _n1##i<(int)(bound) || i==--_n1##i; \ |
854 | + _p1##i = i++, ++_n1##i) |
855 | +#define cimg_for3X(img,x) cimg_for3((img)._width,x) |
856 | +#define cimg_for3Y(img,y) cimg_for3((img)._height,y) |
857 | +#define cimg_for3Z(img,z) cimg_for3((img)._depth,z) |
858 | +#define cimg_for3C(img,c) cimg_for3((img)._spectrum,c) |
859 | +#define cimg_for3XY(img,x,y) cimg_for3Y(img,y) cimg_for3X(img,x) |
860 | +#define cimg_for3XZ(img,x,z) cimg_for3Z(img,z) cimg_for3X(img,x) |
861 | +#define cimg_for3XC(img,x,c) cimg_for3C(img,c) cimg_for3X(img,x) |
862 | +#define cimg_for3YZ(img,y,z) cimg_for3Z(img,z) cimg_for3Y(img,y) |
863 | +#define cimg_for3YC(img,y,c) cimg_for3C(img,c) cimg_for3Y(img,y) |
864 | +#define cimg_for3ZC(img,z,c) cimg_for3C(img,c) cimg_for3Z(img,z) |
865 | +#define cimg_for3XYZ(img,x,y,z) cimg_for3Z(img,z) cimg_for3XY(img,x,y) |
866 | +#define cimg_for3XZC(img,x,z,c) cimg_for3C(img,c) cimg_for3XZ(img,x,z) |
867 | +#define cimg_for3YZC(img,y,z,c) cimg_for3C(img,c) cimg_for3YZ(img,y,z) |
868 | +#define cimg_for3XYZC(img,x,y,z,c) cimg_for3C(img,c) cimg_for3XYZ(img,x,y,z) |
869 | + |
870 | +#define cimg_for_in3(bound,i0,i1,i) \ |
871 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
872 | + _p1##i = i-1<0?0:i-1, \ |
873 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1; \ |
874 | + i<=(int)(i1) && (_n1##i<(int)(bound) || i==--_n1##i); \ |
875 | + _p1##i = i++, ++_n1##i) |
876 | +#define cimg_for_in3X(img,x0,x1,x) cimg_for_in3((img)._width,x0,x1,x) |
877 | +#define cimg_for_in3Y(img,y0,y1,y) cimg_for_in3((img)._height,y0,y1,y) |
878 | +#define cimg_for_in3Z(img,z0,z1,z) cimg_for_in3((img)._depth,z0,z1,z) |
879 | +#define cimg_for_in3C(img,c0,c1,c) cimg_for_in3((img)._spectrum,c0,c1,c) |
880 | +#define cimg_for_in3XY(img,x0,y0,x1,y1,x,y) cimg_for_in3Y(img,y0,y1,y) cimg_for_in3X(img,x0,x1,x) |
881 | +#define cimg_for_in3XZ(img,x0,z0,x1,z1,x,z) cimg_for_in3Z(img,z0,z1,z) cimg_for_in3X(img,x0,x1,x) |
882 | +#define cimg_for_in3XC(img,x0,c0,x1,c1,x,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3X(img,x0,x1,x) |
883 | +#define cimg_for_in3YZ(img,y0,z0,y1,z1,y,z) cimg_for_in3Z(img,z0,z1,z) cimg_for_in3Y(img,y0,y1,y) |
884 | +#define cimg_for_in3YC(img,y0,c0,y1,c1,y,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3Y(img,y0,y1,y) |
885 | +#define cimg_for_in3ZC(img,z0,c0,z1,c1,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3Z(img,z0,z1,z) |
886 | +#define cimg_for_in3XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in3Z(img,z0,z1,z) cimg_for_in3XY(img,x0,y0,x1,y1,x,y) |
887 | +#define cimg_for_in3XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3XZ(img,x0,y0,x1,y1,x,z) |
888 | +#define cimg_for_in3YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3YZ(img,y0,z0,y1,z1,y,z) |
889 | +#define cimg_for_in3XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
890 | + |
891 | +#define cimg_for4(bound,i) \ |
892 | + for (int i = 0, _p1##i = 0, _n1##i = 1>=(bound)?(int)(bound)-1:1, \ |
893 | + _n2##i = 2>=(bound)?(int)(bound)-1:2; \ |
894 | + _n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i); \ |
895 | + _p1##i = i++, ++_n1##i, ++_n2##i) |
896 | +#define cimg_for4X(img,x) cimg_for4((img)._width,x) |
897 | +#define cimg_for4Y(img,y) cimg_for4((img)._height,y) |
898 | +#define cimg_for4Z(img,z) cimg_for4((img)._depth,z) |
899 | +#define cimg_for4C(img,c) cimg_for4((img)._spectrum,c) |
900 | +#define cimg_for4XY(img,x,y) cimg_for4Y(img,y) cimg_for4X(img,x) |
901 | +#define cimg_for4XZ(img,x,z) cimg_for4Z(img,z) cimg_for4X(img,x) |
902 | +#define cimg_for4XC(img,x,c) cimg_for4C(img,c) cimg_for4X(img,x) |
903 | +#define cimg_for4YZ(img,y,z) cimg_for4Z(img,z) cimg_for4Y(img,y) |
904 | +#define cimg_for4YC(img,y,c) cimg_for4C(img,c) cimg_for4Y(img,y) |
905 | +#define cimg_for4ZC(img,z,c) cimg_for4C(img,c) cimg_for4Z(img,z) |
906 | +#define cimg_for4XYZ(img,x,y,z) cimg_for4Z(img,z) cimg_for4XY(img,x,y) |
907 | +#define cimg_for4XZC(img,x,z,c) cimg_for4C(img,c) cimg_for4XZ(img,x,z) |
908 | +#define cimg_for4YZC(img,y,z,c) cimg_for4C(img,c) cimg_for4YZ(img,y,z) |
909 | +#define cimg_for4XYZC(img,x,y,z,c) cimg_for4C(img,c) cimg_for4XYZ(img,x,y,z) |
910 | + |
911 | +#define cimg_for_in4(bound,i0,i1,i) \ |
912 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
913 | + _p1##i = i-1<0?0:i-1, \ |
914 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1, \ |
915 | + _n2##i = i+2>=(int)(bound)?(int)(bound)-1:i+2; \ |
916 | + i<=(int)(i1) && (_n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i)); \ |
917 | + _p1##i = i++, ++_n1##i, ++_n2##i) |
918 | +#define cimg_for_in4X(img,x0,x1,x) cimg_for_in4((img)._width,x0,x1,x) |
919 | +#define cimg_for_in4Y(img,y0,y1,y) cimg_for_in4((img)._height,y0,y1,y) |
920 | +#define cimg_for_in4Z(img,z0,z1,z) cimg_for_in4((img)._depth,z0,z1,z) |
921 | +#define cimg_for_in4C(img,c0,c1,c) cimg_for_in4((img)._spectrum,c0,c1,c) |
922 | +#define cimg_for_in4XY(img,x0,y0,x1,y1,x,y) cimg_for_in4Y(img,y0,y1,y) cimg_for_in4X(img,x0,x1,x) |
923 | +#define cimg_for_in4XZ(img,x0,z0,x1,z1,x,z) cimg_for_in4Z(img,z0,z1,z) cimg_for_in4X(img,x0,x1,x) |
924 | +#define cimg_for_in4XC(img,x0,c0,x1,c1,x,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4X(img,x0,x1,x) |
925 | +#define cimg_for_in4YZ(img,y0,z0,y1,z1,y,z) cimg_for_in4Z(img,z0,z1,z) cimg_for_in4Y(img,y0,y1,y) |
926 | +#define cimg_for_in4YC(img,y0,c0,y1,c1,y,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4Y(img,y0,y1,y) |
927 | +#define cimg_for_in4ZC(img,z0,c0,z1,c1,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4Z(img,z0,z1,z) |
928 | +#define cimg_for_in4XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in4Z(img,z0,z1,z) cimg_for_in4XY(img,x0,y0,x1,y1,x,y) |
929 | +#define cimg_for_in4XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4XZ(img,x0,y0,x1,y1,x,z) |
930 | +#define cimg_for_in4YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4YZ(img,y0,z0,y1,z1,y,z) |
931 | +#define cimg_for_in4XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
932 | + |
933 | +#define cimg_for5(bound,i) \ |
934 | + for (int i = 0, _p2##i = 0, _p1##i = 0, \ |
935 | + _n1##i = 1>=(bound)?(int)(bound)-1:1, \ |
936 | + _n2##i = 2>=(bound)?(int)(bound)-1:2; \ |
937 | + _n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i); \ |
938 | + _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i) |
939 | +#define cimg_for5X(img,x) cimg_for5((img)._width,x) |
940 | +#define cimg_for5Y(img,y) cimg_for5((img)._height,y) |
941 | +#define cimg_for5Z(img,z) cimg_for5((img)._depth,z) |
942 | +#define cimg_for5C(img,c) cimg_for5((img)._spectrum,c) |
943 | +#define cimg_for5XY(img,x,y) cimg_for5Y(img,y) cimg_for5X(img,x) |
944 | +#define cimg_for5XZ(img,x,z) cimg_for5Z(img,z) cimg_for5X(img,x) |
945 | +#define cimg_for5XC(img,x,c) cimg_for5C(img,c) cimg_for5X(img,x) |
946 | +#define cimg_for5YZ(img,y,z) cimg_for5Z(img,z) cimg_for5Y(img,y) |
947 | +#define cimg_for5YC(img,y,c) cimg_for5C(img,c) cimg_for5Y(img,y) |
948 | +#define cimg_for5ZC(img,z,c) cimg_for5C(img,c) cimg_for5Z(img,z) |
949 | +#define cimg_for5XYZ(img,x,y,z) cimg_for5Z(img,z) cimg_for5XY(img,x,y) |
950 | +#define cimg_for5XZC(img,x,z,c) cimg_for5C(img,c) cimg_for5XZ(img,x,z) |
951 | +#define cimg_for5YZC(img,y,z,c) cimg_for5C(img,c) cimg_for5YZ(img,y,z) |
952 | +#define cimg_for5XYZC(img,x,y,z,c) cimg_for5C(img,c) cimg_for5XYZ(img,x,y,z) |
953 | + |
954 | +#define cimg_for_in5(bound,i0,i1,i) \ |
955 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
956 | + _p2##i = i-2<0?0:i-2, \ |
957 | + _p1##i = i-1<0?0:i-1, \ |
958 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1, \ |
959 | + _n2##i = i+2>=(int)(bound)?(int)(bound)-1:i+2; \ |
960 | + i<=(int)(i1) && (_n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i)); \ |
961 | + _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i) |
962 | +#define cimg_for_in5X(img,x0,x1,x) cimg_for_in5((img)._width,x0,x1,x) |
963 | +#define cimg_for_in5Y(img,y0,y1,y) cimg_for_in5((img)._height,y0,y1,y) |
964 | +#define cimg_for_in5Z(img,z0,z1,z) cimg_for_in5((img)._depth,z0,z1,z) |
965 | +#define cimg_for_in5C(img,c0,c1,c) cimg_for_in5((img)._spectrum,c0,c1,c) |
966 | +#define cimg_for_in5XY(img,x0,y0,x1,y1,x,y) cimg_for_in5Y(img,y0,y1,y) cimg_for_in5X(img,x0,x1,x) |
967 | +#define cimg_for_in5XZ(img,x0,z0,x1,z1,x,z) cimg_for_in5Z(img,z0,z1,z) cimg_for_in5X(img,x0,x1,x) |
968 | +#define cimg_for_in5XC(img,x0,c0,x1,c1,x,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5X(img,x0,x1,x) |
969 | +#define cimg_for_in5YZ(img,y0,z0,y1,z1,y,z) cimg_for_in5Z(img,z0,z1,z) cimg_for_in5Y(img,y0,y1,y) |
970 | +#define cimg_for_in5YC(img,y0,c0,y1,c1,y,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5Y(img,y0,y1,y) |
971 | +#define cimg_for_in5ZC(img,z0,c0,z1,c1,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5Z(img,z0,z1,z) |
972 | +#define cimg_for_in5XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in5Z(img,z0,z1,z) cimg_for_in5XY(img,x0,y0,x1,y1,x,y) |
973 | +#define cimg_for_in5XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5XZ(img,x0,y0,x1,y1,x,z) |
974 | +#define cimg_for_in5YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5YZ(img,y0,z0,y1,z1,y,z) |
975 | +#define cimg_for_in5XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
976 | + |
977 | +#define cimg_for6(bound,i) \ |
978 | + for (int i = 0, _p2##i = 0, _p1##i = 0, \ |
979 | + _n1##i = 1>=(bound)?(int)(bound)-1:1, \ |
980 | + _n2##i = 2>=(bound)?(int)(bound)-1:2, \ |
981 | + _n3##i = 3>=(bound)?(int)(bound)-1:3; \ |
982 | + _n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i); \ |
983 | + _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i) |
984 | +#define cimg_for6X(img,x) cimg_for6((img)._width,x) |
985 | +#define cimg_for6Y(img,y) cimg_for6((img)._height,y) |
986 | +#define cimg_for6Z(img,z) cimg_for6((img)._depth,z) |
987 | +#define cimg_for6C(img,c) cimg_for6((img)._spectrum,c) |
988 | +#define cimg_for6XY(img,x,y) cimg_for6Y(img,y) cimg_for6X(img,x) |
989 | +#define cimg_for6XZ(img,x,z) cimg_for6Z(img,z) cimg_for6X(img,x) |
990 | +#define cimg_for6XC(img,x,c) cimg_for6C(img,c) cimg_for6X(img,x) |
991 | +#define cimg_for6YZ(img,y,z) cimg_for6Z(img,z) cimg_for6Y(img,y) |
992 | +#define cimg_for6YC(img,y,c) cimg_for6C(img,c) cimg_for6Y(img,y) |
993 | +#define cimg_for6ZC(img,z,c) cimg_for6C(img,c) cimg_for6Z(img,z) |
994 | +#define cimg_for6XYZ(img,x,y,z) cimg_for6Z(img,z) cimg_for6XY(img,x,y) |
995 | +#define cimg_for6XZC(img,x,z,c) cimg_for6C(img,c) cimg_for6XZ(img,x,z) |
996 | +#define cimg_for6YZC(img,y,z,c) cimg_for6C(img,c) cimg_for6YZ(img,y,z) |
997 | +#define cimg_for6XYZC(img,x,y,z,c) cimg_for6C(img,c) cimg_for6XYZ(img,x,y,z) |
998 | + |
999 | +#define cimg_for_in6(bound,i0,i1,i) \ |
1000 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
1001 | + _p2##i = i-2<0?0:i-2, \ |
1002 | + _p1##i = i-1<0?0:i-1, \ |
1003 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1, \ |
1004 | + _n2##i = i+2>=(int)(bound)?(int)(bound)-1:i+2, \ |
1005 | + _n3##i = i+3>=(int)(bound)?(int)(bound)-1:i+3; \ |
1006 | + i<=(int)(i1) && (_n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i)); \ |
1007 | + _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i) |
1008 | +#define cimg_for_in6X(img,x0,x1,x) cimg_for_in6((img)._width,x0,x1,x) |
1009 | +#define cimg_for_in6Y(img,y0,y1,y) cimg_for_in6((img)._height,y0,y1,y) |
1010 | +#define cimg_for_in6Z(img,z0,z1,z) cimg_for_in6((img)._depth,z0,z1,z) |
1011 | +#define cimg_for_in6C(img,c0,c1,c) cimg_for_in6((img)._spectrum,c0,c1,c) |
1012 | +#define cimg_for_in6XY(img,x0,y0,x1,y1,x,y) cimg_for_in6Y(img,y0,y1,y) cimg_for_in6X(img,x0,x1,x) |
1013 | +#define cimg_for_in6XZ(img,x0,z0,x1,z1,x,z) cimg_for_in6Z(img,z0,z1,z) cimg_for_in6X(img,x0,x1,x) |
1014 | +#define cimg_for_in6XC(img,x0,c0,x1,c1,x,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6X(img,x0,x1,x) |
1015 | +#define cimg_for_in6YZ(img,y0,z0,y1,z1,y,z) cimg_for_in6Z(img,z0,z1,z) cimg_for_in6Y(img,y0,y1,y) |
1016 | +#define cimg_for_in6YC(img,y0,c0,y1,c1,y,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6Y(img,y0,y1,y) |
1017 | +#define cimg_for_in6ZC(img,z0,c0,z1,c1,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6Z(img,z0,z1,z) |
1018 | +#define cimg_for_in6XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in6Z(img,z0,z1,z) cimg_for_in6XY(img,x0,y0,x1,y1,x,y) |
1019 | +#define cimg_for_in6XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6XZ(img,x0,y0,x1,y1,x,z) |
1020 | +#define cimg_for_in6YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6YZ(img,y0,z0,y1,z1,y,z) |
1021 | +#define cimg_for_in6XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
1022 | + |
1023 | +#define cimg_for7(bound,i) \ |
1024 | + for (int i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \ |
1025 | + _n1##i = 1>=(bound)?(int)(bound)-1:1, \ |
1026 | + _n2##i = 2>=(bound)?(int)(bound)-1:2, \ |
1027 | + _n3##i = 3>=(bound)?(int)(bound)-1:3; \ |
1028 | + _n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i); \ |
1029 | + _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i) |
1030 | +#define cimg_for7X(img,x) cimg_for7((img)._width,x) |
1031 | +#define cimg_for7Y(img,y) cimg_for7((img)._height,y) |
1032 | +#define cimg_for7Z(img,z) cimg_for7((img)._depth,z) |
1033 | +#define cimg_for7C(img,c) cimg_for7((img)._spectrum,c) |
1034 | +#define cimg_for7XY(img,x,y) cimg_for7Y(img,y) cimg_for7X(img,x) |
1035 | +#define cimg_for7XZ(img,x,z) cimg_for7Z(img,z) cimg_for7X(img,x) |
1036 | +#define cimg_for7XC(img,x,c) cimg_for7C(img,c) cimg_for7X(img,x) |
1037 | +#define cimg_for7YZ(img,y,z) cimg_for7Z(img,z) cimg_for7Y(img,y) |
1038 | +#define cimg_for7YC(img,y,c) cimg_for7C(img,c) cimg_for7Y(img,y) |
1039 | +#define cimg_for7ZC(img,z,c) cimg_for7C(img,c) cimg_for7Z(img,z) |
1040 | +#define cimg_for7XYZ(img,x,y,z) cimg_for7Z(img,z) cimg_for7XY(img,x,y) |
1041 | +#define cimg_for7XZC(img,x,z,c) cimg_for7C(img,c) cimg_for7XZ(img,x,z) |
1042 | +#define cimg_for7YZC(img,y,z,c) cimg_for7C(img,c) cimg_for7YZ(img,y,z) |
1043 | +#define cimg_for7XYZC(img,x,y,z,c) cimg_for7C(img,c) cimg_for7XYZ(img,x,y,z) |
1044 | + |
1045 | +#define cimg_for_in7(bound,i0,i1,i) \ |
1046 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
1047 | + _p3##i = i-3<0?0:i-3, \ |
1048 | + _p2##i = i-2<0?0:i-2, \ |
1049 | + _p1##i = i-1<0?0:i-1, \ |
1050 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1, \ |
1051 | + _n2##i = i+2>=(int)(bound)?(int)(bound)-1:i+2, \ |
1052 | + _n3##i = i+3>=(int)(bound)?(int)(bound)-1:i+3; \ |
1053 | + i<=(int)(i1) && (_n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i)); \ |
1054 | + _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i) |
1055 | +#define cimg_for_in7X(img,x0,x1,x) cimg_for_in7((img)._width,x0,x1,x) |
1056 | +#define cimg_for_in7Y(img,y0,y1,y) cimg_for_in7((img)._height,y0,y1,y) |
1057 | +#define cimg_for_in7Z(img,z0,z1,z) cimg_for_in7((img)._depth,z0,z1,z) |
1058 | +#define cimg_for_in7C(img,c0,c1,c) cimg_for_in7((img)._spectrum,c0,c1,c) |
1059 | +#define cimg_for_in7XY(img,x0,y0,x1,y1,x,y) cimg_for_in7Y(img,y0,y1,y) cimg_for_in7X(img,x0,x1,x) |
1060 | +#define cimg_for_in7XZ(img,x0,z0,x1,z1,x,z) cimg_for_in7Z(img,z0,z1,z) cimg_for_in7X(img,x0,x1,x) |
1061 | +#define cimg_for_in7XC(img,x0,c0,x1,c1,x,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7X(img,x0,x1,x) |
1062 | +#define cimg_for_in7YZ(img,y0,z0,y1,z1,y,z) cimg_for_in7Z(img,z0,z1,z) cimg_for_in7Y(img,y0,y1,y) |
1063 | +#define cimg_for_in7YC(img,y0,c0,y1,c1,y,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7Y(img,y0,y1,y) |
1064 | +#define cimg_for_in7ZC(img,z0,c0,z1,c1,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7Z(img,z0,z1,z) |
1065 | +#define cimg_for_in7XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in7Z(img,z0,z1,z) cimg_for_in7XY(img,x0,y0,x1,y1,x,y) |
1066 | +#define cimg_for_in7XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7XZ(img,x0,y0,x1,y1,x,z) |
1067 | +#define cimg_for_in7YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7YZ(img,y0,z0,y1,z1,y,z) |
1068 | +#define cimg_for_in7XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
1069 | + |
1070 | +#define cimg_for8(bound,i) \ |
1071 | + for (int i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \ |
1072 | + _n1##i = 1>=(bound)?(int)(bound)-1:1, \ |
1073 | + _n2##i = 2>=(bound)?(int)(bound)-1:2, \ |
1074 | + _n3##i = 3>=(bound)?(int)(bound)-1:3, \ |
1075 | + _n4##i = 4>=(bound)?(int)(bound)-1:4; \ |
1076 | + _n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \ |
1077 | + i==(_n4##i = _n3##i = _n2##i = --_n1##i); \ |
1078 | + _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i) |
1079 | +#define cimg_for8X(img,x) cimg_for8((img)._width,x) |
1080 | +#define cimg_for8Y(img,y) cimg_for8((img)._height,y) |
1081 | +#define cimg_for8Z(img,z) cimg_for8((img)._depth,z) |
1082 | +#define cimg_for8C(img,c) cimg_for8((img)._spectrum,c) |
1083 | +#define cimg_for8XY(img,x,y) cimg_for8Y(img,y) cimg_for8X(img,x) |
1084 | +#define cimg_for8XZ(img,x,z) cimg_for8Z(img,z) cimg_for8X(img,x) |
1085 | +#define cimg_for8XC(img,x,c) cimg_for8C(img,c) cimg_for8X(img,x) |
1086 | +#define cimg_for8YZ(img,y,z) cimg_for8Z(img,z) cimg_for8Y(img,y) |
1087 | +#define cimg_for8YC(img,y,c) cimg_for8C(img,c) cimg_for8Y(img,y) |
1088 | +#define cimg_for8ZC(img,z,c) cimg_for8C(img,c) cimg_for8Z(img,z) |
1089 | +#define cimg_for8XYZ(img,x,y,z) cimg_for8Z(img,z) cimg_for8XY(img,x,y) |
1090 | +#define cimg_for8XZC(img,x,z,c) cimg_for8C(img,c) cimg_for8XZ(img,x,z) |
1091 | +#define cimg_for8YZC(img,y,z,c) cimg_for8C(img,c) cimg_for8YZ(img,y,z) |
1092 | +#define cimg_for8XYZC(img,x,y,z,c) cimg_for8C(img,c) cimg_for8XYZ(img,x,y,z) |
1093 | + |
1094 | +#define cimg_for_in8(bound,i0,i1,i) \ |
1095 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
1096 | + _p3##i = i-3<0?0:i-3, \ |
1097 | + _p2##i = i-2<0?0:i-2, \ |
1098 | + _p1##i = i-1<0?0:i-1, \ |
1099 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1, \ |
1100 | + _n2##i = i+2>=(int)(bound)?(int)(bound)-1:i+2, \ |
1101 | + _n3##i = i+3>=(int)(bound)?(int)(bound)-1:i+3, \ |
1102 | + _n4##i = i+4>=(int)(bound)?(int)(bound)-1:i+4; \ |
1103 | + i<=(int)(i1) && (_n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \ |
1104 | + i==(_n4##i = _n3##i = _n2##i = --_n1##i)); \ |
1105 | + _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i) |
1106 | +#define cimg_for_in8X(img,x0,x1,x) cimg_for_in8((img)._width,x0,x1,x) |
1107 | +#define cimg_for_in8Y(img,y0,y1,y) cimg_for_in8((img)._height,y0,y1,y) |
1108 | +#define cimg_for_in8Z(img,z0,z1,z) cimg_for_in8((img)._depth,z0,z1,z) |
1109 | +#define cimg_for_in8C(img,c0,c1,c) cimg_for_in8((img)._spectrum,c0,c1,c) |
1110 | +#define cimg_for_in8XY(img,x0,y0,x1,y1,x,y) cimg_for_in8Y(img,y0,y1,y) cimg_for_in8X(img,x0,x1,x) |
1111 | +#define cimg_for_in8XZ(img,x0,z0,x1,z1,x,z) cimg_for_in8Z(img,z0,z1,z) cimg_for_in8X(img,x0,x1,x) |
1112 | +#define cimg_for_in8XC(img,x0,c0,x1,c1,x,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8X(img,x0,x1,x) |
1113 | +#define cimg_for_in8YZ(img,y0,z0,y1,z1,y,z) cimg_for_in8Z(img,z0,z1,z) cimg_for_in8Y(img,y0,y1,y) |
1114 | +#define cimg_for_in8YC(img,y0,c0,y1,c1,y,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8Y(img,y0,y1,y) |
1115 | +#define cimg_for_in8ZC(img,z0,c0,z1,c1,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8Z(img,z0,z1,z) |
1116 | +#define cimg_for_in8XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in8Z(img,z0,z1,z) cimg_for_in8XY(img,x0,y0,x1,y1,x,y) |
1117 | +#define cimg_for_in8XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8XZ(img,x0,y0,x1,y1,x,z) |
1118 | +#define cimg_for_in8YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8YZ(img,y0,z0,y1,z1,y,z) |
1119 | +#define cimg_for_in8XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
1120 | + |
1121 | +#define cimg_for9(bound,i) \ |
1122 | + for (int i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \ |
1123 | + _n1##i = 1>=(int)(bound)?(int)(bound)-1:1, \ |
1124 | + _n2##i = 2>=(int)(bound)?(int)(bound)-1:2, \ |
1125 | + _n3##i = 3>=(int)(bound)?(int)(bound)-1:3, \ |
1126 | + _n4##i = 4>=(int)(bound)?(int)(bound)-1:4; \ |
1127 | + _n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \ |
1128 | + i==(_n4##i = _n3##i = _n2##i = --_n1##i); \ |
1129 | + _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i) |
1130 | +#define cimg_for9X(img,x) cimg_for9((img)._width,x) |
1131 | +#define cimg_for9Y(img,y) cimg_for9((img)._height,y) |
1132 | +#define cimg_for9Z(img,z) cimg_for9((img)._depth,z) |
1133 | +#define cimg_for9C(img,c) cimg_for9((img)._spectrum,c) |
1134 | +#define cimg_for9XY(img,x,y) cimg_for9Y(img,y) cimg_for9X(img,x) |
1135 | +#define cimg_for9XZ(img,x,z) cimg_for9Z(img,z) cimg_for9X(img,x) |
1136 | +#define cimg_for9XC(img,x,c) cimg_for9C(img,c) cimg_for9X(img,x) |
1137 | +#define cimg_for9YZ(img,y,z) cimg_for9Z(img,z) cimg_for9Y(img,y) |
1138 | +#define cimg_for9YC(img,y,c) cimg_for9C(img,c) cimg_for9Y(img,y) |
1139 | +#define cimg_for9ZC(img,z,c) cimg_for9C(img,c) cimg_for9Z(img,z) |
1140 | +#define cimg_for9XYZ(img,x,y,z) cimg_for9Z(img,z) cimg_for9XY(img,x,y) |
1141 | +#define cimg_for9XZC(img,x,z,c) cimg_for9C(img,c) cimg_for9XZ(img,x,z) |
1142 | +#define cimg_for9YZC(img,y,z,c) cimg_for9C(img,c) cimg_for9YZ(img,y,z) |
1143 | +#define cimg_for9XYZC(img,x,y,z,c) cimg_for9C(img,c) cimg_for9XYZ(img,x,y,z) |
1144 | + |
1145 | +#define cimg_for_in9(bound,i0,i1,i) \ |
1146 | + for (int i = (int)(i0)<0?0:(int)(i0), \ |
1147 | + _p4##i = i-4<0?0:i-4, \ |
1148 | + _p3##i = i-3<0?0:i-3, \ |
1149 | + _p2##i = i-2<0?0:i-2, \ |
1150 | + _p1##i = i-1<0?0:i-1, \ |
1151 | + _n1##i = i+1>=(int)(bound)?(int)(bound)-1:i+1, \ |
1152 | + _n2##i = i+2>=(int)(bound)?(int)(bound)-1:i+2, \ |
1153 | + _n3##i = i+3>=(int)(bound)?(int)(bound)-1:i+3, \ |
1154 | + _n4##i = i+4>=(int)(bound)?(int)(bound)-1:i+4; \ |
1155 | + i<=(int)(i1) && (_n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \ |
1156 | + i==(_n4##i = _n3##i = _n2##i = --_n1##i)); \ |
1157 | + _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i) |
1158 | +#define cimg_for_in9X(img,x0,x1,x) cimg_for_in9((img)._width,x0,x1,x) |
1159 | +#define cimg_for_in9Y(img,y0,y1,y) cimg_for_in9((img)._height,y0,y1,y) |
1160 | +#define cimg_for_in9Z(img,z0,z1,z) cimg_for_in9((img)._depth,z0,z1,z) |
1161 | +#define cimg_for_in9C(img,c0,c1,c) cimg_for_in9((img)._spectrum,c0,c1,c) |
1162 | +#define cimg_for_in9XY(img,x0,y0,x1,y1,x,y) cimg_for_in9Y(img,y0,y1,y) cimg_for_in9X(img,x0,x1,x) |
1163 | +#define cimg_for_in9XZ(img,x0,z0,x1,z1,x,z) cimg_for_in9Z(img,z0,z1,z) cimg_for_in9X(img,x0,x1,x) |
1164 | +#define cimg_for_in9XC(img,x0,c0,x1,c1,x,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9X(img,x0,x1,x) |
1165 | +#define cimg_for_in9YZ(img,y0,z0,y1,z1,y,z) cimg_for_in9Z(img,z0,z1,z) cimg_for_in9Y(img,y0,y1,y) |
1166 | +#define cimg_for_in9YC(img,y0,c0,y1,c1,y,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9Y(img,y0,y1,y) |
1167 | +#define cimg_for_in9ZC(img,z0,c0,z1,c1,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9Z(img,z0,z1,z) |
1168 | +#define cimg_for_in9XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in9Z(img,z0,z1,z) cimg_for_in9XY(img,x0,y0,x1,y1,x,y) |
1169 | +#define cimg_for_in9XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9XZ(img,x0,y0,x1,y1,x,z) |
1170 | +#define cimg_for_in9YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9YZ(img,y0,z0,y1,z1,y,z) |
1171 | +#define cimg_for_in9XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) |
1172 | + |
1173 | +#define cimg_for2x2(img,x,y,z,c,I,T) \ |
1174 | + cimg_for2((img)._height,y) for (int x = 0, \ |
1175 | + _n1##x = (int)( \ |
1176 | + (I[0] = (T)(img)(0,y,z,c)), \ |
1177 | + (I[2] = (T)(img)(0,_n1##y,z,c)), \ |
1178 | + 1>=(img)._width?(img).width()-1:1); \ |
1179 | + (_n1##x<(img).width() && ( \ |
1180 | + (I[1] = (T)(img)(_n1##x,y,z,c)), \ |
1181 | + (I[3] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \ |
1182 | + x==--_n1##x; \ |
1183 | + I[0] = I[1], \ |
1184 | + I[2] = I[3], \ |
1185 | + ++x, ++_n1##x) |
1186 | + |
1187 | +#define cimg_for_in2x2(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1188 | + cimg_for_in2((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1189 | + _n1##x = (int)( \ |
1190 | + (I[0] = (T)(img)(x,y,z,c)), \ |
1191 | + (I[2] = (T)(img)(x,_n1##y,z,c)), \ |
1192 | + x+1>=(int)(img)._width?(img).width()-1:x+1); \ |
1193 | + x<=(int)(x1) && ((_n1##x<(img).width() && ( \ |
1194 | + (I[1] = (T)(img)(_n1##x,y,z,c)), \ |
1195 | + (I[3] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \ |
1196 | + x==--_n1##x); \ |
1197 | + I[0] = I[1], \ |
1198 | + I[2] = I[3], \ |
1199 | + ++x, ++_n1##x) |
1200 | + |
1201 | +#define cimg_for3x3(img,x,y,z,c,I,T) \ |
1202 | + cimg_for3((img)._height,y) for (int x = 0, \ |
1203 | + _p1##x = 0, \ |
1204 | + _n1##x = (int)( \ |
1205 | + (I[0] = I[1] = (T)(img)(0,_p1##y,z,c)), \ |
1206 | + (I[3] = I[4] = (T)(img)(0,y,z,c)), \ |
1207 | + (I[6] = I[7] = (T)(img)(0,_n1##y,z,c)), \ |
1208 | + 1>=(img)._width?(img).width()-1:1); \ |
1209 | + (_n1##x<(img).width() && ( \ |
1210 | + (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1211 | + (I[5] = (T)(img)(_n1##x,y,z,c)), \ |
1212 | + (I[8] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \ |
1213 | + x==--_n1##x; \ |
1214 | + I[0] = I[1], I[1] = I[2], \ |
1215 | + I[3] = I[4], I[4] = I[5], \ |
1216 | + I[6] = I[7], I[7] = I[8], \ |
1217 | + _p1##x = x++, ++_n1##x) |
1218 | + |
1219 | +#define cimg_for_in3x3(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1220 | + cimg_for_in3((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1221 | + _p1##x = x-1<0?0:x-1, \ |
1222 | + _n1##x = (int)( \ |
1223 | + (I[0] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1224 | + (I[3] = (T)(img)(_p1##x,y,z,c)), \ |
1225 | + (I[6] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1226 | + (I[1] = (T)(img)(x,_p1##y,z,c)), \ |
1227 | + (I[4] = (T)(img)(x,y,z,c)), \ |
1228 | + (I[7] = (T)(img)(x,_n1##y,z,c)), \ |
1229 | + x+1>=(int)(img)._width?(img).width()-1:x+1); \ |
1230 | + x<=(int)(x1) && ((_n1##x<(img).width() && ( \ |
1231 | + (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1232 | + (I[5] = (T)(img)(_n1##x,y,z,c)), \ |
1233 | + (I[8] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \ |
1234 | + x==--_n1##x); \ |
1235 | + I[0] = I[1], I[1] = I[2], \ |
1236 | + I[3] = I[4], I[4] = I[5], \ |
1237 | + I[6] = I[7], I[7] = I[8], \ |
1238 | + _p1##x = x++, ++_n1##x) |
1239 | + |
1240 | +#define cimg_for4x4(img,x,y,z,c,I,T) \ |
1241 | + cimg_for4((img)._height,y) for (int x = 0, \ |
1242 | + _p1##x = 0, \ |
1243 | + _n1##x = 1>=(img)._width?(img).width()-1:1, \ |
1244 | + _n2##x = (int)( \ |
1245 | + (I[0] = I[1] = (T)(img)(0,_p1##y,z,c)), \ |
1246 | + (I[4] = I[5] = (T)(img)(0,y,z,c)), \ |
1247 | + (I[8] = I[9] = (T)(img)(0,_n1##y,z,c)), \ |
1248 | + (I[12] = I[13] = (T)(img)(0,_n2##y,z,c)), \ |
1249 | + (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1250 | + (I[6] = (T)(img)(_n1##x,y,z,c)), \ |
1251 | + (I[10] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1252 | + (I[14] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1253 | + 2>=(img)._width?(img).width()-1:2); \ |
1254 | + (_n2##x<(img).width() && ( \ |
1255 | + (I[3] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1256 | + (I[7] = (T)(img)(_n2##x,y,z,c)), \ |
1257 | + (I[11] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1258 | + (I[15] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \ |
1259 | + _n1##x==--_n2##x || x==(_n2##x = --_n1##x); \ |
1260 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], \ |
1261 | + I[4] = I[5], I[5] = I[6], I[6] = I[7], \ |
1262 | + I[8] = I[9], I[9] = I[10], I[10] = I[11], \ |
1263 | + I[12] = I[13], I[13] = I[14], I[14] = I[15], \ |
1264 | + _p1##x = x++, ++_n1##x, ++_n2##x) |
1265 | + |
1266 | +#define cimg_for_in4x4(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1267 | + cimg_for_in4((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1268 | + _p1##x = x-1<0?0:x-1, \ |
1269 | + _n1##x = x+1>=(int)(img)._width?(img).width()-1:x+1, \ |
1270 | + _n2##x = (int)( \ |
1271 | + (I[0] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1272 | + (I[4] = (T)(img)(_p1##x,y,z,c)), \ |
1273 | + (I[8] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1274 | + (I[12] = (T)(img)(_p1##x,_n2##y,z,c)), \ |
1275 | + (I[1] = (T)(img)(x,_p1##y,z,c)), \ |
1276 | + (I[5] = (T)(img)(x,y,z,c)), \ |
1277 | + (I[9] = (T)(img)(x,_n1##y,z,c)), \ |
1278 | + (I[13] = (T)(img)(x,_n2##y,z,c)), \ |
1279 | + (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1280 | + (I[6] = (T)(img)(_n1##x,y,z,c)), \ |
1281 | + (I[10] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1282 | + (I[14] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1283 | + x+2>=(int)(img)._width?(img).width()-1:x+2); \ |
1284 | + x<=(int)(x1) && ((_n2##x<(img).width() && ( \ |
1285 | + (I[3] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1286 | + (I[7] = (T)(img)(_n2##x,y,z,c)), \ |
1287 | + (I[11] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1288 | + (I[15] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \ |
1289 | + _n1##x==--_n2##x || x==(_n2##x = --_n1##x)); \ |
1290 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], \ |
1291 | + I[4] = I[5], I[5] = I[6], I[6] = I[7], \ |
1292 | + I[8] = I[9], I[9] = I[10], I[10] = I[11], \ |
1293 | + I[12] = I[13], I[13] = I[14], I[14] = I[15], \ |
1294 | + _p1##x = x++, ++_n1##x, ++_n2##x) |
1295 | + |
1296 | +#define cimg_for5x5(img,x,y,z,c,I,T) \ |
1297 | + cimg_for5((img)._height,y) for (int x = 0, \ |
1298 | + _p2##x = 0, _p1##x = 0, \ |
1299 | + _n1##x = 1>=(img)._width?(img).width()-1:1, \ |
1300 | + _n2##x = (int)( \ |
1301 | + (I[0] = I[1] = I[2] = (T)(img)(0,_p2##y,z,c)), \ |
1302 | + (I[5] = I[6] = I[7] = (T)(img)(0,_p1##y,z,c)), \ |
1303 | + (I[10] = I[11] = I[12] = (T)(img)(0,y,z,c)), \ |
1304 | + (I[15] = I[16] = I[17] = (T)(img)(0,_n1##y,z,c)), \ |
1305 | + (I[20] = I[21] = I[22] = (T)(img)(0,_n2##y,z,c)), \ |
1306 | + (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1307 | + (I[8] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1308 | + (I[13] = (T)(img)(_n1##x,y,z,c)), \ |
1309 | + (I[18] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1310 | + (I[23] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1311 | + 2>=(img)._width?(img).width()-1:2); \ |
1312 | + (_n2##x<(img).width() && ( \ |
1313 | + (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1314 | + (I[9] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1315 | + (I[14] = (T)(img)(_n2##x,y,z,c)), \ |
1316 | + (I[19] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1317 | + (I[24] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \ |
1318 | + _n1##x==--_n2##x || x==(_n2##x = --_n1##x); \ |
1319 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], \ |
1320 | + I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \ |
1321 | + I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \ |
1322 | + I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \ |
1323 | + I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \ |
1324 | + _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x) |
1325 | + |
1326 | +#define cimg_for_in5x5(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1327 | + cimg_for_in5((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1328 | + _p2##x = x-2<0?0:x-2, \ |
1329 | + _p1##x = x-1<0?0:x-1, \ |
1330 | + _n1##x = x+1>=(int)(img)._width?(img).width()-1:x+1, \ |
1331 | + _n2##x = (int)( \ |
1332 | + (I[0] = (T)(img)(_p2##x,_p2##y,z,c)), \ |
1333 | + (I[5] = (T)(img)(_p2##x,_p1##y,z,c)), \ |
1334 | + (I[10] = (T)(img)(_p2##x,y,z,c)), \ |
1335 | + (I[15] = (T)(img)(_p2##x,_n1##y,z,c)), \ |
1336 | + (I[20] = (T)(img)(_p2##x,_n2##y,z,c)), \ |
1337 | + (I[1] = (T)(img)(_p1##x,_p2##y,z,c)), \ |
1338 | + (I[6] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1339 | + (I[11] = (T)(img)(_p1##x,y,z,c)), \ |
1340 | + (I[16] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1341 | + (I[21] = (T)(img)(_p1##x,_n2##y,z,c)), \ |
1342 | + (I[2] = (T)(img)(x,_p2##y,z,c)), \ |
1343 | + (I[7] = (T)(img)(x,_p1##y,z,c)), \ |
1344 | + (I[12] = (T)(img)(x,y,z,c)), \ |
1345 | + (I[17] = (T)(img)(x,_n1##y,z,c)), \ |
1346 | + (I[22] = (T)(img)(x,_n2##y,z,c)), \ |
1347 | + (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1348 | + (I[8] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1349 | + (I[13] = (T)(img)(_n1##x,y,z,c)), \ |
1350 | + (I[18] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1351 | + (I[23] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1352 | + x+2>=(int)(img)._width?(img).width()-1:x+2); \ |
1353 | + x<=(int)(x1) && ((_n2##x<(img).width() && ( \ |
1354 | + (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1355 | + (I[9] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1356 | + (I[14] = (T)(img)(_n2##x,y,z,c)), \ |
1357 | + (I[19] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1358 | + (I[24] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \ |
1359 | + _n1##x==--_n2##x || x==(_n2##x = --_n1##x)); \ |
1360 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], \ |
1361 | + I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \ |
1362 | + I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \ |
1363 | + I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \ |
1364 | + I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \ |
1365 | + _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x) |
1366 | + |
1367 | +#define cimg_for6x6(img,x,y,z,c,I,T) \ |
1368 | + cimg_for6((img)._height,y) for (int x = 0, \ |
1369 | + _p2##x = 0, _p1##x = 0, \ |
1370 | + _n1##x = 1>=(img)._width?(img).width()-1:1, \ |
1371 | + _n2##x = 2>=(img)._width?(img).width()-1:2, \ |
1372 | + _n3##x = (int)( \ |
1373 | + (I[0] = I[1] = I[2] = (T)(img)(0,_p2##y,z,c)), \ |
1374 | + (I[6] = I[7] = I[8] = (T)(img)(0,_p1##y,z,c)), \ |
1375 | + (I[12] = I[13] = I[14] = (T)(img)(0,y,z,c)), \ |
1376 | + (I[18] = I[19] = I[20] = (T)(img)(0,_n1##y,z,c)), \ |
1377 | + (I[24] = I[25] = I[26] = (T)(img)(0,_n2##y,z,c)), \ |
1378 | + (I[30] = I[31] = I[32] = (T)(img)(0,_n3##y,z,c)), \ |
1379 | + (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1380 | + (I[9] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1381 | + (I[15] = (T)(img)(_n1##x,y,z,c)), \ |
1382 | + (I[21] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1383 | + (I[27] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1384 | + (I[33] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1385 | + (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1386 | + (I[10] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1387 | + (I[16] = (T)(img)(_n2##x,y,z,c)), \ |
1388 | + (I[22] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1389 | + (I[28] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1390 | + (I[34] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1391 | + 3>=(img)._width?(img).width()-1:3); \ |
1392 | + (_n3##x<(img).width() && ( \ |
1393 | + (I[5] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1394 | + (I[11] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1395 | + (I[17] = (T)(img)(_n3##x,y,z,c)), \ |
1396 | + (I[23] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1397 | + (I[29] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1398 | + (I[35] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \ |
1399 | + _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3## x = _n2##x = --_n1##x); \ |
1400 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], \ |
1401 | + I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \ |
1402 | + I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \ |
1403 | + I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \ |
1404 | + I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \ |
1405 | + I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \ |
1406 | + _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x) |
1407 | + |
1408 | +#define cimg_for_in6x6(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1409 | + cimg_for_in6((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)x0, \ |
1410 | + _p2##x = x-2<0?0:x-2, \ |
1411 | + _p1##x = x-1<0?0:x-1, \ |
1412 | + _n1##x = x+1>=(int)(img)._width?(img).width()-1:x+1, \ |
1413 | + _n2##x = x+2>=(int)(img)._width?(img).width()-1:x+2, \ |
1414 | + _n3##x = (int)( \ |
1415 | + (I[0] = (T)(img)(_p2##x,_p2##y,z,c)), \ |
1416 | + (I[6] = (T)(img)(_p2##x,_p1##y,z,c)), \ |
1417 | + (I[12] = (T)(img)(_p2##x,y,z,c)), \ |
1418 | + (I[18] = (T)(img)(_p2##x,_n1##y,z,c)), \ |
1419 | + (I[24] = (T)(img)(_p2##x,_n2##y,z,c)), \ |
1420 | + (I[30] = (T)(img)(_p2##x,_n3##y,z,c)), \ |
1421 | + (I[1] = (T)(img)(_p1##x,_p2##y,z,c)), \ |
1422 | + (I[7] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1423 | + (I[13] = (T)(img)(_p1##x,y,z,c)), \ |
1424 | + (I[19] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1425 | + (I[25] = (T)(img)(_p1##x,_n2##y,z,c)), \ |
1426 | + (I[31] = (T)(img)(_p1##x,_n3##y,z,c)), \ |
1427 | + (I[2] = (T)(img)(x,_p2##y,z,c)), \ |
1428 | + (I[8] = (T)(img)(x,_p1##y,z,c)), \ |
1429 | + (I[14] = (T)(img)(x,y,z,c)), \ |
1430 | + (I[20] = (T)(img)(x,_n1##y,z,c)), \ |
1431 | + (I[26] = (T)(img)(x,_n2##y,z,c)), \ |
1432 | + (I[32] = (T)(img)(x,_n3##y,z,c)), \ |
1433 | + (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1434 | + (I[9] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1435 | + (I[15] = (T)(img)(_n1##x,y,z,c)), \ |
1436 | + (I[21] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1437 | + (I[27] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1438 | + (I[33] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1439 | + (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1440 | + (I[10] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1441 | + (I[16] = (T)(img)(_n2##x,y,z,c)), \ |
1442 | + (I[22] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1443 | + (I[28] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1444 | + (I[34] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1445 | + x+3>=(int)(img)._width?(img).width()-1:x+3); \ |
1446 | + x<=(int)(x1) && ((_n3##x<(img).width() && ( \ |
1447 | + (I[5] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1448 | + (I[11] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1449 | + (I[17] = (T)(img)(_n3##x,y,z,c)), \ |
1450 | + (I[23] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1451 | + (I[29] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1452 | + (I[35] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \ |
1453 | + _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3## x = _n2##x = --_n1##x)); \ |
1454 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], \ |
1455 | + I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \ |
1456 | + I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \ |
1457 | + I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \ |
1458 | + I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \ |
1459 | + I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \ |
1460 | + _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x) |
1461 | + |
1462 | +#define cimg_for7x7(img,x,y,z,c,I,T) \ |
1463 | + cimg_for7((img)._height,y) for (int x = 0, \ |
1464 | + _p3##x = 0, _p2##x = 0, _p1##x = 0, \ |
1465 | + _n1##x = 1>=(img)._width?(img).width()-1:1, \ |
1466 | + _n2##x = 2>=(img)._width?(img).width()-1:2, \ |
1467 | + _n3##x = (int)( \ |
1468 | + (I[0] = I[1] = I[2] = I[3] = (T)(img)(0,_p3##y,z,c)), \ |
1469 | + (I[7] = I[8] = I[9] = I[10] = (T)(img)(0,_p2##y,z,c)), \ |
1470 | + (I[14] = I[15] = I[16] = I[17] = (T)(img)(0,_p1##y,z,c)), \ |
1471 | + (I[21] = I[22] = I[23] = I[24] = (T)(img)(0,y,z,c)), \ |
1472 | + (I[28] = I[29] = I[30] = I[31] = (T)(img)(0,_n1##y,z,c)), \ |
1473 | + (I[35] = I[36] = I[37] = I[38] = (T)(img)(0,_n2##y,z,c)), \ |
1474 | + (I[42] = I[43] = I[44] = I[45] = (T)(img)(0,_n3##y,z,c)), \ |
1475 | + (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \ |
1476 | + (I[11] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1477 | + (I[18] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1478 | + (I[25] = (T)(img)(_n1##x,y,z,c)), \ |
1479 | + (I[32] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1480 | + (I[39] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1481 | + (I[46] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1482 | + (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \ |
1483 | + (I[12] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1484 | + (I[19] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1485 | + (I[26] = (T)(img)(_n2##x,y,z,c)), \ |
1486 | + (I[33] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1487 | + (I[40] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1488 | + (I[47] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1489 | + 3>=(img)._width?(img).width()-1:3); \ |
1490 | + (_n3##x<(img).width() && ( \ |
1491 | + (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \ |
1492 | + (I[13] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1493 | + (I[20] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1494 | + (I[27] = (T)(img)(_n3##x,y,z,c)), \ |
1495 | + (I[34] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1496 | + (I[41] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1497 | + (I[48] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \ |
1498 | + _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x); \ |
1499 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], \ |
1500 | + I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \ |
1501 | + I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \ |
1502 | + I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \ |
1503 | + I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \ |
1504 | + I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \ |
1505 | + I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], \ |
1506 | + _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x) |
1507 | + |
1508 | +#define cimg_for_in7x7(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1509 | + cimg_for_in7((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1510 | + _p3##x = x-3<0?0:x-3, \ |
1511 | + _p2##x = x-2<0?0:x-2, \ |
1512 | + _p1##x = x-1<0?0:x-1, \ |
1513 | + _n1##x = x+1>=(int)(img)._width?(img).width()-1:x+1, \ |
1514 | + _n2##x = x+2>=(int)(img)._width?(img).width()-1:x+2, \ |
1515 | + _n3##x = (int)( \ |
1516 | + (I[0] = (T)(img)(_p3##x,_p3##y,z,c)), \ |
1517 | + (I[7] = (T)(img)(_p3##x,_p2##y,z,c)), \ |
1518 | + (I[14] = (T)(img)(_p3##x,_p1##y,z,c)), \ |
1519 | + (I[21] = (T)(img)(_p3##x,y,z,c)), \ |
1520 | + (I[28] = (T)(img)(_p3##x,_n1##y,z,c)), \ |
1521 | + (I[35] = (T)(img)(_p3##x,_n2##y,z,c)), \ |
1522 | + (I[42] = (T)(img)(_p3##x,_n3##y,z,c)), \ |
1523 | + (I[1] = (T)(img)(_p2##x,_p3##y,z,c)), \ |
1524 | + (I[8] = (T)(img)(_p2##x,_p2##y,z,c)), \ |
1525 | + (I[15] = (T)(img)(_p2##x,_p1##y,z,c)), \ |
1526 | + (I[22] = (T)(img)(_p2##x,y,z,c)), \ |
1527 | + (I[29] = (T)(img)(_p2##x,_n1##y,z,c)), \ |
1528 | + (I[36] = (T)(img)(_p2##x,_n2##y,z,c)), \ |
1529 | + (I[43] = (T)(img)(_p2##x,_n3##y,z,c)), \ |
1530 | + (I[2] = (T)(img)(_p1##x,_p3##y,z,c)), \ |
1531 | + (I[9] = (T)(img)(_p1##x,_p2##y,z,c)), \ |
1532 | + (I[16] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1533 | + (I[23] = (T)(img)(_p1##x,y,z,c)), \ |
1534 | + (I[30] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1535 | + (I[37] = (T)(img)(_p1##x,_n2##y,z,c)), \ |
1536 | + (I[44] = (T)(img)(_p1##x,_n3##y,z,c)), \ |
1537 | + (I[3] = (T)(img)(x,_p3##y,z,c)), \ |
1538 | + (I[10] = (T)(img)(x,_p2##y,z,c)), \ |
1539 | + (I[17] = (T)(img)(x,_p1##y,z,c)), \ |
1540 | + (I[24] = (T)(img)(x,y,z,c)), \ |
1541 | + (I[31] = (T)(img)(x,_n1##y,z,c)), \ |
1542 | + (I[38] = (T)(img)(x,_n2##y,z,c)), \ |
1543 | + (I[45] = (T)(img)(x,_n3##y,z,c)), \ |
1544 | + (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \ |
1545 | + (I[11] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1546 | + (I[18] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1547 | + (I[25] = (T)(img)(_n1##x,y,z,c)), \ |
1548 | + (I[32] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1549 | + (I[39] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1550 | + (I[46] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1551 | + (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \ |
1552 | + (I[12] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1553 | + (I[19] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1554 | + (I[26] = (T)(img)(_n2##x,y,z,c)), \ |
1555 | + (I[33] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1556 | + (I[40] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1557 | + (I[47] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1558 | + x+3>=(int)(img)._width?(img).width()-1:x+3); \ |
1559 | + x<=(int)(x1) && ((_n3##x<(img).width() && ( \ |
1560 | + (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \ |
1561 | + (I[13] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1562 | + (I[20] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1563 | + (I[27] = (T)(img)(_n3##x,y,z,c)), \ |
1564 | + (I[34] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1565 | + (I[41] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1566 | + (I[48] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \ |
1567 | + _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x)); \ |
1568 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], \ |
1569 | + I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \ |
1570 | + I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \ |
1571 | + I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \ |
1572 | + I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \ |
1573 | + I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \ |
1574 | + I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], \ |
1575 | + _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x) |
1576 | + |
1577 | +#define cimg_for8x8(img,x,y,z,c,I,T) \ |
1578 | + cimg_for8((img)._height,y) for (int x = 0, \ |
1579 | + _p3##x = 0, _p2##x = 0, _p1##x = 0, \ |
1580 | + _n1##x = 1>=((img)._width)?(img).width()-1:1, \ |
1581 | + _n2##x = 2>=((img)._width)?(img).width()-1:2, \ |
1582 | + _n3##x = 3>=((img)._width)?(img).width()-1:3, \ |
1583 | + _n4##x = (int)( \ |
1584 | + (I[0] = I[1] = I[2] = I[3] = (T)(img)(0,_p3##y,z,c)), \ |
1585 | + (I[8] = I[9] = I[10] = I[11] = (T)(img)(0,_p2##y,z,c)), \ |
1586 | + (I[16] = I[17] = I[18] = I[19] = (T)(img)(0,_p1##y,z,c)), \ |
1587 | + (I[24] = I[25] = I[26] = I[27] = (T)(img)(0,y,z,c)), \ |
1588 | + (I[32] = I[33] = I[34] = I[35] = (T)(img)(0,_n1##y,z,c)), \ |
1589 | + (I[40] = I[41] = I[42] = I[43] = (T)(img)(0,_n2##y,z,c)), \ |
1590 | + (I[48] = I[49] = I[50] = I[51] = (T)(img)(0,_n3##y,z,c)), \ |
1591 | + (I[56] = I[57] = I[58] = I[59] = (T)(img)(0,_n4##y,z,c)), \ |
1592 | + (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \ |
1593 | + (I[12] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1594 | + (I[20] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1595 | + (I[28] = (T)(img)(_n1##x,y,z,c)), \ |
1596 | + (I[36] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1597 | + (I[44] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1598 | + (I[52] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1599 | + (I[60] = (T)(img)(_n1##x,_n4##y,z,c)), \ |
1600 | + (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \ |
1601 | + (I[13] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1602 | + (I[21] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1603 | + (I[29] = (T)(img)(_n2##x,y,z,c)), \ |
1604 | + (I[37] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1605 | + (I[45] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1606 | + (I[53] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1607 | + (I[61] = (T)(img)(_n2##x,_n4##y,z,c)), \ |
1608 | + (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \ |
1609 | + (I[14] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1610 | + (I[22] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1611 | + (I[30] = (T)(img)(_n3##x,y,z,c)), \ |
1612 | + (I[38] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1613 | + (I[46] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1614 | + (I[54] = (T)(img)(_n3##x,_n3##y,z,c)), \ |
1615 | + (I[62] = (T)(img)(_n3##x,_n4##y,z,c)), \ |
1616 | + 4>=((img)._width)?(img).width()-1:4); \ |
1617 | + (_n4##x<(img).width() && ( \ |
1618 | + (I[7] = (T)(img)(_n4##x,_p3##y,z,c)), \ |
1619 | + (I[15] = (T)(img)(_n4##x,_p2##y,z,c)), \ |
1620 | + (I[23] = (T)(img)(_n4##x,_p1##y,z,c)), \ |
1621 | + (I[31] = (T)(img)(_n4##x,y,z,c)), \ |
1622 | + (I[39] = (T)(img)(_n4##x,_n1##y,z,c)), \ |
1623 | + (I[47] = (T)(img)(_n4##x,_n2##y,z,c)), \ |
1624 | + (I[55] = (T)(img)(_n4##x,_n3##y,z,c)), \ |
1625 | + (I[63] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \ |
1626 | + _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x); \ |
1627 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], \ |
1628 | + I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \ |
1629 | + I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \ |
1630 | + I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \ |
1631 | + I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \ |
1632 | + I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \ |
1633 | + I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \ |
1634 | + I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \ |
1635 | + _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x) |
1636 | + |
1637 | +#define cimg_for_in8x8(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1638 | + cimg_for_in8((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1639 | + _p3##x = x-3<0?0:x-3, \ |
1640 | + _p2##x = x-2<0?0:x-2, \ |
1641 | + _p1##x = x-1<0?0:x-1, \ |
1642 | + _n1##x = x+1>=(img).width()?(img).width()-1:x+1, \ |
1643 | + _n2##x = x+2>=(img).width()?(img).width()-1:x+2, \ |
1644 | + _n3##x = x+3>=(img).width()?(img).width()-1:x+3, \ |
1645 | + _n4##x = (int)( \ |
1646 | + (I[0] = (T)(img)(_p3##x,_p3##y,z,c)), \ |
1647 | + (I[8] = (T)(img)(_p3##x,_p2##y,z,c)), \ |
1648 | + (I[16] = (T)(img)(_p3##x,_p1##y,z,c)), \ |
1649 | + (I[24] = (T)(img)(_p3##x,y,z,c)), \ |
1650 | + (I[32] = (T)(img)(_p3##x,_n1##y,z,c)), \ |
1651 | + (I[40] = (T)(img)(_p3##x,_n2##y,z,c)), \ |
1652 | + (I[48] = (T)(img)(_p3##x,_n3##y,z,c)), \ |
1653 | + (I[56] = (T)(img)(_p3##x,_n4##y,z,c)), \ |
1654 | + (I[1] = (T)(img)(_p2##x,_p3##y,z,c)), \ |
1655 | + (I[9] = (T)(img)(_p2##x,_p2##y,z,c)), \ |
1656 | + (I[17] = (T)(img)(_p2##x,_p1##y,z,c)), \ |
1657 | + (I[25] = (T)(img)(_p2##x,y,z,c)), \ |
1658 | + (I[33] = (T)(img)(_p2##x,_n1##y,z,c)), \ |
1659 | + (I[41] = (T)(img)(_p2##x,_n2##y,z,c)), \ |
1660 | + (I[49] = (T)(img)(_p2##x,_n3##y,z,c)), \ |
1661 | + (I[57] = (T)(img)(_p2##x,_n4##y,z,c)), \ |
1662 | + (I[2] = (T)(img)(_p1##x,_p3##y,z,c)), \ |
1663 | + (I[10] = (T)(img)(_p1##x,_p2##y,z,c)), \ |
1664 | + (I[18] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1665 | + (I[26] = (T)(img)(_p1##x,y,z,c)), \ |
1666 | + (I[34] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1667 | + (I[42] = (T)(img)(_p1##x,_n2##y,z,c)), \ |
1668 | + (I[50] = (T)(img)(_p1##x,_n3##y,z,c)), \ |
1669 | + (I[58] = (T)(img)(_p1##x,_n4##y,z,c)), \ |
1670 | + (I[3] = (T)(img)(x,_p3##y,z,c)), \ |
1671 | + (I[11] = (T)(img)(x,_p2##y,z,c)), \ |
1672 | + (I[19] = (T)(img)(x,_p1##y,z,c)), \ |
1673 | + (I[27] = (T)(img)(x,y,z,c)), \ |
1674 | + (I[35] = (T)(img)(x,_n1##y,z,c)), \ |
1675 | + (I[43] = (T)(img)(x,_n2##y,z,c)), \ |
1676 | + (I[51] = (T)(img)(x,_n3##y,z,c)), \ |
1677 | + (I[59] = (T)(img)(x,_n4##y,z,c)), \ |
1678 | + (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \ |
1679 | + (I[12] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1680 | + (I[20] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1681 | + (I[28] = (T)(img)(_n1##x,y,z,c)), \ |
1682 | + (I[36] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1683 | + (I[44] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1684 | + (I[52] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1685 | + (I[60] = (T)(img)(_n1##x,_n4##y,z,c)), \ |
1686 | + (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \ |
1687 | + (I[13] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1688 | + (I[21] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1689 | + (I[29] = (T)(img)(_n2##x,y,z,c)), \ |
1690 | + (I[37] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1691 | + (I[45] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1692 | + (I[53] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1693 | + (I[61] = (T)(img)(_n2##x,_n4##y,z,c)), \ |
1694 | + (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \ |
1695 | + (I[14] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1696 | + (I[22] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1697 | + (I[30] = (T)(img)(_n3##x,y,z,c)), \ |
1698 | + (I[38] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1699 | + (I[46] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1700 | + (I[54] = (T)(img)(_n3##x,_n3##y,z,c)), \ |
1701 | + (I[62] = (T)(img)(_n3##x,_n4##y,z,c)), \ |
1702 | + x+4>=(img).width()?(img).width()-1:x+4); \ |
1703 | + x<=(int)(x1) && ((_n4##x<(img).width() && ( \ |
1704 | + (I[7] = (T)(img)(_n4##x,_p3##y,z,c)), \ |
1705 | + (I[15] = (T)(img)(_n4##x,_p2##y,z,c)), \ |
1706 | + (I[23] = (T)(img)(_n4##x,_p1##y,z,c)), \ |
1707 | + (I[31] = (T)(img)(_n4##x,y,z,c)), \ |
1708 | + (I[39] = (T)(img)(_n4##x,_n1##y,z,c)), \ |
1709 | + (I[47] = (T)(img)(_n4##x,_n2##y,z,c)), \ |
1710 | + (I[55] = (T)(img)(_n4##x,_n3##y,z,c)), \ |
1711 | + (I[63] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \ |
1712 | + _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x)); \ |
1713 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], \ |
1714 | + I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \ |
1715 | + I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \ |
1716 | + I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \ |
1717 | + I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \ |
1718 | + I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \ |
1719 | + I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \ |
1720 | + I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \ |
1721 | + _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x) |
1722 | + |
1723 | +#define cimg_for9x9(img,x,y,z,c,I,T) \ |
1724 | + cimg_for9((img)._height,y) for (int x = 0, \ |
1725 | + _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \ |
1726 | + _n1##x = 1>=((img)._width)?(img).width()-1:1, \ |
1727 | + _n2##x = 2>=((img)._width)?(img).width()-1:2, \ |
1728 | + _n3##x = 3>=((img)._width)?(img).width()-1:3, \ |
1729 | + _n4##x = (int)( \ |
1730 | + (I[0] = I[1] = I[2] = I[3] = I[4] = (T)(img)(0,_p4##y,z,c)), \ |
1731 | + (I[9] = I[10] = I[11] = I[12] = I[13] = (T)(img)(0,_p3##y,z,c)), \ |
1732 | + (I[18] = I[19] = I[20] = I[21] = I[22] = (T)(img)(0,_p2##y,z,c)), \ |
1733 | + (I[27] = I[28] = I[29] = I[30] = I[31] = (T)(img)(0,_p1##y,z,c)), \ |
1734 | + (I[36] = I[37] = I[38] = I[39] = I[40] = (T)(img)(0,y,z,c)), \ |
1735 | + (I[45] = I[46] = I[47] = I[48] = I[49] = (T)(img)(0,_n1##y,z,c)), \ |
1736 | + (I[54] = I[55] = I[56] = I[57] = I[58] = (T)(img)(0,_n2##y,z,c)), \ |
1737 | + (I[63] = I[64] = I[65] = I[66] = I[67] = (T)(img)(0,_n3##y,z,c)), \ |
1738 | + (I[72] = I[73] = I[74] = I[75] = I[76] = (T)(img)(0,_n4##y,z,c)), \ |
1739 | + (I[5] = (T)(img)(_n1##x,_p4##y,z,c)), \ |
1740 | + (I[14] = (T)(img)(_n1##x,_p3##y,z,c)), \ |
1741 | + (I[23] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1742 | + (I[32] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1743 | + (I[41] = (T)(img)(_n1##x,y,z,c)), \ |
1744 | + (I[50] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1745 | + (I[59] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1746 | + (I[68] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1747 | + (I[77] = (T)(img)(_n1##x,_n4##y,z,c)), \ |
1748 | + (I[6] = (T)(img)(_n2##x,_p4##y,z,c)), \ |
1749 | + (I[15] = (T)(img)(_n2##x,_p3##y,z,c)), \ |
1750 | + (I[24] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1751 | + (I[33] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1752 | + (I[42] = (T)(img)(_n2##x,y,z,c)), \ |
1753 | + (I[51] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1754 | + (I[60] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1755 | + (I[69] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1756 | + (I[78] = (T)(img)(_n2##x,_n4##y,z,c)), \ |
1757 | + (I[7] = (T)(img)(_n3##x,_p4##y,z,c)), \ |
1758 | + (I[16] = (T)(img)(_n3##x,_p3##y,z,c)), \ |
1759 | + (I[25] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1760 | + (I[34] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1761 | + (I[43] = (T)(img)(_n3##x,y,z,c)), \ |
1762 | + (I[52] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1763 | + (I[61] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1764 | + (I[70] = (T)(img)(_n3##x,_n3##y,z,c)), \ |
1765 | + (I[79] = (T)(img)(_n3##x,_n4##y,z,c)), \ |
1766 | + 4>=((img)._width)?(img).width()-1:4); \ |
1767 | + (_n4##x<(img).width() && ( \ |
1768 | + (I[8] = (T)(img)(_n4##x,_p4##y,z,c)), \ |
1769 | + (I[17] = (T)(img)(_n4##x,_p3##y,z,c)), \ |
1770 | + (I[26] = (T)(img)(_n4##x,_p2##y,z,c)), \ |
1771 | + (I[35] = (T)(img)(_n4##x,_p1##y,z,c)), \ |
1772 | + (I[44] = (T)(img)(_n4##x,y,z,c)), \ |
1773 | + (I[53] = (T)(img)(_n4##x,_n1##y,z,c)), \ |
1774 | + (I[62] = (T)(img)(_n4##x,_n2##y,z,c)), \ |
1775 | + (I[71] = (T)(img)(_n4##x,_n3##y,z,c)), \ |
1776 | + (I[80] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \ |
1777 | + _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x); \ |
1778 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], \ |
1779 | + I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \ |
1780 | + I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], \ |
1781 | + I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \ |
1782 | + I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], \ |
1783 | + I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \ |
1784 | + I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], \ |
1785 | + I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \ |
1786 | + I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], \ |
1787 | + _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x) |
1788 | + |
1789 | +#define cimg_for_in9x9(img,x0,y0,x1,y1,x,y,z,c,I,T) \ |
1790 | + cimg_for_in9((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1791 | + _p4##x = x-4<0?0:x-4, \ |
1792 | + _p3##x = x-3<0?0:x-3, \ |
1793 | + _p2##x = x-2<0?0:x-2, \ |
1794 | + _p1##x = x-1<0?0:x-1, \ |
1795 | + _n1##x = x+1>=(img).width()?(img).width()-1:x+1, \ |
1796 | + _n2##x = x+2>=(img).width()?(img).width()-1:x+2, \ |
1797 | + _n3##x = x+3>=(img).width()?(img).width()-1:x+3, \ |
1798 | + _n4##x = (int)( \ |
1799 | + (I[0] = (T)(img)(_p4##x,_p4##y,z,c)), \ |
1800 | + (I[9] = (T)(img)(_p4##x,_p3##y,z,c)), \ |
1801 | + (I[18] = (T)(img)(_p4##x,_p2##y,z,c)), \ |
1802 | + (I[27] = (T)(img)(_p4##x,_p1##y,z,c)), \ |
1803 | + (I[36] = (T)(img)(_p4##x,y,z,c)), \ |
1804 | + (I[45] = (T)(img)(_p4##x,_n1##y,z,c)), \ |
1805 | + (I[54] = (T)(img)(_p4##x,_n2##y,z,c)), \ |
1806 | + (I[63] = (T)(img)(_p4##x,_n3##y,z,c)), \ |
1807 | + (I[72] = (T)(img)(_p4##x,_n4##y,z,c)), \ |
1808 | + (I[1] = (T)(img)(_p3##x,_p4##y,z,c)), \ |
1809 | + (I[10] = (T)(img)(_p3##x,_p3##y,z,c)), \ |
1810 | + (I[19] = (T)(img)(_p3##x,_p2##y,z,c)), \ |
1811 | + (I[28] = (T)(img)(_p3##x,_p1##y,z,c)), \ |
1812 | + (I[37] = (T)(img)(_p3##x,y,z,c)), \ |
1813 | + (I[46] = (T)(img)(_p3##x,_n1##y,z,c)), \ |
1814 | + (I[55] = (T)(img)(_p3##x,_n2##y,z,c)), \ |
1815 | + (I[64] = (T)(img)(_p3##x,_n3##y,z,c)), \ |
1816 | + (I[73] = (T)(img)(_p3##x,_n4##y,z,c)), \ |
1817 | + (I[2] = (T)(img)(_p2##x,_p4##y,z,c)), \ |
1818 | + (I[11] = (T)(img)(_p2##x,_p3##y,z,c)), \ |
1819 | + (I[20] = (T)(img)(_p2##x,_p2##y,z,c)), \ |
1820 | + (I[29] = (T)(img)(_p2##x,_p1##y,z,c)), \ |
1821 | + (I[38] = (T)(img)(_p2##x,y,z,c)), \ |
1822 | + (I[47] = (T)(img)(_p2##x,_n1##y,z,c)), \ |
1823 | + (I[56] = (T)(img)(_p2##x,_n2##y,z,c)), \ |
1824 | + (I[65] = (T)(img)(_p2##x,_n3##y,z,c)), \ |
1825 | + (I[74] = (T)(img)(_p2##x,_n4##y,z,c)), \ |
1826 | + (I[3] = (T)(img)(_p1##x,_p4##y,z,c)), \ |
1827 | + (I[12] = (T)(img)(_p1##x,_p3##y,z,c)), \ |
1828 | + (I[21] = (T)(img)(_p1##x,_p2##y,z,c)), \ |
1829 | + (I[30] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1830 | + (I[39] = (T)(img)(_p1##x,y,z,c)), \ |
1831 | + (I[48] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1832 | + (I[57] = (T)(img)(_p1##x,_n2##y,z,c)), \ |
1833 | + (I[66] = (T)(img)(_p1##x,_n3##y,z,c)), \ |
1834 | + (I[75] = (T)(img)(_p1##x,_n4##y,z,c)), \ |
1835 | + (I[4] = (T)(img)(x,_p4##y,z,c)), \ |
1836 | + (I[13] = (T)(img)(x,_p3##y,z,c)), \ |
1837 | + (I[22] = (T)(img)(x,_p2##y,z,c)), \ |
1838 | + (I[31] = (T)(img)(x,_p1##y,z,c)), \ |
1839 | + (I[40] = (T)(img)(x,y,z,c)), \ |
1840 | + (I[49] = (T)(img)(x,_n1##y,z,c)), \ |
1841 | + (I[58] = (T)(img)(x,_n2##y,z,c)), \ |
1842 | + (I[67] = (T)(img)(x,_n3##y,z,c)), \ |
1843 | + (I[76] = (T)(img)(x,_n4##y,z,c)), \ |
1844 | + (I[5] = (T)(img)(_n1##x,_p4##y,z,c)), \ |
1845 | + (I[14] = (T)(img)(_n1##x,_p3##y,z,c)), \ |
1846 | + (I[23] = (T)(img)(_n1##x,_p2##y,z,c)), \ |
1847 | + (I[32] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1848 | + (I[41] = (T)(img)(_n1##x,y,z,c)), \ |
1849 | + (I[50] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1850 | + (I[59] = (T)(img)(_n1##x,_n2##y,z,c)), \ |
1851 | + (I[68] = (T)(img)(_n1##x,_n3##y,z,c)), \ |
1852 | + (I[77] = (T)(img)(_n1##x,_n4##y,z,c)), \ |
1853 | + (I[6] = (T)(img)(_n2##x,_p4##y,z,c)), \ |
1854 | + (I[15] = (T)(img)(_n2##x,_p3##y,z,c)), \ |
1855 | + (I[24] = (T)(img)(_n2##x,_p2##y,z,c)), \ |
1856 | + (I[33] = (T)(img)(_n2##x,_p1##y,z,c)), \ |
1857 | + (I[42] = (T)(img)(_n2##x,y,z,c)), \ |
1858 | + (I[51] = (T)(img)(_n2##x,_n1##y,z,c)), \ |
1859 | + (I[60] = (T)(img)(_n2##x,_n2##y,z,c)), \ |
1860 | + (I[69] = (T)(img)(_n2##x,_n3##y,z,c)), \ |
1861 | + (I[78] = (T)(img)(_n2##x,_n4##y,z,c)), \ |
1862 | + (I[7] = (T)(img)(_n3##x,_p4##y,z,c)), \ |
1863 | + (I[16] = (T)(img)(_n3##x,_p3##y,z,c)), \ |
1864 | + (I[25] = (T)(img)(_n3##x,_p2##y,z,c)), \ |
1865 | + (I[34] = (T)(img)(_n3##x,_p1##y,z,c)), \ |
1866 | + (I[43] = (T)(img)(_n3##x,y,z,c)), \ |
1867 | + (I[52] = (T)(img)(_n3##x,_n1##y,z,c)), \ |
1868 | + (I[61] = (T)(img)(_n3##x,_n2##y,z,c)), \ |
1869 | + (I[70] = (T)(img)(_n3##x,_n3##y,z,c)), \ |
1870 | + (I[79] = (T)(img)(_n3##x,_n4##y,z,c)), \ |
1871 | + x+4>=(img).width()?(img).width()-1:x+4); \ |
1872 | + x<=(int)(x1) && ((_n4##x<(img).width() && ( \ |
1873 | + (I[8] = (T)(img)(_n4##x,_p4##y,z,c)), \ |
1874 | + (I[17] = (T)(img)(_n4##x,_p3##y,z,c)), \ |
1875 | + (I[26] = (T)(img)(_n4##x,_p2##y,z,c)), \ |
1876 | + (I[35] = (T)(img)(_n4##x,_p1##y,z,c)), \ |
1877 | + (I[44] = (T)(img)(_n4##x,y,z,c)), \ |
1878 | + (I[53] = (T)(img)(_n4##x,_n1##y,z,c)), \ |
1879 | + (I[62] = (T)(img)(_n4##x,_n2##y,z,c)), \ |
1880 | + (I[71] = (T)(img)(_n4##x,_n3##y,z,c)), \ |
1881 | + (I[80] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \ |
1882 | + _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x)); \ |
1883 | + I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], \ |
1884 | + I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \ |
1885 | + I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], \ |
1886 | + I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \ |
1887 | + I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], \ |
1888 | + I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \ |
1889 | + I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], \ |
1890 | + I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \ |
1891 | + I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], \ |
1892 | + _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x) |
1893 | + |
1894 | +#define cimg_for2x2x2(img,x,y,z,c,I,T) \ |
1895 | + cimg_for2((img)._depth,z) cimg_for2((img)._height,y) for (int x = 0, \ |
1896 | + _n1##x = (int)( \ |
1897 | + (I[0] = (T)(img)(0,y,z,c)), \ |
1898 | + (I[2] = (T)(img)(0,_n1##y,z,c)), \ |
1899 | + (I[4] = (T)(img)(0,y,_n1##z,c)), \ |
1900 | + (I[6] = (T)(img)(0,_n1##y,_n1##z,c)), \ |
1901 | + 1>=(img)._width?(img).width()-1:1); \ |
1902 | + (_n1##x<(img).width() && ( \ |
1903 | + (I[1] = (T)(img)(_n1##x,y,z,c)), \ |
1904 | + (I[3] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1905 | + (I[5] = (T)(img)(_n1##x,y,_n1##z,c)), \ |
1906 | + (I[7] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \ |
1907 | + x==--_n1##x; \ |
1908 | + I[0] = I[1], I[2] = I[3], I[4] = I[5], I[6] = I[7], \ |
1909 | + ++x, ++_n1##x) |
1910 | + |
1911 | +#define cimg_for_in2x2x2(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \ |
1912 | + cimg_for_in2((img)._depth,z0,z1,z) cimg_for_in2((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1913 | + _n1##x = (int)( \ |
1914 | + (I[0] = (T)(img)(x,y,z,c)), \ |
1915 | + (I[2] = (T)(img)(x,_n1##y,z,c)), \ |
1916 | + (I[4] = (T)(img)(x,y,_n1##z,c)), \ |
1917 | + (I[6] = (T)(img)(x,_n1##y,_n1##z,c)), \ |
1918 | + x+1>=(int)(img)._width?(img).width()-1:x+1); \ |
1919 | + x<=(int)(x1) && ((_n1##x<(img).width() && ( \ |
1920 | + (I[1] = (T)(img)(_n1##x,y,z,c)), \ |
1921 | + (I[3] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1922 | + (I[5] = (T)(img)(_n1##x,y,_n1##z,c)), \ |
1923 | + (I[7] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \ |
1924 | + x==--_n1##x); \ |
1925 | + I[0] = I[1], I[2] = I[3], I[4] = I[5], I[6] = I[7], \ |
1926 | + ++x, ++_n1##x) |
1927 | + |
1928 | +#define cimg_for3x3x3(img,x,y,z,c,I,T) \ |
1929 | + cimg_for3((img)._depth,z) cimg_for3((img)._height,y) for (int x = 0, \ |
1930 | + _p1##x = 0, \ |
1931 | + _n1##x = (int)( \ |
1932 | + (I[0] = I[1] = (T)(img)(0,_p1##y,_p1##z,c)), \ |
1933 | + (I[3] = I[4] = (T)(img)(0,y,_p1##z,c)), \ |
1934 | + (I[6] = I[7] = (T)(img)(0,_n1##y,_p1##z,c)), \ |
1935 | + (I[9] = I[10] = (T)(img)(0,_p1##y,z,c)), \ |
1936 | + (I[12] = I[13] = (T)(img)(0,y,z,c)), \ |
1937 | + (I[15] = I[16] = (T)(img)(0,_n1##y,z,c)), \ |
1938 | + (I[18] = I[19] = (T)(img)(0,_p1##y,_n1##z,c)), \ |
1939 | + (I[21] = I[22] = (T)(img)(0,y,_n1##z,c)), \ |
1940 | + (I[24] = I[25] = (T)(img)(0,_n1##y,_n1##z,c)), \ |
1941 | + 1>=(img)._width?(img).width()-1:1); \ |
1942 | + (_n1##x<(img).width() && ( \ |
1943 | + (I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \ |
1944 | + (I[5] = (T)(img)(_n1##x,y,_p1##z,c)), \ |
1945 | + (I[8] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \ |
1946 | + (I[11] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1947 | + (I[14] = (T)(img)(_n1##x,y,z,c)), \ |
1948 | + (I[17] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1949 | + (I[20] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \ |
1950 | + (I[23] = (T)(img)(_n1##x,y,_n1##z,c)), \ |
1951 | + (I[26] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \ |
1952 | + x==--_n1##x; \ |
1953 | + I[0] = I[1], I[1] = I[2], I[3] = I[4], I[4] = I[5], I[6] = I[7], I[7] = I[8], \ |
1954 | + I[9] = I[10], I[10] = I[11], I[12] = I[13], I[13] = I[14], I[15] = I[16], I[16] = I[17], \ |
1955 | + I[18] = I[19], I[19] = I[20], I[21] = I[22], I[22] = I[23], I[24] = I[25], I[25] = I[26], \ |
1956 | + _p1##x = x++, ++_n1##x) |
1957 | + |
1958 | +#define cimg_for_in3x3x3(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \ |
1959 | + cimg_for_in3((img)._depth,z0,z1,z) cimg_for_in3((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \ |
1960 | + _p1##x = x-1<0?0:x-1, \ |
1961 | + _n1##x = (int)( \ |
1962 | + (I[0] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \ |
1963 | + (I[3] = (T)(img)(_p1##x,y,_p1##z,c)), \ |
1964 | + (I[6] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \ |
1965 | + (I[9] = (T)(img)(_p1##x,_p1##y,z,c)), \ |
1966 | + (I[12] = (T)(img)(_p1##x,y,z,c)), \ |
1967 | + (I[15] = (T)(img)(_p1##x,_n1##y,z,c)), \ |
1968 | + (I[18] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \ |
1969 | + (I[21] = (T)(img)(_p1##x,y,_n1##z,c)), \ |
1970 | + (I[24] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \ |
1971 | + (I[1] = (T)(img)(x,_p1##y,_p1##z,c)), \ |
1972 | + (I[4] = (T)(img)(x,y,_p1##z,c)), \ |
1973 | + (I[7] = (T)(img)(x,_n1##y,_p1##z,c)), \ |
1974 | + (I[10] = (T)(img)(x,_p1##y,z,c)), \ |
1975 | + (I[13] = (T)(img)(x,y,z,c)), \ |
1976 | + (I[16] = (T)(img)(x,_n1##y,z,c)), \ |
1977 | + (I[19] = (T)(img)(x,_p1##y,_n1##z,c)), \ |
1978 | + (I[22] = (T)(img)(x,y,_n1##z,c)), \ |
1979 | + (I[25] = (T)(img)(x,_n1##y,_n1##z,c)), \ |
1980 | + x+1>=(int)(img)._width?(img).width()-1:x+1); \ |
1981 | + x<=(int)(x1) && ((_n1##x<(img).width() && ( \ |
1982 | + (I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \ |
1983 | + (I[5] = (T)(img)(_n1##x,y,_p1##z,c)), \ |
1984 | + (I[8] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \ |
1985 | + (I[11] = (T)(img)(_n1##x,_p1##y,z,c)), \ |
1986 | + (I[14] = (T)(img)(_n1##x,y,z,c)), \ |
1987 | + (I[17] = (T)(img)(_n1##x,_n1##y,z,c)), \ |
1988 | + (I[20] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \ |
1989 | + (I[23] = (T)(img)(_n1##x,y,_n1##z,c)), \ |
1990 | + (I[26] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \ |
1991 | + x==--_n1##x); \ |
1992 | + I[0] = I[1], I[1] = I[2], I[3] = I[4], I[4] = I[5], I[6] = I[7], I[7] = I[8], \ |
1993 | + I[9] = I[10], I[10] = I[11], I[12] = I[13], I[13] = I[14], I[15] = I[16], I[16] = I[17], \ |
1994 | + I[18] = I[19], I[19] = I[20], I[21] = I[22], I[22] = I[23], I[24] = I[25], I[25] = I[26], \ |
1995 | + _p1##x = x++, ++_n1##x) |
1996 | + |
1997 | +#define cimglist_for(list,l) for (int l = 0; l<(int)(list)._width; ++l) |
1998 | +#define cimglist_for_in(list,l0,l1,l) \ |
1999 | + for (int l = (int)(l0)<0?0:(int)(l0), _max##l = (unsigned int)l1<(list)._width?(int)(l1):(int)(list)._width-1; l<=_max##l; ++l) |
2000 | + |
2001 | +#define cimglist_apply(list,fn) cimglist_for(list,__##fn) (list)[__##fn].fn |
2002 | + |
2003 | +// Define macros used when exceptions are thrown. |
2004 | +#define _cimgdisplay_instance "[instance(%u,%u,%u,%c%s%c)] CImgDisplay::" |
2005 | +#define cimgdisplay_instance _width,_height,_normalization,_title?'\"':'[',_title?_title:"untitled",_title?'\"':']' |
2006 | +#define _cimg_instance "[instance(%u,%u,%u,%u,%p,%sshared)] CImg<%s>::" |
2007 | +#define cimg_instance _width,_height,_depth,_spectrum,_data,_is_shared?"":"non-",pixel_type() |
2008 | +#define _cimglist_instance "[instance(%u,%u,%p)] CImgList<%s>::" |
2009 | +#define cimglist_instance _width,_allocated_width,_data,pixel_type() |
2010 | + |
2011 | +/*------------------------------------------------ |
2012 | + # |
2013 | + # |
2014 | + # Definition of the cimg_library:: namespace |
2015 | + # |
2016 | + # |
2017 | + -------------------------------------------------*/ |
2018 | +//! This namespace encompasses all classes and functions of the %CImg library. |
2019 | +/** |
2020 | + This namespace is defined to avoid functions and class names collisions |
2021 | + that could happen with the include of other C++ header files. |
2022 | + Anyway, it should not happen often and you should reasonnably start most of your |
2023 | + %CImg-based programs with |
2024 | + \code |
2025 | + #include "CImg.h" |
2026 | + using namespace cimg_library; |
2027 | + \endcode |
2028 | + to simplify the declaration of %CImg Library variables afterwards. |
2029 | +**/ |
2030 | +namespace cimg_library { |
2031 | + |
2032 | + // Declare the only four classes of the CImg Library. |
2033 | + template<typename T=float> struct CImg; |
2034 | + template<typename T=float> struct CImgList; |
2035 | + struct CImgDisplay; |
2036 | + struct CImgException; |
2037 | + |
2038 | + // (Pre)declare the cimg namespace. |
2039 | + // This is not the complete namespace declaration. It only contains some |
2040 | + // necessary stuffs to ensure a correct declaration order of classes and functions |
2041 | + // defined afterwards. |
2042 | + namespace cimg { |
2043 | + |
2044 | +#ifdef cimg_use_vt100 |
2045 | + const char t_normal[] = { 0x1b, '[', '0', ';', '0', ';', '0', 'm', 0 }; |
2046 | + const char t_red[] = { 0x1b, '[', '4', ';', '3', '1', ';', '5', '9', 'm', 0 }; |
2047 | + const char t_bold[] = { 0x1b, '[', '1', 'm', 0 }; |
2048 | + const char t_purple[] = { 0x1b, '[', '0', ';', '3', '5', ';', '5', '9', 'm', 0 }; |
2049 | + const char t_green[] = { 0x1b, '[', '0', ';', '3', '2', ';', '5', '9', 'm', 0 }; |
2050 | +#else |
2051 | + const char t_normal[] = { 0 }; |
2052 | + const char *const t_red = cimg::t_normal, *const t_bold = cimg::t_normal, |
2053 | + *const t_purple = cimg::t_normal, *const t_green = cimg::t_normal; |
2054 | +#endif |
2055 | + |
2056 | + inline std::FILE* output(std::FILE *file=0); |
2057 | + inline void info(); |
2058 | + |
2059 | + // Function used to avoid warning messages due to unused parameters. |
2060 | + template<typename T> |
2061 | + inline void unused(const T&, ...) {} |
2062 | + |
2063 | + //! Get/set the current CImg exception mode. |
2064 | + /** |
2065 | + The way error messages are handled by CImg can be changed dynamically, using this function. |
2066 | + Possible values are : |
2067 | + - '0' to hide library messages (quiet mode). |
2068 | + - '1' to print library messages on the console. |
2069 | + - '2' to display library messages on a dialog window (default behavior). |
2070 | + - '3' to do as '1' + add extra warnings (may slow down the code !). |
2071 | + - '4' to do as '2' + add extra warnings (may slow down the code !). |
2072 | + **/ |
2073 | + inline unsigned int& _exception_mode(const unsigned int value, const bool is_set) { |
2074 | + static unsigned int mode = cimg_verbosity; |
2075 | + if (is_set) mode = value; |
2076 | + return mode; |
2077 | + } |
2078 | + inline unsigned int& exception_mode() { |
2079 | + return _exception_mode(0,false); |
2080 | + } |
2081 | + inline unsigned int& exception_mode(const unsigned int mode) { |
2082 | + return _exception_mode(mode,true); |
2083 | + } |
2084 | + |
2085 | + inline int dialog(const char *const title, const char *const msg, const char *const button1_label="OK", |
2086 | + const char *const button2_label=0, const char *const button3_label=0, |
2087 | + const char *const button4_label=0, const char *const button5_label=0, |
2088 | + const char *const button6_label=0, const bool centering=false); |
2089 | + |
2090 | + //! Evaluate math expression. |
2091 | + inline double eval(const char *const expression, const double x=0, const double y=0, const double z=0, const double v=0); |
2092 | + } |
2093 | + |
2094 | + /*---------------------------------------------- |
2095 | + # |
2096 | + # Definition of the CImgException structures |
2097 | + # |
2098 | + ----------------------------------------------*/ |
2099 | + //! Instances of this class are thrown when errors occur during a %CImg library function call. |
2100 | + /** |
2101 | + \section ex1 Overview |
2102 | + |
2103 | + CImgException is the base class of %CImg exceptions. |
2104 | + Exceptions are thrown by the %CImg Library when an error occured in a %CImg library function call. |
2105 | + CImgException is seldom thrown itself. Children classes that specify the kind of error encountered |
2106 | + are generally used instead. These sub-classes are : |
2107 | + |
2108 | + - \b CImgInstanceException : Thrown when the instance associated to the called %CImg function is not |
2109 | + correctly defined. Generally, this exception is thrown when one tries to process \a empty images. The example |
2110 | + below will throw a \a CImgInstanceException. |
2111 | + \code |
2112 | + CImg<float> img; // Construct an empty image. |
2113 | + img.blur(10); // Try to blur the image. |
2114 | + \endcode |
2115 | + |
2116 | + - \b CImgArgumentException : Thrown when one of the arguments given to the called %CImg function is not correct. |
2117 | + Generally, this exception is thrown when arguments passed to the function are outside an admissible range of values. |
2118 | + The example below will throw a \a CImgArgumentException. |
2119 | + \code |
2120 | + CImg<float> img(100,100,1,3); // Define a 100x100 color image with float pixels. |
2121 | + img = 0; // Try to fill pixels from the 0 pointer (invalid argument to operator=() ). |
2122 | + \endcode |
2123 | + |
2124 | + - \b CImgIOException : Thrown when an error occured when trying to load or save image files. |
2125 | + The example below will throw a \a CImgIOException. |
2126 | + \code |
2127 | + CImg<float> img("file_doesnt_exist.jpg"); // Try to load a file that doesn't exist. |
2128 | + \endcode |
2129 | + |
2130 | + The parent class CImgException may be thrown itself when errors that cannot be classified in one of |
2131 | + the above type occur. It is recommended not to throw CImgExceptions yourself, since there are normally |
2132 | + reserved to %CImg Library functions. |
2133 | + \b CImgInstanceException, \b CImgArgumentException and \b CImgIOException are simple |
2134 | + subclasses of CImgException and are thus not detailled more in this reference documentation. |
2135 | + |
2136 | + \section ex2 Exception handling |
2137 | + |
2138 | + When an error occurs, the %CImg Library first displays the error in a modal window. |
2139 | + Then, it throws an instance of the corresponding exception class, generally leading the program to stop |
2140 | + (this is the default behavior). |
2141 | + You can bypass this default behavior by handling the exceptions yourself, |
2142 | + using a code block <tt>try { ... } catch () { ... }</tt>. |
2143 | + In this case, you can avoid the apparition of the modal window, by |
2144 | + defining the environment variable <tt>cimg_verbosity</tt> to 0 before including the %CImg header file. |
2145 | + The example below shows how to cleanly handle %CImg Library exceptions : |
2146 | + \code |
2147 | + #define cimg_verbosity 0 // Disable modal window in CImg exceptions. |
2148 | + #define "CImg.h" |
2149 | + int main() { |
2150 | + try { |
2151 | + ...; // Here, do what you want. |
2152 | + } |
2153 | + catch (CImgInstanceException &e) { |
2154 | + std::fprintf(stderr,"CImg Library Error : %s",e.what()); // Display your own error message |
2155 | + ... // Do what you want now. |
2156 | + } |
2157 | + } |
2158 | + \endcode |
2159 | + **/ |
2160 | + struct CImgException : public std::exception { |
2161 | +#define _cimg_exception_err(etype,disp_flag) \ |
2162 | + std::va_list ap; va_start(ap,format); cimg_vsnprintf(_message,sizeof(_message),format,ap); va_end(ap); \ |
2163 | + if (cimg::exception_mode()) { \ |
2164 | + std::fprintf(cimg::output(),"\n%s[CImg] *** %s ***%s %s\n",cimg::t_red,etype,cimg::t_normal,_message); \ |
2165 | + if (cimg_display && disp_flag && !(cimg::exception_mode()%2)) try { cimg::dialog(etype,_message,"Abort"); } catch (CImgException&) {} \ |
2166 | + if (cimg::exception_mode()>=3) cimg_library::cimg::info(); \ |
2167 | + } |
2168 | + |
2169 | + char _message[16384]; |
2170 | + CImgException() { *_message = 0; } |
2171 | + CImgException(const char *const format, ...) { _cimg_exception_err("CImgException",true); } |
2172 | + const char *what() const throw() { return _message; } |
2173 | + }; |
2174 | + |
2175 | + // The \ref CImgInstanceException class is used to throw an exception related |
2176 | + // to a non suitable instance encountered in a library function call. |
2177 | + struct CImgInstanceException : public CImgException { |
2178 | + CImgInstanceException(const char *const format, ...) { _cimg_exception_err("CImgInstanceException",true); } |
2179 | + }; |
2180 | + |
2181 | + // The \ref CImgArgumentException class is used to throw an exception related |
2182 | + // to invalid arguments encountered in a library function call. |
2183 | + struct CImgArgumentException : public CImgException { |
2184 | + CImgArgumentException(const char *const format, ...) { _cimg_exception_err("CImgArgumentException",true); } |
2185 | + }; |
2186 | + |
2187 | + // The \ref CImgIOException class is used to throw an exception related |
2188 | + // to Input/Output file problems encountered in a library function call. |
2189 | + struct CImgIOException : public CImgException { |
2190 | + CImgIOException(const char *const format, ...) { _cimg_exception_err("CImgIOException",true); } |
2191 | + }; |
2192 | + |
2193 | + // The \ref CImgDisplayException class is used to throw an exception related |
2194 | + // to display problems encountered in a library function call. |
2195 | + struct CImgDisplayException : public CImgException { |
2196 | + CImgDisplayException(const char *const format, ...) { _cimg_exception_err("CImgDisplayException",false); } |
2197 | + }; |
2198 | + |
2199 | + // The CImgWarningException class is used to throw an exception for warnings |
2200 | + // encountered in a library function call. |
2201 | + struct CImgWarningException : public CImgException { |
2202 | + CImgWarningException(const char *const format, ...) { _cimg_exception_err("CImgWarningException",false); } |
2203 | + }; |
2204 | + |
2205 | + /*------------------------------------- |
2206 | + # |
2207 | + # Definition of the namespace 'cimg' |
2208 | + # |
2209 | + --------------------------------------*/ |
2210 | + //! Namespace that encompasses \a low-level functions and variables of the %CImg Library. |
2211 | + /** |
2212 | + Most of the functions and variables within this namespace are used by the library for low-level processing. |
2213 | + Nevertheless, documented variables and functions of this namespace may be used safely in your own source code. |
2214 | + |
2215 | + \warning Never write <tt>using namespace cimg_library::cimg;</tt> in your source code, since a lot of functions of the |
2216 | + <tt>cimg::</tt> namespace have prototypes similar to standard C functions that could defined in the global namespace <tt>::</tt>. |
2217 | + **/ |
2218 | + namespace cimg { |
2219 | + |
2220 | + // Define the traits that will be used to determine the best data type to work with. |
2221 | + // |
2222 | + template<typename T> struct type { |
2223 | + static const char* string() { |
2224 | + static const char* s[] = { "unknown", "unknown8", "unknown16", "unknown24", |
2225 | + "unknown32", "unknown40", "unknown48", "unknown56", |
2226 | + "unknown64", "unknown72", "unknown80", "unknown88", |
2227 | + "unknown96", "unknown104", "unknown112", "unknown120", |
2228 | + "unknown128" }; |
2229 | + return s[(sizeof(T)<17)?sizeof(T):0]; |
2230 | + } |
2231 | + static unsigned int id() { return 0U; } |
2232 | + static bool is_float() { return false; } |
2233 | + static T min() { return (T)-1>0?(T)0:(T)-1<<(8*sizeof(T)-1); } |
2234 | + static T max() { return (T)-1>0?(T)-1:~((T)-1<<(8*sizeof(T)-1)); } |
2235 | + static T cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(T)val; } |
2236 | + static const char* format() { return "%s"; } |
2237 | + static const char* format(const T val) { static const char *const s = "unknown"; return s; } |
2238 | + }; |
2239 | + |
2240 | + template<> struct type<bool> { |
2241 | + static const char* string() { static const char *const s = "bool"; return s; } |
2242 | + static unsigned int id() { return 1U; } |
2243 | + static bool is_float() { return false; } |
2244 | + static bool min() { return false; } |
2245 | + static bool max() { return true; } |
2246 | + static bool cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(bool)val; } |
2247 | + static const char* format() { return "%s"; } |
2248 | + static const char* format(const bool val) { static const char* s[] = { "false", "true" }; return s[val?1:0]; } |
2249 | + }; |
2250 | + |
2251 | + template<> struct type<unsigned char> { |
2252 | + static const char* string() { static const char *const s = "unsigned char"; return s; } |
2253 | + static unsigned int id() { return 2U; } |
2254 | + static bool is_float() { return false; } |
2255 | + static unsigned char min() { return 0; } |
2256 | + static unsigned char max() { return (unsigned char)~0U; } |
2257 | + static unsigned char cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(unsigned char)val; } |
2258 | + static const char* format() { return "%u"; } |
2259 | + static unsigned int format(const unsigned char val) { return (unsigned int)val; } |
2260 | + }; |
2261 | + |
2262 | + template<> struct type<char> { |
2263 | + static const char* string() { static const char *const s = "char"; return s; } |
2264 | + static unsigned int id() { return 3U; } |
2265 | + static bool is_float() { return false; } |
2266 | + static char min() { return (char)(-1L<<(8*sizeof(char)-1)); } |
2267 | + static char max() { return ~((char)(-1L<<(8*sizeof(char)-1))); } |
2268 | + static char cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(char)val; } |
2269 | + static const char* format() { return "%d"; } |
2270 | + static int format(const char val) { return (int)val; } |
2271 | + }; |
2272 | + |
2273 | + template<> struct type<signed char> { |
2274 | + static const char* string() { static const char *const s = "signed char"; return s; } |
2275 | + static unsigned int id() { return 4U; } |
2276 | + static bool is_float() { return false; } |
2277 | + static signed char min() { return (signed char)(-1L<<(8*sizeof(signed char)-1)); } |
2278 | + static signed char max() { return ~((signed char)(-1L<<(8*sizeof(signed char)-1))); } |
2279 | + static signed char cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(signed char)val; } |
2280 | + static const char* format() { return "%d"; } |
2281 | + static unsigned int format(const signed char val) { return (int)val; } |
2282 | + }; |
2283 | + |
2284 | + template<> struct type<unsigned short> { |
2285 | + static const char* string() { static const char *const s = "unsigned short"; return s; } |
2286 | + static unsigned int id() { return 5U; } |
2287 | + static bool is_float() { return false; } |
2288 | + static unsigned short min() { return 0; } |
2289 | + static unsigned short max() { return (unsigned short)~0U; } |
2290 | + static unsigned short cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(unsigned short)val; } |
2291 | + static const char* format() { return "%u"; } |
2292 | + static unsigned int format(const unsigned short val) { return (unsigned int)val; } |
2293 | + }; |
2294 | + |
2295 | + template<> struct type<short> { |
2296 | + static const char* string() { static const char *const s = "short"; return s; } |
2297 | + static unsigned int id() { return 6U; } |
2298 | + static bool is_float() { return false; } |
2299 | + static short min() { return (short)(-1L<<(8*sizeof(short)-1)); } |
2300 | + static short max() { return ~((short)(-1L<<(8*sizeof(short)-1))); } |
2301 | + static short cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(short)val; } |
2302 | + static const char* format() { return "%d"; } |
2303 | + static int format(const short val) { return (int)val; } |
2304 | + }; |
2305 | + |
2306 | + template<> struct type<unsigned int> { |
2307 | + static const char* string() { static const char *const s = "unsigned int"; return s; } |
2308 | + static unsigned int id() { return 7U; } |
2309 | + static bool is_float() { return false; } |
2310 | + static unsigned int min() { return 0; } |
2311 | + static unsigned int max() { return (unsigned int)~0U; } |
2312 | + static unsigned int cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(unsigned int)val; } |
2313 | + static const char* format() { return "%u"; } |
2314 | + static unsigned int format(const unsigned int val) { return val; } |
2315 | + }; |
2316 | + |
2317 | + template<> struct type<int> { |
2318 | + static const char* string() { static const char *const s = "int"; return s; } |
2319 | + static unsigned int id() { return 8U; } |
2320 | + static bool is_float() { return false; } |
2321 | + static int min() { return (int)(-1L<<(8*sizeof(int)-1)); } |
2322 | + static int max() { return ~((int)(-1L<<(8*sizeof(int)-1))); } |
2323 | + static int cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(int)val; } |
2324 | + static const char* format() { return "%d"; } |
2325 | + static int format(const int val) { return val; } |
2326 | + }; |
2327 | + |
2328 | + template<> struct type<unsigned long> { |
2329 | + static const char* string() { static const char *const s = "unsigned long"; return s; } |
2330 | + static unsigned int id() { return 9U; } |
2331 | + static bool is_float() { return false; } |
2332 | + static unsigned long min() { return 0; } |
2333 | + static unsigned long max() { return (unsigned long)~0UL; } |
2334 | + static unsigned long cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(unsigned long)val; } |
2335 | + static const char* format() { return "%lu"; } |
2336 | + static unsigned long format(const unsigned long val) { return val; } |
2337 | + }; |
2338 | + |
2339 | + template<> struct type<long> { |
2340 | + static const char* string() { static const char *const s = "long"; return s; } |
2341 | + static unsigned int id() { return 10U; } |
2342 | + static bool is_float() { return false; } |
2343 | + static long min() { return (long)(-1L<<(8*sizeof(long)-1)); } |
2344 | + static long max() { return ~((long)(-1L<<(8*sizeof(long)-1))); } |
2345 | + static long cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(long)val; } |
2346 | + static const char* format() { return "%ld"; } |
2347 | + static long format(const long val) { return val; } |
2348 | + }; |
2349 | + |
2350 | + template<> struct type<double> { |
2351 | + static const char* string() { static const char *const s = "double"; return s; } |
2352 | + static unsigned int id() { return 11U; } |
2353 | + static bool is_float() { return true; } |
2354 | + static double min() { return -1.7E308; } |
2355 | + static double max() { return 1.7E308; } |
2356 | + static double cut(const double val) { return val<min()?min():val>max()?max():val; } |
2357 | + static double inf() { return max()*max(); } |
2358 | + static double nan() { static const double v_nan = std::sqrt(-1.0); return v_nan; } |
2359 | + static const char* format() { return "%g"; } |
2360 | + static double format(const double val) { return val; } |
2361 | + }; |
2362 | + |
2363 | + template<> struct type<float> { |
2364 | + static const char* string() { static const char *const s = "float"; return s; } |
2365 | + static unsigned int id() { return 12U; } |
2366 | + static bool is_float() { return true; } |
2367 | + static float min() { return -3.4E38f; } |
2368 | + static float max() { return 3.4E38f; } |
2369 | + static float cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(float)val; } |
2370 | + static float inf() { return (float)cimg::type<double>::inf(); } |
2371 | + static float nan() { return (float)cimg::type<double>::nan(); } |
2372 | + static const char* format() { return "%g"; } |
2373 | + static double format(const float val) { return (double)val; } |
2374 | + }; |
2375 | + |
2376 | + template<typename T, typename t> struct superset { typedef T type; }; |
2377 | + template<> struct superset<bool,unsigned char> { typedef unsigned char type; }; |
2378 | + template<> struct superset<bool,char> { typedef char type; }; |
2379 | + template<> struct superset<bool,signed char> { typedef signed char type; }; |
2380 | + template<> struct superset<bool,unsigned short> { typedef unsigned short type; }; |
2381 | + template<> struct superset<bool,short> { typedef short type; }; |
2382 | + template<> struct superset<bool,unsigned int> { typedef unsigned int type; }; |
2383 | + template<> struct superset<bool,int> { typedef int type; }; |
2384 | + template<> struct superset<bool,unsigned long> { typedef unsigned long type; }; |
2385 | + template<> struct superset<bool,long> { typedef long type; }; |
2386 | + template<> struct superset<bool,float> { typedef float type; }; |
2387 | + template<> struct superset<bool,double> { typedef double type; }; |
2388 | + template<> struct superset<unsigned char,char> { typedef short type; }; |
2389 | + template<> struct superset<unsigned char,signed char> { typedef short type; }; |
2390 | + template<> struct superset<unsigned char,unsigned short> { typedef unsigned short type; }; |
2391 | + template<> struct superset<unsigned char,short> { typedef short type; }; |
2392 | + template<> struct superset<unsigned char,unsigned int> { typedef unsigned int type; }; |
2393 | + template<> struct superset<unsigned char,int> { typedef int type; }; |
2394 | + template<> struct superset<unsigned char,unsigned long> { typedef unsigned long type; }; |
2395 | + template<> struct superset<unsigned char,long> { typedef long type; }; |
2396 | + template<> struct superset<unsigned char,float> { typedef float type; }; |
2397 | + template<> struct superset<unsigned char,double> { typedef double type; }; |
2398 | + template<> struct superset<signed char,unsigned char> { typedef short type; }; |
2399 | + template<> struct superset<signed char,char> { typedef short type; }; |
2400 | + template<> struct superset<signed char,unsigned short> { typedef int type; }; |
2401 | + template<> struct superset<signed char,short> { typedef short type; }; |
2402 | + template<> struct superset<signed char,unsigned int> { typedef long type; }; |
2403 | + template<> struct superset<signed char,int> { typedef int type; }; |
2404 | + template<> struct superset<signed char,unsigned long> { typedef long type; }; |
2405 | + template<> struct superset<signed char,long> { typedef long type; }; |
2406 | + template<> struct superset<signed char,float> { typedef float type; }; |
2407 | + template<> struct superset<signed char,double> { typedef double type; }; |
2408 | + template<> struct superset<char,unsigned char> { typedef short type; }; |
2409 | + template<> struct superset<char,signed char> { typedef short type; }; |
2410 | + template<> struct superset<char,unsigned short> { typedef int type; }; |
2411 | + template<> struct superset<char,short> { typedef short type; }; |
2412 | + template<> struct superset<char,unsigned int> { typedef long type; }; |
2413 | + template<> struct superset<char,int> { typedef int type; }; |
2414 | + template<> struct superset<char,unsigned long> { typedef long type; }; |
2415 | + template<> struct superset<char,long> { typedef long type; }; |
2416 | + template<> struct superset<char,float> { typedef float type; }; |
2417 | + template<> struct superset<char,double> { typedef double type; }; |
2418 | + template<> struct superset<unsigned short,char> { typedef int type; }; |
2419 | + template<> struct superset<unsigned short,signed char> { typedef int type; }; |
2420 | + template<> struct superset<unsigned short,short> { typedef int type; }; |
2421 | + template<> struct superset<unsigned short,unsigned int> { typedef unsigned int type; }; |
2422 | + template<> struct superset<unsigned short,int> { typedef int type; }; |
2423 | + template<> struct superset<unsigned short,unsigned long> { typedef unsigned long type; }; |
2424 | + template<> struct superset<unsigned short,long> { typedef long type; }; |
2425 | + template<> struct superset<unsigned short,float> { typedef float type; }; |
2426 | + template<> struct superset<unsigned short,double> { typedef double type; }; |
2427 | + template<> struct superset<short,unsigned short> { typedef int type; }; |
2428 | + template<> struct superset<short,unsigned int> { typedef long type; }; |
2429 | + template<> struct superset<short,int> { typedef int type; }; |
2430 | + template<> struct superset<short,unsigned long> { typedef long type; }; |
2431 | + template<> struct superset<short,long> { typedef long type; }; |
2432 | + template<> struct superset<short,float> { typedef float type; }; |
2433 | + template<> struct superset<short,double> { typedef double type; }; |
2434 | + template<> struct superset<unsigned int,char> { typedef long type; }; |
2435 | + template<> struct superset<unsigned int,signed char> { typedef long type; }; |
2436 | + template<> struct superset<unsigned int,short> { typedef long type; }; |
2437 | + template<> struct superset<unsigned int,int> { typedef long type; }; |
2438 | + template<> struct superset<unsigned int,unsigned long> { typedef unsigned long type; }; |
2439 | + template<> struct superset<unsigned int,long> { typedef long type; }; |
2440 | + template<> struct superset<unsigned int,float> { typedef float type; }; |
2441 | + template<> struct superset<unsigned int,double> { typedef double type; }; |
2442 | + template<> struct superset<int,unsigned int> { typedef long type; }; |
2443 | + template<> struct superset<int,unsigned long> { typedef long type; }; |
2444 | + template<> struct superset<int,long> { typedef long type; }; |
2445 | + template<> struct superset<int,float> { typedef float type; }; |
2446 | + template<> struct superset<int,double> { typedef double type; }; |
2447 | + template<> struct superset<unsigned long,char> { typedef long type; }; |
2448 | + template<> struct superset<unsigned long,signed char> { typedef long type; }; |
2449 | + template<> struct superset<unsigned long,short> { typedef long type; }; |
2450 | + template<> struct superset<unsigned long,int> { typedef long type; }; |
2451 | + template<> struct superset<unsigned long,long> { typedef long type; }; |
2452 | + template<> struct superset<unsigned long,float> { typedef float type; }; |
2453 | + template<> struct superset<unsigned long,double> { typedef double type; }; |
2454 | + template<> struct superset<long,float> { typedef float type; }; |
2455 | + template<> struct superset<long,double> { typedef double type; }; |
2456 | + template<> struct superset<float,double> { typedef double type; }; |
2457 | + |
2458 | + template<typename t1, typename t2, typename t3> struct superset2 { |
2459 | + typedef typename superset<t1, typename superset<t2,t3>::type>::type type; |
2460 | + }; |
2461 | + |
2462 | + template<typename t1, typename t2, typename t3, typename t4> struct superset3 { |
2463 | + typedef typename superset<t1, typename superset2<t2,t3,t4>::type>::type type; |
2464 | + }; |
2465 | + |
2466 | + template<typename t1, typename t2> struct last { typedef t2 type; }; |
2467 | + |
2468 | +#define _cimg_Tt typename cimg::superset<T,t>::type |
2469 | +#define _cimg_Tfloat typename cimg::superset<T,float>::type |
2470 | +#define _cimg_Ttfloat typename cimg::superset2<T,t,float>::type |
2471 | + |
2472 | + // Define internal library variables. |
2473 | +#if cimg_display==1 |
2474 | + struct X11_info { |
2475 | + volatile unsigned int nb_wins; |
2476 | + pthread_t* event_thread; |
2477 | + CImgDisplay* wins[1024]; |
2478 | + Display* display; |
2479 | + unsigned int nb_bits; |
2480 | + bool is_blue_first; |
2481 | + bool is_shm_enabled; |
2482 | + bool byte_order; |
2483 | +#ifdef cimg_use_xrandr |
2484 | + XRRScreenSize *resolutions; |
2485 | + Rotation curr_rotation; |
2486 | + unsigned int curr_resolution; |
2487 | + unsigned int nb_resolutions; |
2488 | +#endif |
2489 | + X11_info():nb_wins(0),event_thread(0),display(0), |
2490 | + nb_bits(0),is_blue_first(false),is_shm_enabled(false),byte_order(false) { |
2491 | +#ifdef cimg_use_xrandr |
2492 | + resolutions = 0; |
2493 | + curr_rotation = 0; |
2494 | + curr_resolution = nb_resolutions = 0; |
2495 | +#endif |
2496 | + } |
2497 | + }; |
2498 | +#if defined(cimg_module) |
2499 | + X11_info& X11_attr(); |
2500 | +#elif defined(cimg_main) |
2501 | + X11_info& X11_attr() { static X11_info val; return val; } |
2502 | +#else |
2503 | + inline X11_info& X11_attr() { static X11_info val; return val; } |
2504 | +#endif |
2505 | + |
2506 | +#elif cimg_display==2 |
2507 | + struct Win32_info { |
2508 | + HANDLE wait_event; |
2509 | + Win32_info() { wait_event = CreateEvent(0,FALSE,FALSE,0); } |
2510 | + }; |
2511 | +#if defined(cimg_module) |
2512 | + Win32_info& Win32_attr(); |
2513 | +#elif defined(cimg_main) |
2514 | + Win32_info& Win32_attr() { static Win32_info val; return val; } |
2515 | +#else |
2516 | + inline Win32_info& Win32_attr() { static Win32_info val; return val; } |
2517 | +#endif |
2518 | +#endif |
2519 | + |
2520 | +#if defined(cimg_use_magick) |
2521 | + static struct Magick_info { |
2522 | + Magick_info() { |
2523 | + Magick::InitializeMagick(""); |
2524 | + } |
2525 | + } _Magick_info; |
2526 | +#endif |
2527 | + |
2528 | +#if cimg_display==1 |
2529 | + // Keycodes for X11-based graphical systems. |
2530 | + const unsigned int keyESC = XK_Escape; |
2531 | + const unsigned int keyF1 = XK_F1; |
2532 | + const unsigned int keyF2 = XK_F2; |
2533 | + const unsigned int keyF3 = XK_F3; |
2534 | + const unsigned int keyF4 = XK_F4; |
2535 | + const unsigned int keyF5 = XK_F5; |
2536 | + const unsigned int keyF6 = XK_F6; |
2537 | + const unsigned int keyF7 = XK_F7; |
2538 | + const unsigned int keyF8 = XK_F8; |
2539 | + const unsigned int keyF9 = XK_F9; |
2540 | + const unsigned int keyF10 = XK_F10; |
2541 | + const unsigned int keyF11 = XK_F11; |
2542 | + const unsigned int keyF12 = XK_F12; |
2543 | + const unsigned int keyPAUSE = XK_Pause; |
2544 | + const unsigned int key1 = XK_1; |
2545 | + const unsigned int key2 = XK_2; |
2546 | + const unsigned int key3 = XK_3; |
2547 | + const unsigned int key4 = XK_4; |
2548 | + const unsigned int key5 = XK_5; |
2549 | + const unsigned int key6 = XK_6; |
2550 | + const unsigned int key7 = XK_7; |
2551 | + const unsigned int key8 = XK_8; |
2552 | + const unsigned int key9 = XK_9; |
2553 | + const unsigned int key0 = XK_0; |
2554 | + const unsigned int keyBACKSPACE = XK_BackSpace; |
2555 | + const unsigned int keyINSERT = XK_Insert; |
2556 | + const unsigned int keyHOME = XK_Home; |
2557 | + const unsigned int keyPAGEUP = XK_Page_Up; |
2558 | + const unsigned int keyTAB = XK_Tab; |
2559 | + const unsigned int keyQ = XK_q; |
2560 | + const unsigned int keyW = XK_w; |
2561 | + const unsigned int keyE = XK_e; |
2562 | + const unsigned int keyR = XK_r; |
2563 | + const unsigned int keyT = XK_t; |
2564 | + const unsigned int keyY = XK_y; |
2565 | + const unsigned int keyU = XK_u; |
2566 | + const unsigned int keyI = XK_i; |
2567 | + const unsigned int keyO = XK_o; |
2568 | + const unsigned int keyP = XK_p; |
2569 | + const unsigned int keyDELETE = XK_Delete; |
2570 | + const unsigned int keyEND = XK_End; |
2571 | + const unsigned int keyPAGEDOWN = XK_Page_Down; |
2572 | + const unsigned int keyCAPSLOCK = XK_Caps_Lock; |
2573 | + const unsigned int keyA = XK_a; |
2574 | + const unsigned int keyS = XK_s; |
2575 | + const unsigned int keyD = XK_d; |
2576 | + const unsigned int keyF = XK_f; |
2577 | + const unsigned int keyG = XK_g; |
2578 | + const unsigned int keyH = XK_h; |
2579 | + const unsigned int keyJ = XK_j; |
2580 | + const unsigned int keyK = XK_k; |
2581 | + const unsigned int keyL = XK_l; |
2582 | + const unsigned int keyENTER = XK_Return; |
2583 | + const unsigned int keySHIFTLEFT = XK_Shift_L; |
2584 | + const unsigned int keyZ = XK_z; |
2585 | + const unsigned int keyX = XK_x; |
2586 | + const unsigned int keyC = XK_c; |
2587 | + const unsigned int keyV = XK_v; |
2588 | + const unsigned int keyB = XK_b; |
2589 | + const unsigned int keyN = XK_n; |
2590 | + const unsigned int keyM = XK_m; |
2591 | + const unsigned int keySHIFTRIGHT = XK_Shift_R; |
2592 | + const unsigned int keyARROWUP = XK_Up; |
2593 | + const unsigned int keyCTRLLEFT = XK_Control_L; |
2594 | + const unsigned int keyAPPLEFT = XK_Super_L; |
2595 | + const unsigned int keyALT = XK_Alt_L; |
2596 | + const unsigned int keySPACE = XK_space; |
2597 | + const unsigned int keyALTGR = XK_Alt_R; |
2598 | + const unsigned int keyAPPRIGHT = XK_Super_R; |
2599 | + const unsigned int keyMENU = XK_Menu; |
2600 | + const unsigned int keyCTRLRIGHT = XK_Control_R; |
2601 | + const unsigned int keyARROWLEFT = XK_Left; |
2602 | + const unsigned int keyARROWDOWN = XK_Down; |
2603 | + const unsigned int keyARROWRIGHT = XK_Right; |
2604 | + const unsigned int keyPAD0 = XK_KP_0; |
2605 | + const unsigned int keyPAD1 = XK_KP_1; |
2606 | + const unsigned int keyPAD2 = XK_KP_2; |
2607 | + const unsigned int keyPAD3 = XK_KP_3; |
2608 | + const unsigned int keyPAD4 = XK_KP_4; |
2609 | + const unsigned int keyPAD5 = XK_KP_5; |
2610 | + const unsigned int keyPAD6 = XK_KP_6; |
2611 | + const unsigned int keyPAD7 = XK_KP_7; |
2612 | + const unsigned int keyPAD8 = XK_KP_8; |
2613 | + const unsigned int keyPAD9 = XK_KP_9; |
2614 | + const unsigned int keyPADADD = XK_KP_Add; |
2615 | + const unsigned int keyPADSUB = XK_KP_Subtract; |
2616 | + const unsigned int keyPADMUL = XK_KP_Multiply; |
2617 | + const unsigned int keyPADDIV = XK_KP_Divide; |
2618 | + |
2619 | +#elif cimg_display==2 |
2620 | + // Keycodes for Windows. |
2621 | + const unsigned int keyESC = VK_ESCAPE; |
2622 | + const unsigned int keyF1 = VK_F1; |
2623 | + const unsigned int keyF2 = VK_F2; |
2624 | + const unsigned int keyF3 = VK_F3; |
2625 | + const unsigned int keyF4 = VK_F4; |
2626 | + const unsigned int keyF5 = VK_F5; |
2627 | + const unsigned int keyF6 = VK_F6; |
2628 | + const unsigned int keyF7 = VK_F7; |
2629 | + const unsigned int keyF8 = VK_F8; |
2630 | + const unsigned int keyF9 = VK_F9; |
2631 | + const unsigned int keyF10 = VK_F10; |
2632 | + const unsigned int keyF11 = VK_F11; |
2633 | + const unsigned int keyF12 = VK_F12; |
2634 | + const unsigned int keyPAUSE = VK_PAUSE; |
2635 | + const unsigned int key1 = '1'; |
2636 | + const unsigned int key2 = '2'; |
2637 | + const unsigned int key3 = '3'; |
2638 | + const unsigned int key4 = '4'; |
2639 | + const unsigned int key5 = '5'; |
2640 | + const unsigned int key6 = '6'; |
2641 | + const unsigned int key7 = '7'; |
2642 | + const unsigned int key8 = '8'; |
2643 | + const unsigned int key9 = '9'; |
2644 | + const unsigned int key0 = '0'; |
2645 | + const unsigned int keyBACKSPACE = VK_BACK; |
2646 | + const unsigned int keyINSERT = VK_INSERT; |
2647 | + const unsigned int keyHOME = VK_HOME; |
2648 | + const unsigned int keyPAGEUP = VK_PRIOR; |
2649 | + const unsigned int keyTAB = VK_TAB; |
2650 | + const unsigned int keyQ = 'Q'; |
2651 | + const unsigned int keyW = 'W'; |
2652 | + const unsigned int keyE = 'E'; |
2653 | + const unsigned int keyR = 'R'; |
2654 | + const unsigned int keyT = 'T'; |
2655 | + const unsigned int keyY = 'Y'; |
2656 | + const unsigned int keyU = 'U'; |
2657 | + const unsigned int keyI = 'I'; |
2658 | + const unsigned int keyO = 'O'; |
2659 | + const unsigned int keyP = 'P'; |
2660 | + const unsigned int keyDELETE = VK_DELETE; |
2661 | + const unsigned int keyEND = VK_END; |
2662 | + const unsigned int keyPAGEDOWN = VK_NEXT; |
2663 | + const unsigned int keyCAPSLOCK = VK_CAPITAL; |
2664 | + const unsigned int keyA = 'A'; |
2665 | + const unsigned int keyS = 'S'; |
2666 | + const unsigned int keyD = 'D'; |
2667 | + const unsigned int keyF = 'F'; |
2668 | + const unsigned int keyG = 'G'; |
2669 | + const unsigned int keyH = 'H'; |
2670 | + const unsigned int keyJ = 'J'; |
2671 | + const unsigned int keyK = 'K'; |
2672 | + const unsigned int keyL = 'L'; |
2673 | + const unsigned int keyENTER = VK_RETURN; |
2674 | + const unsigned int keySHIFTLEFT = VK_SHIFT; |
2675 | + const unsigned int keyZ = 'Z'; |
2676 | + const unsigned int keyX = 'X'; |
2677 | + const unsigned int keyC = 'C'; |
2678 | + const unsigned int keyV = 'V'; |
2679 | + const unsigned int keyB = 'B'; |
2680 | + const unsigned int keyN = 'N'; |
2681 | + const unsigned int keyM = 'M'; |
2682 | + const unsigned int keySHIFTRIGHT = VK_SHIFT; |
2683 | + const unsigned int keyARROWUP = VK_UP; |
2684 | + const unsigned int keyCTRLLEFT = VK_CONTROL; |
2685 | + const unsigned int keyAPPLEFT = VK_LWIN; |
2686 | + const unsigned int keyALT = VK_LMENU; |
2687 | + const unsigned int keySPACE = VK_SPACE; |
2688 | + const unsigned int keyALTGR = VK_CONTROL; |
2689 | + const unsigned int keyAPPRIGHT = VK_RWIN; |
2690 | + const unsigned int keyMENU = VK_APPS; |
2691 | + const unsigned int keyCTRLRIGHT = VK_CONTROL; |
2692 | + const unsigned int keyARROWLEFT = VK_LEFT; |
2693 | + const unsigned int keyARROWDOWN = VK_DOWN; |
2694 | + const unsigned int keyARROWRIGHT = VK_RIGHT; |
2695 | + const unsigned int keyPAD0 = 0x60; |
2696 | + const unsigned int keyPAD1 = 0x61; |
2697 | + const unsigned int keyPAD2 = 0x62; |
2698 | + const unsigned int keyPAD3 = 0x63; |
2699 | + const unsigned int keyPAD4 = 0x64; |
2700 | + const unsigned int keyPAD5 = 0x65; |
2701 | + const unsigned int keyPAD6 = 0x66; |
2702 | + const unsigned int keyPAD7 = 0x67; |
2703 | + const unsigned int keyPAD8 = 0x68; |
2704 | + const unsigned int keyPAD9 = 0x69; |
2705 | + const unsigned int keyPADADD = VK_ADD; |
2706 | + const unsigned int keyPADSUB = VK_SUBTRACT; |
2707 | + const unsigned int keyPADMUL = VK_MULTIPLY; |
2708 | + const unsigned int keyPADDIV = VK_DIVIDE; |
2709 | + |
2710 | +#else |
2711 | + // Define unknow keycodes when no display are available. |
2712 | + // (should rarely be used then !). |
2713 | + const unsigned int keyESC = 1U; |
2714 | + const unsigned int keyF1 = 2U; |
2715 | + const unsigned int keyF2 = 3U; |
2716 | + const unsigned int keyF3 = 4U; |
2717 | + const unsigned int keyF4 = 5U; |
2718 | + const unsigned int keyF5 = 6U; |
2719 | + const unsigned int keyF6 = 7U; |
2720 | + const unsigned int keyF7 = 8U; |
2721 | + const unsigned int keyF8 = 9U; |
2722 | + const unsigned int keyF9 = 10U; |
2723 | + const unsigned int keyF10 = 11U; |
2724 | + const unsigned int keyF11 = 12U; |
2725 | + const unsigned int keyF12 = 13U; |
2726 | + const unsigned int keyPAUSE = 14U; |
2727 | + const unsigned int key1 = 15U; |
2728 | + const unsigned int key2 = 16U; |
2729 | + const unsigned int key3 = 17U; |
2730 | + const unsigned int key4 = 18U; |
2731 | + const unsigned int key5 = 19U; |
2732 | + const unsigned int key6 = 20U; |
2733 | + const unsigned int key7 = 21U; |
2734 | + const unsigned int key8 = 22U; |
2735 | + const unsigned int key9 = 23U; |
2736 | + const unsigned int key0 = 24U; |
2737 | + const unsigned int keyBACKSPACE = 25U; |
2738 | + const unsigned int keyINSERT = 26U; |
2739 | + const unsigned int keyHOME = 27U; |
2740 | + const unsigned int keyPAGEUP = 28U; |
2741 | + const unsigned int keyTAB = 29U; |
2742 | + const unsigned int keyQ = 30U; |
2743 | + const unsigned int keyW = 31U; |
2744 | + const unsigned int keyE = 32U; |
2745 | + const unsigned int keyR = 33U; |
2746 | + const unsigned int keyT = 34U; |
2747 | + const unsigned int keyY = 35U; |
2748 | + const unsigned int keyU = 36U; |
2749 | + const unsigned int keyI = 37U; |
2750 | + const unsigned int keyO = 38U; |
2751 | + const unsigned int keyP = 39U; |
2752 | + const unsigned int keyDELETE = 40U; |
2753 | + const unsigned int keyEND = 41U; |
2754 | + const unsigned int keyPAGEDOWN = 42U; |
2755 | + const unsigned int keyCAPSLOCK = 43U; |
2756 | + const unsigned int keyA = 44U; |
2757 | + const unsigned int keyS = 45U; |
2758 | + const unsigned int keyD = 46U; |
2759 | + const unsigned int keyF = 47U; |
2760 | + const unsigned int keyG = 48U; |
2761 | + const unsigned int keyH = 49U; |
2762 | + const unsigned int keyJ = 50U; |
2763 | + const unsigned int keyK = 51U; |
2764 | + const unsigned int keyL = 52U; |
2765 | + const unsigned int keyENTER = 53U; |
2766 | + const unsigned int keySHIFTLEFT = 54U; |
2767 | + const unsigned int keyZ = 55U; |
2768 | + const unsigned int keyX = 56U; |
2769 | + const unsigned int keyC = 57U; |
2770 | + const unsigned int keyV = 58U; |
2771 | + const unsigned int keyB = 59U; |
2772 | + const unsigned int keyN = 60U; |
2773 | + const unsigned int keyM = 61U; |
2774 | + const unsigned int keySHIFTRIGHT = 62U; |
2775 | + const unsigned int keyARROWUP = 63U; |
2776 | + const unsigned int keyCTRLLEFT = 64U; |
2777 | + const unsigned int keyAPPLEFT = 65U; |
2778 | + const unsigned int keyALT = 66U; |
2779 | + const unsigned int keySPACE = 67U; |
2780 | + const unsigned int keyALTGR = 68U; |
2781 | + const unsigned int keyAPPRIGHT = 69U; |
2782 | + const unsigned int keyMENU = 70U; |
2783 | + const unsigned int keyCTRLRIGHT = 71U; |
2784 | + const unsigned int keyARROWLEFT = 72U; |
2785 | + const unsigned int keyARROWDOWN = 73U; |
2786 | + const unsigned int keyARROWRIGHT = 74U; |
2787 | + const unsigned int keyPAD0 = 75U; |
2788 | + const unsigned int keyPAD1 = 76U; |
2789 | + const unsigned int keyPAD2 = 77U; |
2790 | + const unsigned int keyPAD3 = 78U; |
2791 | + const unsigned int keyPAD4 = 79U; |
2792 | + const unsigned int keyPAD5 = 80U; |
2793 | + const unsigned int keyPAD6 = 81U; |
2794 | + const unsigned int keyPAD7 = 82U; |
2795 | + const unsigned int keyPAD8 = 83U; |
2796 | + const unsigned int keyPAD9 = 84U; |
2797 | + const unsigned int keyPADADD = 85U; |
2798 | + const unsigned int keyPADSUB = 86U; |
2799 | + const unsigned int keyPADMUL = 87U; |
2800 | + const unsigned int keyPADDIV = 88U; |
2801 | +#endif |
2802 | + |
2803 | + const double PI = 3.14159265358979323846; //!< Definition of the mathematical constant PI |
2804 | + |
2805 | + // Definition of a 10x13 font (small size). |
2806 | + const unsigned int font10x13[256*10*13/32] = { |
2807 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2808 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80100c0, |
2809 | + 0x68000300,0x801,0xc00010,0x100c000,0x68100,0x100c0680,0x2,0x403000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2810 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2811 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x0,0x0,0x0,0x0,0x0,0x4020120, |
2812 | + 0x58120480,0x402,0x1205008,0x2012050,0x58080,0x20120581,0x40000001,0x804812,0x2000000,0x0,0x300,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2813 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x140,0x80000,0x200402,0x800000,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2814 | + 0x0,0x7010,0x7000000,0x8000200,0x20000,0xc0002000,0x8008,0x0,0x0,0x0,0x0,0x808,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2815 | + 0x0,0x0,0x80000000,0x0,0x0,0x0,0x40000,0x0,0x0,0x0,0x0,0x480,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x80100c0,0x68000480,0x1001, |
2816 | + 0xc00010,0x1018000,0x68100,0x100c0680,0x4,0x403000,0x1020000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20140,0x28081883,0x200801, |
2817 | + 0x2a00000,0x10,0x1c0201c0,0x70040f80,0xc0f81c07,0x0,0x70,0x3e0303c0,0x3c3c0f83,0xe03c2107,0xe08810,0x18c31070,0x3c0703c0, |
2818 | + 0x783e0842,0x22222208,0x83e04010,0x1008000,0x4000200,0x20001,0x2002,0x408008,0x0,0x0,0x100000,0x0,0x1008,0x2000000,0x0,0x0,0x0, |
2819 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20080,0x38000880,0x8078140f,0x81c00000,0x3e000,0xc020180,0x60080001,0xe0000002,0xc00042,0x108e2010, |
2820 | + 0xc0300c0,0x300c0303,0xf83c3e0f,0x83e0f81c,0x701c070,0x3c0c41c0,0x701c0701,0xc0001d08,0x42108421,0x8820088,0x4020120,0x58140480, |
2821 | + 0x802,0x1205008,0x3014050,0xc058080,0x20120581,0x40000002,0x804814,0x2020050,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20140, |
2822 | + 0x281e2484,0x80200801,0x1c02000,0x10,0x22060220,0x880c0801,0x82208,0x80000001,0x20008,0x41030220,0x40220802,0x402102,0x209010, |
2823 | + 0x18c31088,0x22088220,0x80080842,0x22222208,0x80204010,0x1014000,0x200,0x20001,0x2000,0x8008,0x0,0x0,0x100000,0x0,0x1008, |
2824 | + 0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x40000500,0x80800010,0x40200000,0x41000,0x12020040,0x10000003,0xa0000006, |
2825 | + 0x12000c4,0x31014000,0xc0300c0,0x300c0302,0x80402008,0x2008008,0x2008020,0x220c4220,0x88220882,0x20002208,0x42108421,0x8820088, |
2826 | + 0x0,0x300,0x0,0x0,0x0,0x14000000,0x0,0x200200,0x0,0x20000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0xfc282504,0x80001000, |
2827 | + 0x82a02000,0x20,0x22020020,0x8140802,0x102208,0x80801006,0x18008,0x9c848220,0x80210802,0x802102,0x20a010,0x15429104,0x22104220, |
2828 | + 0x80080842,0x22221405,0x404008,0x1022000,0x703c0,0x381e0701,0xc0783c02,0xc09008,0x1d83c070,0x3c078140,0x381c0882,0x21242208, |
2829 | + 0x81e01008,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x201e0,0x40220500,0x80800027,0x20e02800,0x9c800,0x12020040, |
2830 | + 0x20000883,0xa0200002,0x120a044,0x11064010,0x12048120,0x48120484,0x80802008,0x2008008,0x2008020,0x210a4411,0x4411044,0x10884508, |
2831 | + 0x42108421,0x503c0b0,0x1c0701c0,0x701c0707,0x70381c07,0x1c07008,0x2008020,0x20f01c0,0x701c0701,0xc0201c08,0x82208822,0x883c088, |
2832 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x50281903,0x20001000,0x80802000,0x20,0x22020040,0x30240f03,0xc0101c08,0x80801018, |
2833 | + 0x1fc06010,0xa48483c0,0x80210f03,0xe0803f02,0x20c010,0x15429104,0x22104220,0x70080841,0x41540805,0x804008,0x1041000,0x8220, |
2834 | + 0x40220881,0x882202,0x40a008,0x12422088,0x22088180,0x40100882,0x21241408,0x80201008,0x2031000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2835 | + 0x0,0x20280,0x401c0200,0x700028,0x21205000,0x92800,0xc1fc080,0x10000883,0xa0200002,0x1205049,0x12c19010,0x12048120,0x48120484, |
2836 | + 0xf0803c0f,0x3c0f008,0x2008020,0x790a4411,0x4411044,0x10504908,0x42108421,0x5022088,0x2008020,0x8020080,0x88402208,0x82208808, |
2837 | + 0x2008020,0x1e088220,0x88220882,0x20002608,0x82208822,0x8822088,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0x501c0264, |
2838 | + 0xa0001000,0x8001fc00,0x7000020,0x22020080,0x83e0082,0x20202207,0x80000020,0x1020,0xa4848220,0x80210802,0x9c2102,0x20c010, |
2839 | + 0x12425104,0x3c1043c0,0x8080841,0x41540802,0x804008,0x1000000,0x78220,0x40220f81,0x882202,0x40c008,0x12422088,0x22088100, |
2840 | + 0x60100881,0x41540805,0x406008,0x1849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20280,0xf0140200,0x880028,0x20e0a03f,0x709c800, |
2841 | + 0x201c0,0x60000881,0xa0000007,0xc0284b,0x122eb020,0x12048120,0x48120487,0x80802008,0x2008008,0x2008020,0x21094411,0x4411044, |
2842 | + 0x10204908,0x42108421,0x2022088,0x1e0781e0,0x781e0787,0xf8403e0f,0x83e0f808,0x2008020,0x22088220,0x88220882,0x21fc2a08,0x82208822, |
2843 | + 0x5022050,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20001,0xf80a0294,0x40001000,0x80002000,0x20,0x22020100,0x8040082,0x20202200, |
2844 | + 0x80000018,0x1fc06020,0xa48fc220,0x80210802,0x842102,0x20a010,0x12425104,0x20104240,0x8080841,0x41541402,0x1004008,0x1000000, |
2845 | + 0x88220,0x40220801,0x882202,0x40a008,0x12422088,0x22088100,0x18100881,0x41540805,0x801008,0x2046000,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2846 | + 0x0,0x0,0x0,0x20280,0x401c0f80,0x80880028,0x20005001,0x94800,0x20000,0x880,0xa0000000,0x5015,0x4215040,0x3f0fc3f0,0xfc3f0fc8, |
2847 | + 0x80802008,0x2008008,0x2008020,0x21094411,0x4411044,0x10505108,0x42108421,0x203c088,0x22088220,0x88220888,0x80402008,0x2008008, |
2848 | + 0x2008020,0x22088220,0x88220882,0x20002a08,0x82208822,0x5022050,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa00a0494,0x60001000, |
2849 | + 0x80002004,0x8020,0x22020200,0x88040882,0x20402201,0x801006,0x18000,0x9f084220,0x40220802,0x442102,0x209010,0x10423088,0x20088220, |
2850 | + 0x8080840,0x80882202,0x2004008,0x1000000,0x88220,0x40220881,0x882202,0x409008,0x12422088,0x22088100,0x8100880,0x80881402, |
2851 | + 0x1001008,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20280,0x40220200,0x80700027,0x20002801,0x92800,0x1fc000,0x980, |
2852 | + 0xa0000000,0xa017,0x84417840,0x21084210,0x84210848,0x80402008,0x2008008,0x2008020,0x2208c220,0x88220882,0x20882208,0x42108421, |
2853 | + 0x2020088,0x22088220,0x88220888,0xc8402208,0x82208808,0x2008020,0x22088220,0x88220882,0x20203208,0x82208822,0x2022020,0x0,0x0,0x0, |
2854 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000,0xa03c0463,0x90000801,0x2004,0x8040,0x1c0703e0,0x70040701,0xc0401c06,0x801001,0x20020, |
2855 | + 0x400843c0,0x3c3c0f82,0x3c2107,0x1c0881e,0x10423070,0x20070210,0xf0080780,0x80882202,0x3e04004,0x1000000,0x783c0,0x381e0701, |
2856 | + 0x782202,0x408808,0x12422070,0x3c078100,0x700c0780,0x80882202,0x1e01008,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x201e0, |
2857 | + 0xf8000200,0x80080010,0x40000001,0x41000,0x0,0xe80,0xa0000000,0x21,0x8e21038,0x21084210,0x84210848,0xf83c3e0f,0x83e0f81c, |
2858 | + 0x701c070,0x3c08c1c0,0x701c0701,0xc0005c07,0x81e0781e,0x20200b0,0x1e0781e0,0x781e0787,0x30381c07,0x1c07008,0x2008020,0x1c0881c0, |
2859 | + 0x701c0701,0xc0201c07,0x81e0781e,0x203c020,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000,0x801,0x4,0x40,0x0,0x0,0x0,0x1000, |
2860 | + 0x0,0x3c000000,0x0,0x0,0x0,0x0,0x10000,0x0,0x0,0x4004,0x1000000,0x0,0x0,0x80000,0x400000,0x0,0x20008000,0x0,0x4,0x1008,0x2000000, |
2861 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x8008000f,0x80000000,0x3e000,0x0,0x800,0xa0000400,0x0,0x0,0x0,0x0,0x80000,0x0, |
2862 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100000,0x0,0x0,0x0,0x0,0x2000,0x0,0x4020040,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000, |
2863 | + 0x402,0x8,0x40,0x0,0x0,0x0,0x2000,0x0,0x0,0x0,0x0,0x0,0x0,0xc000,0x0,0x0,0x7004,0x70000fc,0x0,0x0,0x700000,0x800000,0x0,0x20008000, |
2864 | + 0x0,0x4,0x808,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x0,0x80f00000,0x0,0x0,0x0,0x800,0xa0001800,0x0,0x0,0x0,0x0, |
2865 | + 0x300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x4020040 |
2866 | + }; |
2867 | + |
2868 | + // Definition of a 12x24 font (normal size). |
2869 | + const unsigned int font12x24[12*24*256/32] = { |
2870 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2871 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x19,0x80000000,0x198000,0x0,0x0,0x0,0x0, |
2872 | + 0x0,0x198,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc001806,0xc81980,0x60000000,0xc001806,0x1980c00,0x18060198,0xc80c, |
2873 | + 0x180600,0xc8198000,0xc001,0x80601980,0x18000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2874 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2875 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x0,0xf0000,0x0,0x0,0x0,0x0,0x0,0x198,0x0,0x0,0x0,0x0,0x0,0x0, |
2876 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x600300f,0x1301980,0x90000000,0x600300f,0x1980600,0x300f0198,0x13006,0x300f01,0x30198000,0x6003, |
2877 | + 0xf01980,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2878 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2879 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x60000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7007,0x3c0000,0x3006019, |
2880 | + 0x80000000,0x90000000,0x3006019,0x80000300,0x60198000,0x3,0x601980,0x0,0x3006,0x1980000,0x60000000,0x0,0x0,0xe0000000,0x0, |
2881 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2882 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000, |
2883 | + 0x0,0x0,0x0,0x0,0x0,0xc800019,0x80000000,0x198000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x1001,0x420000,0x0,0x0,0x90000000, |
2884 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18000c06,0xc80001,0x10000000,0x18000c06,0x1800,0xc060000,0xc818,0xc0600,0xc8000000, |
2885 | + 0x18000,0xc0600000,0xc000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6019,0x80660207,0x800f8060,0x300c004,0x0,0x6, |
2886 | + 0xe00703f,0x3f00383,0xf80f07fc,0x1f01f000,0x0,0xf8,0x607f,0x7c7e07,0xfe7fe0f8,0x6063fc1f,0x86066007,0xe7060f0,0x7f80f07f, |
2887 | + 0x81f8fff6,0x6606c03,0x70ee077f,0xe0786000,0xf0070000,0xc000060,0xc0,0x3e000,0x60006003,0x600fc00,0x0,0x0,0x0,0x0,0x0,0x3c0603, |
2888 | + 0xc0000000,0x7800000,0xf0000,0x0,0xf00001f,0x80001fe0,0x7fe000,0x0,0x0,0x0,0x168fe609,0x0,0x90e07,0x6000,0x3c000e,0x70000f8, |
2889 | + 0x1980001f,0x0,0x1f8,0xf00000f,0xf00180,0xfe000,0xe00e,0x1001,0x20060,0x6006006,0x600600,0x600fe07c,0x7fe7fe7f,0xe7fe3fc3, |
2890 | + 0xfc3fc3fc,0x7e07060f,0xf00f00,0xf00f0000,0xf360660,0x6606606e,0x76001e0,0xc00180f,0x1681981,0x10000000,0xc00180f,0x1980c00, |
2891 | + 0x180f0198,0x3801680c,0x180f01,0x68198000,0xc001,0x80f01980,0x18600198,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6019, |
2892 | + 0x8044020c,0xc01f8060,0x2004004,0x0,0xc,0x3f81f07f,0x87f80383,0xf81f87fc,0x3f83f800,0x0,0x1fc,0x780607f,0x81fe7f87,0xfe7fe1fc, |
2893 | + 0x6063fc1f,0x860c6007,0xe7061f8,0x7fc1f87f,0xc3fcfff6,0x6606c03,0x30c6067f,0xe0783000,0xf00d8000,0x6000060,0xc0,0x7e000,0x60006003, |
2894 | + 0x600fc00,0x0,0x0,0xc00,0x0,0x0,0x7c0603,0xe0000000,0xfc00000,0x1f0000,0x0,0x900003f,0xc0003fe0,0x7fe000,0x0,0x0,0x0,0x1302660f, |
2895 | + 0x0,0xf0606,0x6004,0x7e0006,0x60601f8,0x19800001,0x80000000,0x1f8,0x19800010,0x81080300,0x3f2000,0x2011,0x1001,0x1c0060,0x6006006, |
2896 | + 0x600600,0x601fe1fe,0x7fe7fe7f,0xe7fe3fc3,0xfc3fc3fc,0x7f87061f,0x81f81f81,0xf81f8000,0x3fa60660,0x66066066,0x66003f0,0x6003009, |
2897 | + 0x1301981,0x10000000,0x6003009,0x1980600,0x30090198,0x1f013006,0x300901,0x30198000,0x6003,0x901980,0x30600198,0x0,0x0,0x0, |
2898 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6019,0x80cc0f8c,0xc0180060,0x6006044,0x40000000,0xc,0x3181b041,0xc41c0783,0x388018, |
2899 | + 0x71c71800,0x0,0x106,0x18c0f061,0xc38261c6,0x600384,0x60606001,0x86186007,0xe78630c,0x60e30c60,0xe7040606,0x630cc03,0x39c30c00, |
2900 | + 0xc0603000,0x3018c000,0x3000060,0xc0,0x60000,0x60000000,0x6000c00,0x0,0x0,0xc00,0x0,0x0,0x600600,0x60000000,0x18400000,0x180000, |
2901 | + 0x0,0x19800070,0x40003600,0xc000,0x0,0x0,0x0,0x25a06,0x0,0x6030c,0x4,0xe20007,0xe060180,0xf000,0x80000000,0xf0000,0x10800000, |
2902 | + 0x80080600,0x7f2000,0x2020,0x80001001,0x20000,0xf00f00f,0xf00f00,0x601b0382,0x60060060,0x6000600,0x60060060,0x61c78630,0xc30c30c3, |
2903 | + 0xc30c000,0x30e60660,0x66066063,0xc600738,0x3006019,0x80000000,0xe0000000,0x3006019,0x80000300,0x60198000,0x3e000003,0x601980, |
2904 | + 0x0,0x3006,0x1980000,0x60600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6019,0x80cc1fcc,0xc0180060,0x6006035,0x80000000, |
2905 | + 0x18,0x71c03000,0xc00c0583,0x300018,0x60c60c00,0x0,0x6,0x3060f060,0xc30060c6,0x600300,0x60606001,0x86306007,0x9e78670e,0x60670e60, |
2906 | + 0x66000606,0x630c606,0x19830c01,0xc0601800,0x30306000,0x60,0xc0,0x60000,0x60000000,0x6000c00,0x0,0x0,0xc00,0x0,0x0,0x600600, |
2907 | + 0x60000000,0x18000000,0x300000,0x0,0x78060,0x6600,0x1c000,0x300c,0x39819c0,0x0,0x25a00,0x0,0x30c,0x4,0xc00003,0xc060180,0x30c1f, |
2908 | + 0x80000000,0x30c000,0x10800001,0x80700000,0x7f2000,0x2020,0x80001001,0x20060,0xf00f00f,0xf00f00,0xf01b0300,0x60060060,0x6000600, |
2909 | + 0x60060060,0x60c78670,0xe70e70e7,0xe70e000,0x70c60660,0x66066063,0xc7f8618,0x0,0x0,0x0,0x0,0x0,0x0,0x7000000,0x0,0x0,0x0, |
2910 | + 0x0,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6019,0x87ff3a4c,0xc0180060,0x400600e,0x600000,0x18,0x60c03000, |
2911 | + 0xc00c0d83,0x700018,0x60c60c00,0x20,0x400006,0x3060f060,0xc6006066,0x600600,0x60606001,0x86606006,0x966c6606,0x60660660,0x66000606, |
2912 | + 0x630c666,0xf019801,0x80601800,0x30603000,0x1f06f,0xf01ec0,0xf03fe1ec,0x6703e01f,0x61c0c06,0xdc6701f0,0x6f01ec0c,0xe1f87fc6, |
2913 | + 0xc60cc03,0x71c60c7f,0xc0600600,0x60000000,0x30000000,0x300000,0x40040,0x88060,0x6600,0x18000,0x300c,0x1981980,0x0,0x2421f, |
2914 | + 0x80003ce0,0x7fc198,0x601f,0xc02021,0x980600c0,0x40230,0x80000000,0x402000,0x19806003,0x80006,0xc7f2000,0x2020,0x80001001, |
2915 | + 0x420060,0xf00f00f,0xf00f00,0xf01b0600,0x60060060,0x6000600,0x60060060,0x6066c660,0x66066066,0x6606208,0x60e60660,0x66066061, |
2916 | + 0x987fc670,0x1f01f01f,0x1f01f01,0xf039c0f0,0xf00f00f,0xf03e03,0xe03e03e0,0x1f06701f,0x1f01f01,0xf01f0060,0x1e660c60,0xc60c60c6, |
2917 | + 0xc6f060c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x7ff3207,0x8c0c0000,0xc00300e,0x600000,0x30,0x60c03000, |
2918 | + 0xc01c0983,0xf0600030,0x31860c06,0x6001e0,0x78000e,0x23e1f861,0xc6006066,0x600600,0x60606001,0x86c06006,0x966c6606,0x60660660, |
2919 | + 0xe7000606,0x630c666,0xf01f803,0x600c00,0x30000000,0x3f87f,0x83f83fc3,0xf83fe3fc,0x7f83e01f,0x6380c07,0xfe7f83f8,0x7f83fc0d, |
2920 | + 0xf3fc7fc6,0xc71cc03,0x3183187f,0xc0600600,0x60000000,0xff806000,0x300000,0x40040,0x88070,0x6600,0x60030060,0x6001818,0x1883180, |
2921 | + 0x0,0x2423f,0xc0007ff0,0x607fc1f8,0x603f,0x80c01fc1,0xf80601e0,0x5f220,0x80420000,0x5f2000,0xf006006,0x80006,0xc7f2000,0x2020, |
2922 | + 0x82107c07,0xc03c0060,0x1f81f81f,0x81f81f80,0xf03b0600,0x60060060,0x6000600,0x60060060,0x6066c660,0x66066066,0x660671c,0x61660660, |
2923 | + 0x66066061,0xf860e6c0,0x3f83f83f,0x83f83f83,0xf87fe3f8,0x3f83f83f,0x83f83e03,0xe03e03e0,0x3f87f83f,0x83f83f83,0xf83f8060, |
2924 | + 0x3fc60c60,0xc60c60c3,0x187f8318,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x883200,0x300c0000,0xc003035,0x80600000, |
2925 | + 0x30,0x66c03001,0xc0f81983,0xf86f0030,0x1f071c06,0x600787,0xfe1e001c,0x6261987f,0x86006067,0xfe7fc600,0x7fe06001,0x87c06006, |
2926 | + 0xf6646606,0x60e6067f,0xc3e00606,0x61986f6,0x600f007,0x600c00,0x30000000,0x21c71,0x830831c3,0x1c06031c,0x71c06003,0x6700c06, |
2927 | + 0x6671c318,0x71831c0f,0x16040c06,0xc318606,0x1b031803,0x80600600,0x60000000,0x30009000,0x300000,0x40040,0x7003e,0x67e0,0x90070090, |
2928 | + 0x9001818,0x8c3100,0x0,0x60,0x4000e730,0x900380f0,0x6034,0x80c018c7,0xfe060338,0xb0121,0x80c60000,0x909000,0x6008,0x1080006, |
2929 | + 0xc3f2000,0x2011,0x3180060,0x60060e0,0x19819819,0x81981981,0x9833c600,0x7fe7fe7f,0xe7fe0600,0x60060060,0x60664660,0x66066066, |
2930 | + 0x66063b8,0x62660660,0x66066060,0xf06066c0,0x21c21c21,0xc21c21c2,0x1c466308,0x31c31c31,0xc31c0600,0x60060060,0x31871c31,0x83183183, |
2931 | + 0x18318000,0x71860c60,0xc60c60c3,0x18718318,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x1981a00,0xe03e0000,0xc003044, |
2932 | + 0x40600000,0x60,0x66c03001,0x80f03182,0x1c7f8030,0x3f83fc06,0x601e07,0xfe078038,0x6661987f,0x86006067,0xfe7fc61e,0x7fe06001, |
2933 | + 0x87e06006,0x66666606,0x7fc6067f,0x81f80606,0x61986f6,0x6006006,0x600600,0x30000000,0xc60,0xc60060c6,0xc06060c,0x60c06003, |
2934 | + 0x6e00c06,0x6660c60c,0x60c60c0e,0x6000c06,0xc318666,0x1f031803,0x600600,0x603c2000,0x30016800,0x1fe0000,0x1f81f8,0x1c1f,0x804067e1, |
2935 | + 0x68060168,0x16800810,0xc42300,0x0,0x60,0x20c331,0x68030060,0x6064,0x3fc1040,0xf006031c,0xa011e,0x818c7fe0,0x909000,0x7fe1f, |
2936 | + 0x80f00006,0xc0f2060,0xf80e,0x18c0780,0x780781c0,0x19819819,0x81981981,0x9833c600,0x7fe7fe7f,0xe7fe0600,0x60060060,0xfc666660, |
2937 | + 0x66066066,0x66061f0,0x66660660,0x66066060,0x606066e0,0xc00c00,0xc00c00c0,0xc066600,0x60c60c60,0xc60c0600,0x60060060,0x60c60c60, |
2938 | + 0xc60c60c6,0xc60c000,0x61c60c60,0xc60c60c3,0x1860c318,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x1980f81,0x80373000, |
2939 | + 0xc003004,0x7fe0001,0xf0000060,0x60c03003,0x183180,0xc71c060,0x3181ec00,0x7000,0xe070,0x66619860,0xc6006066,0x60061e,0x60606001, |
2940 | + 0x87606006,0x66626606,0x7f860661,0xc01c0606,0x6198696,0xf00600e,0x600600,0x30000000,0x1fc60,0xc60060c7,0xfc06060c,0x60c06003, |
2941 | + 0x7c00c06,0x6660c60c,0x60c60c0c,0x7f00c06,0xc3b8666,0xe01b007,0x3c00600,0x3c7fe000,0xff03ec00,0x1fe0000,0x40040,0xe001,0xc0806603, |
2942 | + 0xec0e03ec,0x3ec00010,0x0,0x60000000,0x7f,0x10c3f3,0xec070060,0x6064,0x3fc1040,0x6000030c,0xa0100,0x3187fe1,0xf09f1000,0x7fe00, |
2943 | + 0x6,0xc012060,0x0,0xc63c03,0xc03c0380,0x19819819,0x81981981,0x98330600,0x60060060,0x6000600,0x60060060,0xfc662660,0x66066066, |
2944 | + 0x66060e0,0x6c660660,0x66066060,0x6060e630,0x1fc1fc1f,0xc1fc1fc1,0xfc3fe600,0x7fc7fc7f,0xc7fc0600,0x60060060,0x60c60c60,0xc60c60c6, |
2945 | + 0xc60c7fe,0x62c60c60,0xc60c60c1,0xb060c1b0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0xffe02c6,0x3c633000,0xc003004, |
2946 | + 0x7fe0001,0xf00000c0,0x60c03006,0xc6180,0xc60c060,0x60c00c00,0x7000,0xe060,0x66639c60,0x66006066,0x600606,0x60606001,0x86306006, |
2947 | + 0x66636606,0x60060660,0xc0060606,0x61f8696,0xf00600c,0x600300,0x30000000,0x3fc60,0xc60060c7,0xfc06060c,0x60c06003,0x7c00c06, |
2948 | + 0x6660c60c,0x60c60c0c,0x1f80c06,0xc1b0666,0xe01b00e,0x3c00600,0x3c43c000,0x3007de00,0x600000,0x40040,0x30000,0x61006607,0xde0c07de, |
2949 | + 0x7de00000,0x0,0xf07fefff,0x1f,0x8008c3f7,0xde0e0060,0x6064,0xc01047,0xfe00018c,0xb013f,0x86300061,0xf0911000,0x6000,0x6, |
2950 | + 0xc012060,0x3f,0x8063c0cc,0x3cc0c700,0x39c39c39,0xc39c39c1,0x98630600,0x60060060,0x6000600,0x60060060,0x60663660,0x66066066, |
2951 | + 0x66061f0,0x78660660,0x66066060,0x607fc618,0x3fc3fc3f,0xc3fc3fc3,0xfc7fe600,0x7fc7fc7f,0xc7fc0600,0x60060060,0x60c60c60,0xc60c60c6, |
2952 | + 0xc60c7fe,0x64c60c60,0xc60c60c1,0xb060c1b0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0xffe0260,0x6661b000,0xc003000, |
2953 | + 0x600000,0xc0,0x60c0300c,0xc7fe0,0xc60c060,0x60c01c00,0x1e07,0xfe078060,0x6663fc60,0x66006066,0x600606,0x60606001,0x86386006, |
2954 | + 0x6636606,0x60060660,0xe0060606,0x60f039c,0x1b806018,0x600300,0x30000000,0x70c60,0xc60060c6,0x6060c,0x60c06003,0x7600c06, |
2955 | + 0x6660c60c,0x60c60c0c,0x1c0c06,0xc1b03fc,0xe01f01c,0xe00600,0x70000000,0x3007fc00,0x600000,0x40040,0x0,0x62006607,0xfc1807fc, |
2956 | + 0x7fc00000,0x0,0xf0000000,0x1,0xc004c307,0xfc1c0060,0x6064,0xc018c0,0x600000d8,0x5f200,0x3180060,0x50a000,0x6000,0x6,0xc012000, |
2957 | + 0x0,0xc601c0,0x4201c600,0x3fc3fc3f,0xc3fc3fc3,0xfc7f0600,0x60060060,0x6000600,0x60060060,0x60663660,0x66066066,0x66063b8, |
2958 | + 0x70660660,0x66066060,0x607f860c,0x70c70c70,0xc70c70c7,0xcc60600,0x60060060,0x6000600,0x60060060,0x60c60c60,0xc60c60c6,0xc60c000, |
2959 | + 0x68c60c60,0xc60c60c1,0xf060c1f0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3300260,0x6661e000,0xc003000,0x600000, |
2960 | + 0x180,0x71c03018,0xc7fe0,0xc60c0c0,0x60c01800,0x787,0xfe1e0060,0x6663fc60,0x630060c6,0x600306,0x60606001,0x86186006,0x661e70e, |
2961 | + 0x60070c60,0x60060606,0x60f039c,0x19806038,0x600180,0x30000000,0x60c60,0xc60060c6,0x6060c,0x60c06003,0x6700c06,0x6660c60c, |
2962 | + 0x60c60c0c,0xc0c06,0xc1b039c,0x1f00e018,0x600600,0x60000000,0x1803f800,0x600000,0x40040,0x39e00,0x63006603,0xf83803f8,0x3f800000, |
2963 | + 0x0,0x60000000,0x0,0xc00cc303,0xf8180060,0x6064,0xc01fc0,0x60060070,0x40200,0x18c0060,0x402000,0x6000,0x6,0xc012000,0x0,0x18c0140, |
2964 | + 0x2014600,0x3fc3fc3f,0xc3fc3fc3,0xfc7f0300,0x60060060,0x6000600,0x60060060,0x60c61e70,0xe70e70e7,0xe70e71c,0x60e60660,0x66066060, |
2965 | + 0x6060060c,0x60c60c60,0xc60c60c6,0xcc60600,0x60060060,0x6000600,0x60060060,0x60c60c60,0xc60c60c6,0xc60c000,0x70c60c60,0xc60c60c0, |
2966 | + 0xe060c0e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x33022e0,0x6670c000,0xc003000,0x600600,0x60180,0x31803030, |
2967 | + 0x41c0184,0x1831c0c0,0x71c23806,0x6001e0,0x780000,0x62630c60,0xe38261c6,0x600386,0x60606043,0x860c6006,0x661e30c,0x60030c60, |
2968 | + 0x740e0607,0xe0f039c,0x31c06030,0x600180,0x30000000,0x61c71,0x830831c3,0x406031c,0x60c06003,0x6300c06,0x6660c318,0x71831c0c, |
2969 | + 0x41c0c07,0x1c0e039c,0x1b00e030,0x600600,0x60000000,0x1c41b00e,0x601cc0,0x401f8,0x45240,0xe1803601,0xb03001b0,0x1b000000, |
2970 | + 0x0,0x0,0x41,0xc008e711,0xb0300060,0x6034,0x80c02020,0x60060030,0x30c00,0xc60000,0x30c000,0x0,0x7,0x1c012000,0x0,0x3180240, |
2971 | + 0x6024608,0x30c30c30,0xc30c30c3,0xc630382,0x60060060,0x6000600,0x60060060,0x61c61e30,0xc30c30c3,0xc30c208,0x70c70e70,0xe70e70e0, |
2972 | + 0x6060068c,0x61c61c61,0xc61c61c6,0x1cc62308,0x30430430,0x43040600,0x60060060,0x31860c31,0x83183183,0x18318060,0x31c71c71, |
2973 | + 0xc71c71c0,0xe07180e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x2203fc0,0x663f6000,0x6006000,0x600600,0x60300, |
2974 | + 0x3f81fe7f,0xc7f80187,0xf83f80c0,0x3f83f006,0x600020,0x400060,0x33e6067f,0xc1fe7f87,0xfe6001fe,0x6063fc7f,0x60e7fe6,0x660e3f8, |
2975 | + 0x6001f860,0x37fc0603,0xfc06030c,0x30c0607f,0xe06000c0,0x30000000,0x7fc7f,0x83f83fc3,0xfc0603fc,0x60c7fe03,0x61807c6,0x6660c3f8, |
2976 | + 0x7f83fc0c,0x7f80fc3,0xfc0e039c,0x3180607f,0xc0600600,0x60000000,0xfc0e00c,0x601986,0x66040040,0x4527f,0xc0803fe0,0xe07fe0e0, |
2977 | + 0xe000000,0x0,0x0,0x7f,0x80107ff0,0xe07fc060,0x603f,0x83fe0000,0x60060018,0xf000,0x420000,0xf0000,0x7fe00,0x7,0xfe012000, |
2978 | + 0x0,0x2100640,0xc0643f8,0x60660660,0x66066067,0xec3e1fe,0x7fe7fe7f,0xe7fe3fc3,0xfc3fc3fc,0x7f860e3f,0x83f83f83,0xf83f8000, |
2979 | + 0x5fc3fc3f,0xc3fc3fc0,0x606006fc,0x7fc7fc7f,0xc7fc7fc7,0xfcffe3f8,0x3fc3fc3f,0xc3fc7fe7,0xfe7fe7fe,0x3f860c3f,0x83f83f83, |
2980 | + 0xf83f8060,0x7f83fc3f,0xc3fc3fc0,0x607f8060,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000,0x2201f80,0x3c1e7000,0x6006000, |
2981 | + 0x600,0x60300,0xe01fe7f,0xc3f00183,0xe01f0180,0x1f01e006,0x600000,0x60,0x3006067f,0x807c7e07,0xfe6000f8,0x6063fc3e,0x6067fe6, |
2982 | + 0x660e0f0,0x6000f060,0x3bf80601,0xf806030c,0x60e0607f,0xe06000c0,0x30000000,0x1ec6f,0xf01ec0,0xf80601ec,0x60c7fe03,0x61c03c6, |
2983 | + 0x6660c1f0,0x6f01ec0c,0x3f007c1,0xcc0e030c,0x71c0c07f,0xc0600600,0x60000000,0x7804018,0xe01186,0x66040040,0x39e3f,0x80401fe0, |
2984 | + 0x407fe040,0x4000000,0x0,0x0,0x3f,0x203ce0,0x407fc060,0x601f,0x3fe0000,0x60060018,0x0,0x0,0x0,0x7fe00,0x6,0xe6012000,0x0, |
2985 | + 0x7e0,0x1807e1f0,0x60660660,0x66066066,0x6c3e07c,0x7fe7fe7f,0xe7fe3fc3,0xfc3fc3fc,0x7e060e0f,0xf00f00,0xf00f0000,0x8f01f81f, |
2986 | + 0x81f81f80,0x60600670,0x1ec1ec1e,0xc1ec1ec1,0xec79c0f0,0xf80f80f,0x80f87fe7,0xfe7fe7fe,0x1f060c1f,0x1f01f01,0xf01f0000,0x4f01cc1c, |
2987 | + 0xc1cc1cc0,0xc06f00c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x6006000,0x600,0x600,0x0,0x0,0x0,0x0, |
2988 | + 0x600000,0x0,0x18000000,0x0,0x0,0x0,0x0,0x0,0x1800,0x0,0x0,0x0,0x600060,0x30000000,0x0,0x0,0xc,0x3,0x0,0x0,0x60000c00,0x0, |
2989 | + 0x0,0xc000,0x600600,0x60000000,0x18,0xc03100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x601f8,0x0,0x0,0x0,0x0,0x6, |
2990 | + 0x12000,0x2000000,0x40,0x20004000,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2991 | + 0x0,0xc06000c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x2004000,0xc00,0x0,0x0,0x0,0x0,0x0,0xc00000, |
2992 | + 0x0,0x1c000000,0x0,0x0,0x0,0x0,0x0,0xc00,0x0,0x0,0x0,0x780000,0xf0000000,0x0,0x0,0x21c,0x3,0x0,0x0,0x60000c00,0x0,0x0,0xc000, |
2993 | + 0x7c0603,0xe0000000,0x10,0xc02300,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x601f0,0x0,0x0,0x0,0x0,0x6,0x12000,0x1000000, |
2994 | + 0x40,0x7e004000,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc06000c0,0x0, |
2995 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200,0x0,0x300c000,0xc00,0x0,0x0,0x0,0x0,0x0,0xc00000,0x0,0x7800000,0x0, |
2996 | + 0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x780000,0xf0000000,0x0,0x0,0x3f8,0x3e,0x0,0x0,0x60000c00,0x0,0x0,0x38000,0x3c0603,0xc0000000, |
2997 | + 0x10,0xfc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x60000,0x0,0x0,0x0,0x0,0x6,0x0,0x1000000,0x0,0x0,0x0,0x0, |
2998 | + 0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x80600380,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
2999 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc,0x0, |
3000 | + 0x0,0x1f0,0x3c,0x0,0x0,0x60000c00,0x0,0x0,0x38000,0x600,0x0,0x0,0xf000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3001 | + 0x0,0x0,0x0,0x0,0x0,0x6,0x0,0xe000000,0x0,0x0,0x0,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x0,0x0,0x0,0x0, |
3002 | + 0x0,0x0,0x0,0x3,0x80600380,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3003 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3004 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3005 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 }; |
3006 | + |
3007 | + // Definition of a 16x32 font (large size). |
3008 | + const unsigned int font16x32[16*32*256/32] = { |
3009 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3010 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3011 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc300000,0x0,0xc300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3012 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x70000e0,0x3c00730,0xe7001c0,0x0,0x70000e0,0x3c00e70,0x70000e0,0x3c00e70,0x730,0x70000e0,0x3c00730, |
3013 | + 0xe700000,0x700,0xe003c0,0xe7000e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3014 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3015 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3016 | + 0x0,0x0,0x6600000,0x0,0x6600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3017 | + 0x0,0x0,0x18001c0,0x6600ff0,0xe7003e0,0x0,0x18001c0,0x6600e70,0x18001c0,0x6600e70,0xff0,0x18001c0,0x6600ff0,0xe700000,0x180, |
3018 | + 0x1c00660,0xe7001c0,0x0,0x0,0x0,0x380,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3019 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3020 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000, |
3021 | + 0x0,0x3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c00380, |
3022 | + 0xc300ce0,0xe700630,0x0,0x1c00380,0xc300e70,0x1c00380,0xc300e70,0xce0,0x1c00380,0xc300ce0,0xe700000,0x1c0,0x3800c30,0xe700380, |
3023 | + 0x0,0x0,0x0,0x7c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3024 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3025 | + 0x0,0x0,0x0,0x0,0xe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0, |
3026 | + 0x0,0x0,0x0,0x0,0x0,0xc300000,0x0,0xc300000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x700000,0x0,0x0,0x0,0x7c007c00,0x3e000000, |
3027 | + 0x0,0x0,0x630,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe000070,0x1800000,0xc60,0x0,0xe000070,0x1800000,0xe000070, |
3028 | + 0x1800000,0x0,0xe000070,0x1800000,0x0,0xe00,0x700180,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3029 | + 0x0,0x0,0x0,0x800000,0x0,0x600600,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3030 | + 0x0,0x0,0x3f0,0xfc0,0x0,0x7000000,0x38000000,0x1c0000,0xfc0000,0x380001c0,0xe01c00,0x7f800000,0x0,0x0,0x0,0x0,0x0,0x0,0x7c, |
3031 | + 0x1801f00,0x0,0x0,0x1c,0x0,0x0,0x3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7300000,0x6600000,0x0,0x6600000,0x0,0x0,0x0,0x0,0xe700000, |
3032 | + 0x0,0x0,0x0,0x0,0x0,0xe00000,0x0,0x0,0x0,0xc000c00,0x43800000,0x0,0x0,0x630,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3033 | + 0xf80,0x70000e0,0x3c00730,0xe700c60,0x0,0x70000e0,0x3c00e70,0x70000e0,0x3c00e70,0xe000730,0x70000e0,0x3c00730,0xe700000,0x700, |
3034 | + 0xe003c0,0xe7000e0,0x38000e70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x6300000,0x803c00,0x7c00180, |
3035 | + 0xc00300,0x1000000,0x0,0x1c,0x3c007c0,0xfc007e0,0xe01ff8,0x3f03ffc,0x7e007c0,0x0,0x0,0x7c0,0x1c0,0x7f8003f0,0x7f007ff8,0x7ff803f0, |
3036 | + 0x70381ffc,0xff0700e,0x7000783c,0x783807c0,0x7fc007c0,0x7fc00fc0,0x7fff7038,0x700ee007,0x780f780f,0x7ffc03f0,0x70000fc0,0x3c00000, |
3037 | + 0x3000000,0x38000000,0x1c0000,0x1fc0000,0x380001c0,0xe01c00,0x7f800000,0x0,0x0,0x0,0x0,0x0,0x0,0xfc,0x1801f80,0x0,0x1f80000, |
3038 | + 0x7e,0x0,0x0,0x2400000,0xfc00000,0x7ff0000,0x7ffc0000,0x0,0x0,0x0,0x0,0xf30fb0c,0x2400000,0x0,0x240780f,0x1c0,0xfc,0x780f, |
3039 | + 0x18003f0,0xe700000,0x7c00000,0x0,0xff0,0x3c00000,0x78007c0,0xc00000,0xff80000,0xf80,0x7c00000,0xc000c00,0x18001c0,0x1c001c0, |
3040 | + 0x1c001c0,0x1c003e0,0x7fe03f0,0x7ff87ff8,0x7ff87ff8,0x1ffc1ffc,0x1ffc1ffc,0x7f007838,0x7c007c0,0x7c007c0,0x7c00000,0x7c67038, |
3041 | + 0x70387038,0x7038780f,0x70001fe0,0x30000c0,0x2400f30,0xe700c60,0x0,0x30000c0,0x2400e70,0x30000c0,0x2400e70,0xf700f30,0x30000c0, |
3042 | + 0x2400f30,0xe700000,0x300,0xc00240,0xe7000c0,0x38000e70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0, |
3043 | + 0x630018c,0x807e00,0xfe00180,0xc00300,0x1000000,0x0,0x38,0xff01fc0,0x3ff01ff0,0x1e01ff8,0x7f83ffc,0x1ff80ff0,0x0,0x0,0xff0, |
3044 | + 0x1f003e0,0x7fe00ff8,0x7fc07ff8,0x7ff80ff8,0x70381ffc,0xff0701c,0x7000783c,0x78381ff0,0x7fe01ff0,0x7fe01ff0,0x7fff7038,0x781ee007, |
3045 | + 0x3c1e380e,0x7ffc0380,0x380001c0,0x3c00000,0x1800000,0x38000000,0x1c0000,0x3c00000,0x380001c0,0xe01c00,0x3800000,0x0,0x0, |
3046 | + 0x0,0x7000000,0x0,0x0,0x1e0,0x18003c0,0x0,0x3fc0000,0x70,0x0,0x0,0x6600000,0x1ff00000,0x1fff0000,0x7ffc0000,0x0,0x0,0x0,0x0, |
3047 | + 0xcf0239c,0x3c00000,0x0,0x3c0380e,0x1c0,0x2001fe,0x380e,0x18007f8,0xe700000,0x8600000,0x0,0xff0,0x7e00000,0x8c00870,0x1800000, |
3048 | + 0x1ff80000,0x180,0xc600000,0xc000c00,0x38001c0,0x3e003e0,0x3e003e0,0x3e001c0,0x7fe0ff8,0x7ff87ff8,0x7ff87ff8,0x1ffc1ffc,0x1ffc1ffc, |
3049 | + 0x7fc07838,0x1ff01ff0,0x1ff01ff0,0x1ff00000,0x1fec7038,0x70387038,0x7038380e,0x70003ce0,0x1800180,0x6600cf0,0xe7007c0,0x0, |
3050 | + 0x1800180,0x6600e70,0x1800180,0x6600e70,0x7c00cf0,0x1800180,0x6600cf0,0xe700000,0x180,0x1800660,0xe700180,0x38000e70,0x0, |
3051 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x630030c,0x3f0e700,0x1e200180,0x1800180,0x21100000,0x0, |
3052 | + 0x38,0x1e7819c0,0x38781038,0x1e01c00,0xf080038,0x1c381c38,0x0,0x0,0x1878,0x7fc03e0,0x70e01e18,0x70e07000,0x70001e18,0x703801c0, |
3053 | + 0x707038,0x70007c7c,0x7c381c70,0x70701c70,0x70703830,0x1c07038,0x381ce007,0x1c1c3c1e,0x3c0380,0x380001c0,0x7e00000,0xc00000, |
3054 | + 0x38000000,0x1c0000,0x3800000,0x38000000,0x1c00,0x3800000,0x0,0x0,0x0,0x7000000,0x0,0x0,0x1c0,0x18001c0,0x0,0x70c0000,0xe0, |
3055 | + 0x0,0x0,0xc300000,0x38300000,0x3c700000,0x3c0000,0x0,0x0,0x0,0x0,0xce022f4,0x1800000,0x0,0x1803c1e,0x1c0,0x2003c2,0x3c1e, |
3056 | + 0x1800e08,0x7e0,0x300000,0x0,0x7e00000,0xe700000,0x600030,0x3000000,0x3f980000,0x180,0x18200000,0xc000c00,0x1e0001c0,0x3e003e0, |
3057 | + 0x3e003e0,0x3e003e0,0xfe01e18,0x70007000,0x70007000,0x1c001c0,0x1c001c0,0x70e07c38,0x1c701c70,0x1c701c70,0x1c700000,0x3c787038, |
3058 | + 0x70387038,0x70383c1e,0x70003870,0xc00300,0xc300ce0,0x380,0x0,0xc00300,0xc300000,0xc00300,0xc300000,0xfc00ce0,0xc00300,0xc300ce0, |
3059 | + 0x0,0xc0,0x3000c30,0x300,0x38000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x630031c,0xff8c300, |
3060 | + 0x1c000180,0x1800180,0x39380000,0x0,0x70,0x1c3801c0,0x203c001c,0x3e01c00,0x1c000038,0x381c3838,0x0,0x0,0x1038,0xe0e03e0,0x70703c08, |
3061 | + 0x70707000,0x70003808,0x703801c0,0x707070,0x70007c7c,0x7c383838,0x70383838,0x70387010,0x1c07038,0x381c700e,0x1e3c1c1c,0x780380, |
3062 | + 0x1c0001c0,0xe700000,0x0,0x38000000,0x1c0000,0x3800000,0x38000000,0x1c00,0x3800000,0x0,0x0,0x0,0x7000000,0x0,0x0,0x1c0,0x18001c0, |
3063 | + 0x0,0xe000000,0xe0,0x0,0x1000100,0x3800,0x70100000,0x38700000,0x780000,0x1c0,0x7801ce0,0xe380000,0x0,0x2264,0x0,0x0,0x1c1c, |
3064 | + 0x0,0x200780,0x1c1c,0x1800c00,0x1818,0x7f00000,0x0,0x18180000,0xc300000,0x600070,0x0,0x7f980000,0x180,0x18300000,0xc000c00, |
3065 | + 0x3000000,0x3e003e0,0x3e003e0,0x3e003e0,0xee03c08,0x70007000,0x70007000,0x1c001c0,0x1c001c0,0x70707c38,0x38383838,0x38383838, |
3066 | + 0x38380000,0x38387038,0x70387038,0x70381c1c,0x7fc03870,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xbc00000,0x0,0x0,0x0,0x0,0x0,0x0, |
3067 | + 0x38000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x6300318,0xe88c300,0x1c000180,0x38001c0, |
3068 | + 0xfe00180,0x0,0x70,0x1c3801c0,0x1c001c,0x6e01c00,0x1c000078,0x381c3818,0x0,0x40000,0x40000038,0x1c0607e0,0x70703800,0x70707000, |
3069 | + 0x70003800,0x703801c0,0x7070e0,0x70007c7c,0x7c383838,0x70383838,0x70387000,0x1c07038,0x381c700e,0xf780e38,0x700380,0x1c0001c0, |
3070 | + 0x1c380000,0x0,0x38000000,0x1c0000,0x3800000,0x38000000,0x1c00,0x3800000,0x0,0x0,0x0,0x7000000,0x0,0x0,0x1c0,0x18001c0,0x0, |
3071 | + 0xe000000,0xe0,0x0,0x1000100,0x4400,0x70000000,0x38700000,0x700000,0xe0,0x7001c70,0xe380000,0x0,0x2264,0x0,0x0,0xe38,0x0, |
3072 | + 0x200700,0xe38,0x1800c00,0x300c,0xc300000,0x0,0x300c0000,0xc300180,0x6003c0,0x0,0x7f980000,0x180,0x18300000,0xc000c00,0x1800000, |
3073 | + 0x7e007e0,0x7e007e0,0x7e003e0,0xee03800,0x70007000,0x70007000,0x1c001c0,0x1c001c0,0x70707c38,0x38383838,0x38383838,0x38380000, |
3074 | + 0x38387038,0x70387038,0x70380e38,0x7ff039f0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e00000,0x0,0x0,0x0,0x40000,0x0,0x0,0x38000000, |
3075 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x6300318,0x1c80e700,0x1c000180,0x38001c0,0x3800180, |
3076 | + 0x0,0xe0,0x381c01c0,0x1c001c,0x6e01c00,0x38000070,0x381c381c,0x0,0x3c0000,0x78000078,0x38030770,0x70707800,0x70387000,0x70007000, |
3077 | + 0x703801c0,0x7071c0,0x7000745c,0x7638701c,0x7038701c,0x70387000,0x1c07038,0x1c38718e,0x7700f78,0xf00380,0xe0001c0,0x381c0000, |
3078 | + 0x7e0,0x39e003e0,0x79c03f0,0x3ffc079c,0x39e01fc0,0xfe01c1e,0x3807778,0x39e007e0,0x39e0079c,0x73c07e0,0x7ff83838,0x701ce007, |
3079 | + 0x783c701c,0x1ffc01c0,0x18001c0,0x0,0x1c000100,0xe0,0x0,0x1000100,0x4200,0x70000000,0x70700100,0xf00100,0x10000e0,0x7000c70, |
3080 | + 0xc700000,0x0,0x2204,0x7e00000,0x1e380100,0x1ffc0f78,0x0,0xf80700,0xf78,0x1800e00,0x63e6,0x18300000,0x0,0x6fe60000,0xe700180, |
3081 | + 0xc00060,0x3838,0x7f980000,0x180,0x18300000,0xc000c00,0x18001c0,0x7700770,0x7700770,0x77007f0,0xee07800,0x70007000,0x70007000, |
3082 | + 0x1c001c0,0x1c001c0,0x70387638,0x701c701c,0x701c701c,0x701c1008,0x707c7038,0x70387038,0x70380f78,0x707039c0,0x7e007e0,0x7e007e0, |
3083 | + 0x7e007e0,0x1f3c03e0,0x3f003f0,0x3f003f0,0x1fc01fc0,0x1fc01fc0,0x7f039e0,0x7e007e0,0x7e007e0,0x7e00380,0x7ce3838,0x38383838, |
3084 | + 0x3838701c,0x39e0701c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x6307fff,0x1c807e0c,0xe000180, |
3085 | + 0x30000c0,0x3800180,0x0,0xe0,0x381c01c0,0x1c001c,0xce01fe0,0x38000070,0x381c381c,0x3800380,0xfc0000,0x7e0000f0,0x30030770, |
3086 | + 0x70707000,0x70387000,0x70007000,0x703801c0,0x707380,0x700076dc,0x7638701c,0x7038701c,0x70387800,0x1c07038,0x1c3873ce,0x7f00770, |
3087 | + 0xe00380,0xe0001c0,0x700e0000,0x1ff8,0x3ff00ff0,0xffc0ff8,0x3ffc0ffc,0x3bf01fc0,0xfe01c3c,0x3807f78,0x3bf00ff0,0x3ff00ffc, |
3088 | + 0x77e0ff0,0x7ff83838,0x3838e007,0x3c783838,0x1ffc01c0,0x18001c0,0x0,0x7ff00380,0x1e0,0x0,0x1000100,0x4200,0x78000000,0x70700380, |
3089 | + 0xe00380,0x3800060,0xe000e30,0x1c600000,0x0,0x2204,0xff00000,0x7f7c0380,0x1ffc0770,0x1c0,0x3fc0700,0x18040770,0x1800780,0x4e12, |
3090 | + 0x18300104,0x0,0x4c320000,0x7e00180,0x1c00030,0x3838,0x7f980000,0x180,0x18302080,0xc000c00,0x18001c0,0x7700770,0x7700770, |
3091 | + 0x7700770,0x1ee07000,0x70007000,0x70007000,0x1c001c0,0x1c001c0,0x70387638,0x701c701c,0x701c701c,0x701c381c,0x705c7038,0x70387038, |
3092 | + 0x70380770,0x70383b80,0x1ff81ff8,0x1ff81ff8,0x1ff81ff8,0x3fbe0ff0,0xff80ff8,0xff80ff8,0x1fc01fc0,0x1fc01fc0,0xff83bf0,0xff00ff0, |
3093 | + 0xff00ff0,0xff00380,0xffc3838,0x38383838,0x38383838,0x3ff03838,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3094 | + 0x0,0x1c0,0x7fff,0x1c803c38,0xf000000,0x70000e0,0xfe00180,0x0,0x1c0,0x381c01c0,0x3c0078,0xce01ff0,0x39e000f0,0x1c38381c,0x3800380, |
3095 | + 0x3e07ffc,0xf8001f0,0x307b0770,0x70e07000,0x70387000,0x70007000,0x703801c0,0x707700,0x700076dc,0x7638701c,0x7038701c,0x70387e00, |
3096 | + 0x1c07038,0x1c3873ce,0x3e007f0,0x1e00380,0x70001c0,0x0,0x1038,0x3c381e18,0x1c7c1e3c,0x3801e3c,0x3c7801c0,0xe01c78,0x380739c, |
3097 | + 0x3c781c38,0x3c381c3c,0x7c21e10,0x7003838,0x3838700e,0x1ef03838,0x3c01c0,0x18001c0,0x0,0x7fe007c0,0x1c0,0x0,0x1000100,0x6400, |
3098 | + 0x7e000000,0x707007c0,0x1e007c0,0x7c00070,0xe000638,0x18600000,0x0,0x0,0x1e100000,0x73ce07c0,0x3c07f0,0x1c0,0x7240700,0x1ddc3ffe, |
3099 | + 0x1800de0,0x8c01,0x1870030c,0x0,0x8c310000,0x3c00180,0x3800030,0x3838,0x7f980000,0x180,0x183030c0,0xc000c00,0x430001c0,0x7700770, |
3100 | + 0x7700770,0x7700770,0x1ce07000,0x70007000,0x70007000,0x1c001c0,0x1c001c0,0x70387638,0x701c701c,0x701c701c,0x701c1c38,0x70dc7038, |
3101 | + 0x70387038,0x703807f0,0x70383b80,0x10381038,0x10381038,0x10381038,0x21e71e18,0x1e3c1e3c,0x1e3c1e3c,0x1c001c0,0x1c001c0,0x1e383c78, |
3102 | + 0x1c381c38,0x1c381c38,0x1c380380,0x1c383838,0x38383838,0x38383838,0x3c383838,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3103 | + 0x0,0x0,0x0,0x0,0x0,0x1c0,0x630,0x1e8000e0,0x1f000000,0x70000e0,0x39380180,0x0,0x1c0,0x3b9c01c0,0x3c07f0,0x18e01078,0x3bf800e0, |
3104 | + 0x7e0383c,0x3800380,0x1f807ffc,0x3f001c0,0x61ff0e38,0x7fc07000,0x70387ff0,0x7ff07000,0x7ff801c0,0x707f00,0x7000729c,0x7338701c, |
3105 | + 0x7070701c,0x70703fc0,0x1c07038,0x1e7873ce,0x1c003e0,0x3c00380,0x70001c0,0x0,0x1c,0x3c381c00,0x1c3c1c1c,0x3801c3c,0x383801c0, |
3106 | + 0xe01cf0,0x380739c,0x38381c38,0x3c381c3c,0x7801c00,0x7003838,0x3838700e,0xfe03c78,0x7801c0,0x18001c0,0x0,0x1c000c20,0xff8, |
3107 | + 0x0,0x1ff01ff0,0x3818,0x3fc00100,0x707e0c20,0x3c00c20,0xc200030,0xc000618,0x18c00000,0x0,0x0,0x1c000080,0xe1ce0c20,0x7803e0, |
3108 | + 0x1c0,0xe200700,0xff83ffe,0x1801878,0x9801,0x1cf0071c,0x7ffc0000,0x8c310000,0x7ffe,0x7000030,0x3838,0x3f980380,0x180,0xc6038e0, |
3109 | + 0x7f9c7f9c,0x3e1c01c0,0xe380e38,0xe380e38,0xe380f78,0x1cfc7000,0x7ff07ff0,0x7ff07ff0,0x1c001c0,0x1c001c0,0xfe387338,0x701c701c, |
3110 | + 0x701c701c,0x701c0e70,0x719c7038,0x70387038,0x703803e0,0x70383b80,0x1c001c,0x1c001c,0x1c001c,0xe71c00,0x1c1c1c1c,0x1c1c1c1c, |
3111 | + 0x1c001c0,0x1c001c0,0x1c383838,0x1c381c38,0x1c381c38,0x1c380000,0x3c383838,0x38383838,0x38383c78,0x3c383c78,0x0,0x0,0x0,0x0, |
3112 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x630,0xf800380,0x3f830000,0x70000e0,0x31080180,0x0,0x380,0x3b9c01c0, |
3113 | + 0x7807e0,0x38e00038,0x3c3800e0,0xff01c3c,0x3800380,0x7c000000,0x7c03c0,0x61870e38,0x7fc07000,0x70387ff0,0x7ff070fc,0x7ff801c0, |
3114 | + 0x707f80,0x7000739c,0x7338701c,0x7ff0701c,0x7fe00ff0,0x1c07038,0xe7073ce,0x1c003e0,0x3800380,0x38001c0,0x0,0x1c,0x381c3800, |
3115 | + 0x381c380e,0x380381c,0x383801c0,0xe01de0,0x380739c,0x3838381c,0x381c381c,0x7001e00,0x7003838,0x1c70718e,0x7e01c70,0xf00380, |
3116 | + 0x18001e0,0x1e000000,0x1c001bb0,0xff8,0x0,0x1000100,0xe0,0xff00300,0x707e1bb0,0x3801bb0,0x1bb00010,0x8000308,0x30c00000,0x0, |
3117 | + 0x0,0x1e0000c0,0xe1ce1bb0,0xf003e0,0x1c0,0x1c203ff8,0x63003e0,0x180181c,0x9801,0xfb00e38,0x7ffc0000,0x8fc10000,0x7ffe,0xe000860, |
3118 | + 0x3838,0x1f980380,0x180,0x7c01c70,0x1f001f0,0x1f003c0,0xe380e38,0xe380e38,0xe380e38,0x1cfc7000,0x7ff07ff0,0x7ff07ff0,0x1c001c0, |
3119 | + 0x1c001c0,0xfe387338,0x701c701c,0x701c701c,0x701c07e0,0x731c7038,0x70387038,0x703803e0,0x70383980,0x1c001c,0x1c001c,0x1c001c, |
3120 | + 0xe73800,0x380e380e,0x380e380e,0x1c001c0,0x1c001c0,0x381c3838,0x381c381c,0x381c381c,0x381c0000,0x387c3838,0x38383838,0x38381c70, |
3121 | + 0x381c1c70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0xc30,0x7f00e00,0x33c30000,0x70000e0,0x1007ffe, |
3122 | + 0x0,0x380,0x3b9c01c0,0xf00078,0x30e0001c,0x3c1c01c0,0x1c381fdc,0x0,0x70000000,0x1c0380,0x63030e38,0x70707000,0x70387000,0x700070fc, |
3123 | + 0x703801c0,0x707b80,0x7000739c,0x7338701c,0x7fc0701c,0x7fc001f0,0x1c07038,0xe703e5c,0x3e001c0,0x7800380,0x38001c0,0x0,0x7fc, |
3124 | + 0x381c3800,0x381c380e,0x380381c,0x383801c0,0xe01fe0,0x380739c,0x3838381c,0x381c381c,0x7001fc0,0x7003838,0x1c70718e,0x7c01c70, |
3125 | + 0xe01f00,0x180007c,0x7f8c0000,0x7fc03fb8,0x1c0,0x0,0x1000100,0x700,0x1f00600,0x70703fb8,0x7803fb8,0x3fb80000,0x8000000,0x180, |
3126 | + 0x0,0x0,0x1fc00060,0xe1ce3fb8,0xe001c0,0x1c0,0x1c203ff8,0xc1801c0,0x180c,0x9801,0x1c70,0xc0000,0x8cc10000,0x180,0xfe007c0, |
3127 | + 0x3838,0x7980380,0xff0,0xe38,0x3e003e00,0x3e000380,0xe380e38,0xe380e38,0xe380e38,0x38e07000,0x70007000,0x70007000,0x1c001c0, |
3128 | + 0x1c001c0,0x70387338,0x701c701c,0x701c701c,0x701c03c0,0x731c7038,0x70387038,0x703801c0,0x703838e0,0x7fc07fc,0x7fc07fc,0x7fc07fc, |
3129 | + 0xe73800,0x380e380e,0x380e380e,0x1c001c0,0x1c001c0,0x381c3838,0x381c381c,0x381c381c,0x381c7ffc,0x38dc3838,0x38383838,0x38381c70, |
3130 | + 0x381c1c70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0xc60,0xf83878,0x71e30000,0x70000e0,0x1007ffe, |
3131 | + 0x7f0,0x380,0x381c01c0,0x1e0003c,0x60e0001c,0x381c01c0,0x381c079c,0x0,0x7c000000,0x7c0380,0x63031c1c,0x70307000,0x70387000, |
3132 | + 0x7000701c,0x703801c0,0x7071c0,0x7000739c,0x71b8701c,0x7000701c,0x71e00078,0x1c07038,0xe703e7c,0x7e001c0,0xf000380,0x38001c0, |
3133 | + 0x0,0x1ffc,0x381c3800,0x381c3ffe,0x380381c,0x383801c0,0xe01fc0,0x380739c,0x3838381c,0x381c381c,0x7000ff0,0x7003838,0x1ef03bdc, |
3134 | + 0x3800ee0,0x1e01f00,0x180007c,0x61fc0000,0x7fc07f3c,0x1c0,0x0,0x1000100,0x1800,0x780c00,0x70707f3c,0xf007f3c,0x7f3c0000,0x0, |
3135 | + 0x3c0,0x3ffcffff,0x0,0xff00030,0xe1fe7f3c,0x1e001c0,0x1c0,0x1c200700,0xc183ffe,0xe0c,0x9801,0x1ff038e0,0xc07f0,0x8c610000, |
3136 | + 0x180,0x0,0x3838,0x1980380,0x0,0x1ff0071c,0xe000e000,0xe0000f80,0x1c1c1c1c,0x1c1c1c1c,0x1c1c1e38,0x38e07000,0x70007000,0x70007000, |
3137 | + 0x1c001c0,0x1c001c0,0x703871b8,0x701c701c,0x701c701c,0x701c03c0,0x761c7038,0x70387038,0x703801c0,0x70703870,0x1ffc1ffc,0x1ffc1ffc, |
3138 | + 0x1ffc1ffc,0xfff3800,0x3ffe3ffe,0x3ffe3ffe,0x1c001c0,0x1c001c0,0x381c3838,0x381c381c,0x381c381c,0x381c7ffc,0x389c3838,0x38383838, |
3139 | + 0x38380ee0,0x381c0ee0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0xfffc,0xbc60fc,0x70e30000,0x70000e0, |
3140 | + 0x180,0x7f0,0x700,0x381c01c0,0x3e0001c,0x7ffc001c,0x381c03c0,0x381c001c,0x0,0x1f807ffc,0x3f00380,0x63031ffc,0x70387000,0x70387000, |
3141 | + 0x7000701c,0x703801c0,0x7071e0,0x7000701c,0x71b8701c,0x7000701c,0x70f00038,0x1c07038,0x7e03e7c,0x77001c0,0xe000380,0x1c001c0, |
3142 | + 0x0,0x3c1c,0x381c3800,0x381c3ffe,0x380381c,0x383801c0,0xe01fe0,0x380739c,0x3838381c,0x381c381c,0x70003f8,0x7003838,0xee03bdc, |
3143 | + 0x3c00ee0,0x3c00380,0x18000e0,0xf00000,0x1c007e7c,0x3c0,0x0,0x1000100,0x0,0x381800,0x70707e7c,0xe007e7c,0x7e7c0000,0x0,0x7c0, |
3144 | + 0x0,0x0,0x3f80018,0xe1fe7e7c,0x3c001c0,0x1c0,0x1c200700,0xc183ffe,0xf0c,0x8c01,0x38e0,0xc07f0,0x8c710000,0x180,0x0,0x3838, |
3145 | + 0x1980000,0x0,0x71c,0x7000f0,0x700f00,0x1ffc1ffc,0x1ffc1ffc,0x1ffc1ffc,0x3fe07000,0x70007000,0x70007000,0x1c001c0,0x1c001c0, |
3146 | + 0x703871b8,0x701c701c,0x701c701c,0x701c07e0,0x7c1c7038,0x70387038,0x703801c0,0x7ff03838,0x3c1c3c1c,0x3c1c3c1c,0x3c1c3c1c, |
3147 | + 0x3fff3800,0x3ffe3ffe,0x3ffe3ffe,0x1c001c0,0x1c001c0,0x381c3838,0x381c381c,0x381c381c,0x381c0000,0x391c3838,0x38383838,0x38380ee0, |
3148 | + 0x381c0ee0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfffc,0x9c01ce,0x70f60000,0x70000e0,0x180, |
3149 | + 0x0,0x700,0x381c01c0,0x780001c,0x7ffc001c,0x381c0380,0x381c003c,0x0,0x3e07ffc,0xf800380,0x63031ffc,0x70387000,0x70387000, |
3150 | + 0x7000701c,0x703801c0,0x7070f0,0x7000701c,0x71b8701c,0x7000701c,0x70700038,0x1c07038,0x7e03e7c,0xf7801c0,0x1e000380,0x1c001c0, |
3151 | + 0x0,0x381c,0x381c3800,0x381c3800,0x380381c,0x383801c0,0xe01fe0,0x380739c,0x3838381c,0x381c381c,0x7000078,0x7003838,0xee03a5c, |
3152 | + 0x7c00fe0,0x78001c0,0x18001c0,0x0,0x1c003ef8,0x380,0x0,0x1000100,0x810,0x383000,0x70703ef8,0x1e003ef8,0x3ef80000,0x0,0x7c0, |
3153 | + 0x0,0x0,0x78000c,0xe1c03ef8,0x78001c0,0x1c0,0x1c200700,0x63001c0,0x18003f8,0x4e12,0x1c70,0xc0000,0x4c320000,0x180,0x0,0x3838, |
3154 | + 0x1980000,0x0,0xe38,0x700118,0x701e00,0x1ffc1ffc,0x1ffc1ffc,0x1ffc1ffc,0x7fe07000,0x70007000,0x70007000,0x1c001c0,0x1c001c0, |
3155 | + 0x703871b8,0x701c701c,0x701c701c,0x701c0e70,0x7c1c7038,0x70387038,0x703801c0,0x7fc0381c,0x381c381c,0x381c381c,0x381c381c, |
3156 | + 0x78e03800,0x38003800,0x38003800,0x1c001c0,0x1c001c0,0x381c3838,0x381c381c,0x381c381c,0x381c0000,0x3b1c3838,0x38383838,0x38380fe0, |
3157 | + 0x381c0fe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1860,0x9c0186,0x707e0000,0x30000c0,0x180, |
3158 | + 0x0,0xe00,0x183801c0,0xf00001c,0xe0001c,0x181c0380,0x381c0038,0x0,0xfc0000,0x7e000000,0x61873c1e,0x70383800,0x70707000,0x7000381c, |
3159 | + 0x703801c0,0x707070,0x7000701c,0x70f83838,0x70003838,0x70780038,0x1c07038,0x7e03c3c,0xe3801c0,0x1c000380,0xe001c0,0x0,0x381c, |
3160 | + 0x381c3800,0x381c3800,0x380381c,0x383801c0,0xe01ef0,0x380739c,0x3838381c,0x381c381c,0x7000038,0x7003838,0xfe03e7c,0xfe007c0, |
3161 | + 0x70001c0,0x18001c0,0x0,0xe001ff0,0x380,0x0,0x1000100,0x162c,0x381800,0x30701ff0,0x1c001ff0,0x1ff00000,0x0,0x3c0,0x0,0x0, |
3162 | + 0x380018,0xe1c01ff0,0x70001c0,0x1c0,0x1c200700,0xff801c0,0x18000f0,0x63e6,0xe38,0x0,0x6c3e0000,0x0,0x0,0x3838,0x1980000,0x0, |
3163 | + 0x1c70,0xf0000c,0xf01c00,0x3c1e3c1e,0x3c1e3c1e,0x3c1e3c1c,0x70e03800,0x70007000,0x70007000,0x1c001c0,0x1c001c0,0x707070f8, |
3164 | + 0x38383838,0x38383838,0x38381c38,0x38387038,0x70387038,0x703801c0,0x7000381c,0x381c381c,0x381c381c,0x381c381c,0x70e03800, |
3165 | + 0x38003800,0x38003800,0x1c001c0,0x1c001c0,0x381c3838,0x381c381c,0x381c381c,0x381c0380,0x3e1c3838,0x38383838,0x383807c0,0x381c07c0, |
3166 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18c0,0x9c0186,0x783c0000,0x38001c0,0x180,0x3800000, |
3167 | + 0x3800e00,0x1c3801c0,0x1e00003c,0xe00038,0x1c1c0780,0x381c0038,0x3800380,0x3c0000,0x78000000,0x61ff380e,0x70383808,0x70707000, |
3168 | + 0x7000381c,0x703801c0,0x40707078,0x7000701c,0x70f83838,0x70003838,0x70384038,0x1c07038,0x7e03c3c,0x1e3c01c0,0x3c000380,0xe001c0, |
3169 | + 0x0,0x383c,0x3c381c00,0x1c3c1c00,0x3801c3c,0x383801c0,0xe01c78,0x380739c,0x38381c38,0x3c381c3c,0x7000038,0x7003878,0x7c01e78, |
3170 | + 0x1ef007c0,0xf0001c0,0x18001c0,0x0,0xe000ee0,0x7800380,0xe380000,0x1001ff0,0x2242,0x40380c00,0x38700ee0,0x3c000ee0,0xee00000, |
3171 | + 0x0,0x0,0x0,0x0,0x380030,0xe1c00ee0,0xf0001c0,0x1c0,0xe200700,0xdd801c0,0x1800038,0x300c,0x71c,0x0,0x300c0000,0x0,0x0,0x3838, |
3172 | + 0x1980000,0x0,0x38e0,0xb0000c,0xb01c08,0x380e380e,0x380e380e,0x380e380e,0x70e03808,0x70007000,0x70007000,0x1c001c0,0x1c001c0, |
3173 | + 0x707070f8,0x38383838,0x38383838,0x3838381c,0x38387038,0x70387038,0x703801c0,0x7000381c,0x383c383c,0x383c383c,0x383c383c, |
3174 | + 0x70e01c00,0x1c001c00,0x1c001c00,0x1c001c0,0x1c001c0,0x1c383838,0x1c381c38,0x1c381c38,0x1c380380,0x1c383878,0x38783878,0x387807c0, |
3175 | + 0x3c3807c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x18c0,0x10b801ce,0x3c3e0000,0x38001c0,0x180, |
3176 | + 0x3800000,0x3801c00,0x1e7801c0,0x3c002078,0xe02078,0x1c380700,0x1c3810f0,0x3800380,0x40000,0x40000380,0x307b380e,0x70701e18, |
3177 | + 0x70e07000,0x70001c1c,0x703801c0,0x60e0703c,0x7000701c,0x70f83c78,0x70003c70,0x703c70f0,0x1c03870,0x3c01c3c,0x3c1c01c0,0x78000380, |
3178 | + 0x7001c0,0x0,0x3c7c,0x3c381e18,0x1c7c1e0c,0x3801c3c,0x383801c0,0xe01c38,0x3c0739c,0x38381c38,0x3c381c3c,0x7001078,0x7803c78, |
3179 | + 0x7c01c38,0x1c780380,0x1e0001c0,0x18001c0,0x0,0x70c06c0,0x7000380,0xe300000,0x1000100,0x2142,0x70f00600,0x3c7006c0,0x780006c0, |
3180 | + 0x6c00000,0x0,0x0,0x0,0x0,0x10780060,0x73e206c0,0x1e0001c0,0x1c0,0x7240700,0x180c01c0,0x1800018,0x1818,0x30c,0x0,0x18180000, |
3181 | + 0x0,0x0,0x3c78,0x1980000,0x0,0x30c0,0x130000c,0x1301c18,0x380e380e,0x380e380e,0x380e380e,0x70e01e18,0x70007000,0x70007000, |
3182 | + 0x1c001c0,0x1c001c0,0x70e070f8,0x3c783c78,0x3c783c78,0x3c781008,0x7c783870,0x38703870,0x387001c0,0x70003a3c,0x3c7c3c7c,0x3c7c3c7c, |
3183 | + 0x3c7c3c7c,0x79f11e18,0x1e0c1e0c,0x1e0c1e0c,0x1c001c0,0x1c001c0,0x1c783838,0x1c381c38,0x1c381c38,0x1c380380,0x1c383c78,0x3c783c78, |
3184 | + 0x3c780380,0x3c380380,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x38c0,0x1ff800fc,0x1fee0000, |
3185 | + 0x1800180,0x180,0x3800000,0x3801c00,0xff01ffc,0x3ffc3ff0,0xe03ff0,0xff00700,0x1ff81fe0,0x3800380,0x0,0x380,0x3000780f,0x7ff00ff8, |
3186 | + 0x7fc07ff8,0x70000ffc,0x70381ffc,0x7fe0701c,0x7ff8701c,0x70781ff0,0x70001ff0,0x701c7ff0,0x1c01fe0,0x3c01c38,0x380e01c0,0x7ffc0380, |
3187 | + 0x7001c0,0x0,0x1fdc,0x3ff00ff0,0xffc0ffc,0x3800fdc,0x38383ffe,0xe01c3c,0x1fc739c,0x38380ff0,0x3ff00ffc,0x7001ff0,0x3f81fb8, |
3188 | + 0x7c01c38,0x3c3c0380,0x1ffc01c0,0x18001c0,0x0,0x3fc0380,0x7000380,0xc70718c,0x1000100,0x2244,0x7ff00200,0x1fff0380,0x7ffc0380, |
3189 | + 0x3800000,0x0,0x0,0x0,0x0,0x1ff000c0,0x7f7e0380,0x1ffc01c0,0x1c0,0x3fc3ffe,0x1c0,0x1800018,0x7e0,0x104,0x0,0x7e00000,0x7ffe, |
3190 | + 0x0,0x3fde,0x1980000,0x0,0x2080,0x3300018,0x3300ff0,0x780f780f,0x780f780f,0x780f780e,0xf0fe0ff8,0x7ff87ff8,0x7ff87ff8,0x1ffc1ffc, |
3191 | + 0x1ffc1ffc,0x7fc07078,0x1ff01ff0,0x1ff01ff0,0x1ff00000,0x7ff01fe0,0x1fe01fe0,0x1fe001c0,0x70003bf8,0x1fdc1fdc,0x1fdc1fdc, |
3192 | + 0x1fdc1fdc,0x3fbf0ff0,0xffc0ffc,0xffc0ffc,0x3ffe3ffe,0x3ffe3ffe,0xff03838,0xff00ff0,0xff00ff0,0xff00000,0x3ff01fb8,0x1fb81fb8, |
3193 | + 0x1fb80380,0x3ff00380,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c0,0x31c0,0x7e00078,0x7cf0000,0x1800180, |
3194 | + 0x0,0x3800000,0x3803800,0x3c01ffc,0x3ffc0fe0,0xe01fc0,0x3e00e00,0x7e00f80,0x3800380,0x0,0x380,0x18007007,0x7fc003f0,0x7f007ff8, |
3195 | + 0x700003f0,0x70381ffc,0x3f80701e,0x7ff8701c,0x707807c0,0x700007c0,0x701e1fc0,0x1c00fc0,0x3c01818,0x780f01c0,0x7ffc0380,0x3801c0, |
3196 | + 0x0,0xf9c,0x39e003e0,0x79c03f0,0x380079c,0x38383ffe,0xe01c1e,0x7c739c,0x383807e0,0x39e0079c,0x7000fc0,0x1f80f38,0x3801c38, |
3197 | + 0x781e0380,0x1ffc01c0,0x18001c0,0x0,0x1f80100,0xe000700,0x1c60718c,0x1000100,0x1e3c,0x1fc00100,0x7ff0100,0x7ffc0100,0x1000000, |
3198 | + 0x0,0x0,0x0,0x0,0xfc00080,0x3e3c0100,0x1ffc01c0,0x1c0,0xf83ffe,0x1c0,0x1800838,0x0,0x0,0x0,0x0,0x7ffe,0x0,0x3b9e,0x1980000, |
3199 | + 0x0,0x0,0x2300038,0x23003e0,0x70077007,0x70077007,0x70077007,0xe0fe03f0,0x7ff87ff8,0x7ff87ff8,0x1ffc1ffc,0x1ffc1ffc,0x7f007078, |
3200 | + 0x7c007c0,0x7c007c0,0x7c00000,0xc7c00fc0,0xfc00fc0,0xfc001c0,0x700039f0,0xf9c0f9c,0xf9c0f9c,0xf9c0f9c,0x1f1e03e0,0x3f003f0, |
3201 | + 0x3f003f0,0x3ffe3ffe,0x3ffe3ffe,0x7e03838,0x7e007e0,0x7e007e0,0x7e00000,0x63e00f38,0xf380f38,0xf380380,0x39e00380,0x0,0x0, |
3202 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0xc00300,0x0,0x3000000,0x3800,0x0,0x0,0x0,0x0, |
3203 | + 0x0,0x300,0x0,0x0,0x1c000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x0,0x0,0x0,0x0,0x380,0x3801c0,0x0,0x0,0x0,0x0,0x1c,0x0,0xe00000, |
3204 | + 0x0,0x0,0x3800001c,0x0,0x0,0x0,0x700,0x1c0,0x18001c0,0x0,0x0,0xe000700,0x18600000,0x1000100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3205 | + 0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x1800ff0,0x0,0x0,0x0,0x0,0x0,0x0,0x3800,0x1980000,0x1800000,0x0,0x6300070,0x6300000,0x0, |
3206 | + 0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40000000, |
3207 | + 0x0,0x700,0x38000700,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0xc00300,0x0,0x7000000, |
3208 | + 0x7000,0x0,0x0,0x0,0x0,0x0,0x700,0x0,0x0,0xf040000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x3f0,0x1c0fc0,0x0,0x0, |
3209 | + 0x0,0x0,0x1c,0x0,0xe00000,0x0,0x0,0x3800001c,0x0,0x0,0x0,0x700,0x1e0,0x18003c0,0x0,0x0,0xc000700,0x18c00000,0x1000000,0x0, |
3210 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x18007e0,0x0,0x0,0x0,0x0,0x0,0x0,0x3800,0x1980000,0xc00000, |
3211 | + 0x0,0x7f800e0,0x7f80000,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0, |
3212 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x700,0x38000700,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000, |
3213 | + 0x0,0x600600,0x0,0x6000000,0x0,0x0,0x0,0x0,0x0,0x0,0x600,0x0,0x0,0x7fc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,0x0,0x0,0x0, |
3214 | + 0x3f0,0xfc0,0x0,0x0,0x0,0x0,0x838,0x0,0x1e00000,0x0,0x0,0x3800001c,0x0,0x0,0x0,0xf00,0xfc,0x1801f80,0x0,0x0,0x8008e00,0x30c00000, |
3215 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x3800,0x1980000,0xc00000, |
3216 | + 0x0,0x3001c0,0x300000,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60,0x0,0x0,0x0,0x0,0x0, |
3217 | + 0x0,0x0,0x0,0x0,0x0,0xf00,0x38000f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0, |
3218 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3219 | + 0x0,0x0,0xff0,0x0,0x1fc00000,0x0,0x0,0x3800001c,0x0,0x0,0x0,0x3e00,0x7c,0x1801f00,0x0,0x0,0x800fe00,0x0,0x0,0x0,0x0,0x0,0x0, |
3220 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x0,0x1800000,0x0,0x0,0x0,0x0,0x0,0x0,0x3800,0x0,0x7c00000,0x0,0x3001fc,0x300000, |
3221 | + 0x0,0x0,0x0,0x3e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3222 | + 0x3e00,0x38003e00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3223 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff8,0x0,0x0,0x0,0x7e0,0x0,0x1f000000, |
3224 | + 0x0,0x0,0x3800001c,0x0,0x0,0x0,0x3c00,0x0,0x1800000,0x0,0x0,0x7800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3225 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3800,0x0,0x7800000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3226 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00,0x38003c00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3227 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3228 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfff8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1800000,0x0,0x0,0x0,0x0, |
3229 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3230 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3231 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3232 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3233 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3234 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3235 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3236 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3237 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3238 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3239 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0 }; |
3240 | + |
3241 | + // Definition of a 29x57 font (extra large size). |
3242 | + const unsigned int font29x57[29*57*256/32] = { |
3243 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3244 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3245 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3246 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3247 | + 0x0,0x781e00,0x0,0x0,0x7,0x81e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3248 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c0000,0xf8000,0x7e00000,0x0,0x7, |
3249 | + 0xc0000000,0x0,0x7c00,0xf80,0x7e000,0x0,0x7c00000,0xf80000,0x7e000000,0x0,0x0,0x1f00,0x3e0,0x1f800,0x0,0x0,0x0,0x3,0xe0000000, |
3250 | + 0x7c00003f,0x0,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3251 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3252 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3253 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3254 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3255 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x3c3c00,0x0,0x0,0x3,0xc3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e1f00, |
3256 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e0000, |
3257 | + 0x1f0000,0x7e00000,0xf838001f,0xf80001f,0xf0000000,0x0,0x3e00,0x1f00,0x7e000,0x3e1f000,0x3e00000,0x1f00000,0x7e00003e,0x1f000000, |
3258 | + 0x3e0,0xe0000f80,0x7c0,0x1f800,0x3e0e00,0x7c3e000,0x0,0x1,0xf0000000,0xf800003f,0x1f0f,0x800001f0,0x0,0x0,0x0,0x0,0x0,0x0, |
3259 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3260 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3261 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3262 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3263 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e7800,0x0,0x0, |
3264 | + 0x1,0xe7800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3265 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0000,0x1e0000,0xff00001,0xfe38001f,0xf80003f, |
3266 | + 0xf8000000,0x0,0x1e00,0x1e00,0xff000,0x3e1f000,0x1e00000,0x1e00000,0xff00003e,0x1f000000,0x7f8,0xe0000780,0x780,0x3fc00,0x7f8e00, |
3267 | + 0x7c3e000,0x0,0x0,0xf0000000,0xf000007f,0x80001f0f,0x800001e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3268 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3269 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3270 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3271 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3272 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xef000,0x0,0x0,0x0,0xef000000,0x0,0x0,0x0,0x0,0x0,0x0, |
3273 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3274 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000,0x3c0000,0x1e780003,0xfff8001f,0xf80003c,0x78000000,0x0,0xf00,0x3c00,0x1e7800, |
3275 | + 0x3e1f000,0xf00000,0x3c00001,0xe780003e,0x1f000000,0xfff,0xe00003c0,0xf00,0x79e00,0xfffe00,0x7c3e000,0x0,0x0,0x78000001,0xe00000f3, |
3276 | + 0xc0001f0f,0x800003c0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3277 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3278 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3279 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3280 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3281 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e000,0x0,0x0,0x0,0x7e000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3282 | + 0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3283 | + 0x0,0x78000,0x780000,0x3c3c0003,0x8ff0001f,0xf800078,0x3c000000,0x0,0x780,0x7800,0x3c3c00,0x3e1f000,0x780000,0x7800003,0xc3c0003e, |
3284 | + 0x1f000000,0xe3f,0xc00001e0,0x1e00,0xf0f00,0xe3fc00,0x7c3e000,0x0,0x0,0x3c000003,0xc00001e1,0xe0001f0f,0x80000780,0x0,0x0, |
3285 | + 0x0,0x0,0x0,0x0,0x1f,0xf0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3286 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3287 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3288 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3289 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3290 | + 0x0,0x7e000,0x0,0x0,0x0,0x7e000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0, |
3291 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc00,0x7e000,0xfe000,0x0,0x3c000,0xf00000,0x781e0003, |
3292 | + 0x83e0001f,0xf800070,0x1c000000,0x0,0x3c0,0xf000,0x781e00,0x3e1f000,0x3c0000,0xf000007,0x81e0003e,0x1f000000,0xe0f,0x800000f0, |
3293 | + 0x3c00,0x1e0780,0xe0f800,0x7c3e000,0x0,0x0,0x1e000007,0x800003c0,0xf0001f0f,0x80000f00,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf8000000, |
3294 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3295 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3296 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3297 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3298 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3299 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3300 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3fc00,0x1fe000,0x3ff800,0x0,0x0,0x0,0x0,0x0,0x70,0x1c000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3301 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x78000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3302 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3303 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3304 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3305 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3306 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3307 | + 0x0,0x0,0x78,0xf000000,0x0,0x0,0x780f0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c0, |
3308 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x3fc00,0x1fe000,0x3ffc00,0x0,0x0,0x0,0x0,0x0,0x70,0x1c000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3309 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f00000,0x3e000,0x3e00000,0x0,0x78,0x3c000000,0x0,0x1f000,0x3e0, |
3310 | + 0x3e000,0x0,0x1f000000,0x3e0000,0x3e000000,0x0,0x0,0x7c00,0xf8,0xf800,0x0,0x0,0x0,0xf,0x80000000,0x1f00001f,0x0,0x3e,0x0, |
3311 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3312 | + 0x0,0x0,0x0,0x30000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3313 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf80000, |
3314 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3315 | + 0x0,0x0,0x0,0x0,0xf80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x781c0000,0x38,0xe000000,0x0,0x0,0x380e0,0x0, |
3316 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf80,0x0,0x0,0x0,0x0,0x0,0x0,0x39c00,0x1ce000,0x303e00, |
3317 | + 0x0,0x0,0x0,0x0,0x0,0x78,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,0x0, |
3318 | + 0x0,0x0,0xf80000,0x7c000,0x3e00000,0xf0380000,0x70,0x1c000000,0x0,0xf800,0x7c0,0x3e000,0x0,0xf800000,0x7c0000,0x3e000000, |
3319 | + 0x0,0x3c0,0xe0003e00,0x1f0,0xf800,0x3c0e00,0x0,0x0,0x7,0xc0000000,0x3e00001f,0x0,0x7c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3320 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0xff,0x0, |
3321 | + 0xf8,0xf8000,0x1c000,0x0,0x0,0x0,0x0,0x1f,0xc0000000,0x1ff8,0xff00,0x0,0x0,0x3fe000,0x0,0x1fc00001,0xfe000000,0x0,0x0,0x0, |
3322 | + 0x0,0x7f800,0x0,0x0,0x0,0xff00000,0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xf8000000,0xfe,0x0,0x7f80,0x0,0x0,0x0,0x0,0x0, |
3323 | + 0x0,0x3f,0xf0000000,0x7fe0,0x0,0x0,0x780000,0x1,0xe0000000,0x0,0x780000,0x3,0xfe000000,0x78000,0x3c00,0xf000,0x7800003,0xffe00000, |
3324 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfc0000f0,0x3f000,0x0,0x0,0x3fc00,0x0,0x0,0x1fc000,0x0,0x0,0x0,0x1fc0, |
3325 | + 0x0,0xff000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe1c0000,0x1c,0x1c000000,0x0,0x0,0x1c1c0,0x0,0x0,0x0,0x0,0x1fe0000, |
3326 | + 0x0,0x0,0x1ff,0x1f0f8,0x0,0xff000,0x0,0x0,0x0,0x3f,0xff00000f,0x80000000,0xfe0,0x3f80,0xf00,0x0,0x0,0x0,0x1,0xf8000003,0xe0000000, |
3327 | + 0x1c00,0xe000,0xe00,0x0,0x0,0x0,0x0,0x0,0x3c,0x78000000,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f0,0x3f80,0x1fc00,0xfe000, |
3328 | + 0x7f0000,0x0,0x1fc07000,0x0,0x0,0x0,0x0,0x0,0x3f800,0x780000,0x78000,0x7f00001,0xfc38001f,0xf800070,0x1c000000,0x0,0x7800, |
3329 | + 0x780,0x7f000,0x3e1f000,0x7800000,0x780000,0x7f00003e,0x1f0003f0,0x7f0,0xe0001e00,0x1e0,0x1fc00,0x7f0e00,0x7c3e000,0x0,0x3, |
3330 | + 0xc0000000,0x3c00003f,0x80001f0f,0x80000078,0x1e0000,0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3331 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e0000,0x1e078000,0x30000000,0x3ff,0xc00001e0,0xf0, |
3332 | + 0x78000,0x1c000,0x0,0x0,0x0,0x0,0x1e0007f,0xf000007e,0x1ffff,0x7ffe0,0x1f80,0x3ffff80,0xfff803,0xfffff800,0xfff80007,0xff800000, |
3333 | + 0x0,0x0,0x0,0x0,0x1ffe00,0x0,0xfe0003,0xfff80000,0x3ffe01ff,0xe00003ff,0xffe01fff,0xff0003ff,0xe01e0007,0x803ffff0,0xfff80, |
3334 | + 0x3c000fc0,0x7800001f,0x8003f07e,0x1e000f,0xfe0007ff,0xf00003ff,0x8007ffe0,0x1fff8,0x7fffffe,0xf0003c1,0xe000079e,0xf1f,0x1f3e0, |
3335 | + 0x1f01ff,0xfff8003f,0xf003c000,0x7fe0,0x3f00,0x0,0x3c0000,0x1,0xe0000000,0x0,0x780000,0xf,0xfe000000,0x78000,0x3c00,0xf000, |
3336 | + 0x7800003,0xffe00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xfc0000f0,0x3fe00,0x0,0x0,0xfff00,0x0,0x0,0x3fe000, |
3337 | + 0x0,0x0,0x0,0x1dc0,0x0,0x3fff00,0x0,0x3ffff80,0x1f,0xffff8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff1c07ff,0x3c0f001e,0x3c000000, |
3338 | + 0x0,0x0,0x1e3c0,0xf80007c,0x0,0x780000,0x0,0xfff8000,0x3e00,0x1f00000,0x7ff,0xc001f0f8,0x0,0x3ffc00,0x0,0x0,0x0,0x3f,0xff00003f, |
3339 | + 0xe0000000,0x3ff8,0xffe0,0x1e00,0x0,0xfffc00,0x0,0x7,0xf800000f,0xf8000000,0x1c00,0xe000,0xe00,0xf000,0x1fc000,0xfe0000,0x7f00000, |
3340 | + 0x3f800001,0xfc00003f,0xf80000ff,0xffc003ff,0xe007ffff,0xc03ffffe,0x1fffff0,0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01ffc, |
3341 | + 0xfc00,0x3c001ffc,0xffe0,0x7ff00,0x3ff800,0x1ffc000,0x0,0x7ff8f0f0,0x3c0780,0x1e03c00,0xf01e000,0x783e0001,0xf01e0000,0xffe00, |
3342 | + 0x3c0000,0xf0000,0x7700001,0xfe38001f,0xf800070,0x1c000000,0x0,0x3c00,0xf00,0x77000,0x3e1f000,0x3c00000,0xf00000,0x7700003e, |
3343 | + 0x1f0000f8,0xc0007f8,0xe0000f00,0x3c0,0x1dc00,0x7f8e00,0x7c3e000,0x0,0x1,0xe0000000,0x7800003b,0x80001f0f,0x800000f0,0x1e0000, |
3344 | + 0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3345 | + 0x0,0x0,0x780000,0x3c1e0000,0x1e070000,0x300001f0,0x7ff,0xc00001e0,0x1e0,0x7c000,0x1c000,0x0,0x0,0x0,0x0,0x3c000ff,0xf80007fe, |
3346 | + 0x3ffff,0x801ffff8,0x1f80,0x3ffff80,0x3fff803,0xfffff801,0xfffc000f,0xffc00000,0x0,0x0,0x0,0x0,0x7fff80,0x0,0xfe0003,0xffff0000, |
3347 | + 0xffff01ff,0xfc0003ff,0xffe01fff,0xff000fff,0xf01e0007,0x803ffff0,0xfff80,0x3c001f80,0x7800001f,0xc007f07e,0x1e001f,0xff0007ff, |
3348 | + 0xfc0007ff,0xc007fffc,0x3fffc,0x7fffffe,0xf0003c1,0xf0000f9e,0xf0f,0x8003e1e0,0x1e01ff,0xfff8003f,0xf001e000,0x7fe0,0x3f00, |
3349 | + 0x0,0x1e0000,0x1,0xe0000000,0x0,0x780000,0x1f,0xfe000000,0x78000,0x3c00,0xf000,0x7800003,0xffe00000,0x0,0x0,0x0,0x0,0x0,0x0, |
3350 | + 0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xfc0000f0,0x3ff00,0x0,0x0,0x1fff80,0x0,0x0,0xffe000,0x0,0x0,0x0,0x3de0,0x0,0x7fff80,0x0,0xfffff80, |
3351 | + 0x1f,0xffff8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xe7bc07ff,0x3e1f000f,0x78000000,0x0,0x0,0xf780,0x7800078,0x0,0x780000,0x180000, |
3352 | + 0x1fff8000,0x1e00,0x1e0003c,0xfff,0xc001f0f8,0x0,0x7ffe00,0x0,0x0,0x0,0x3f,0xff00007f,0xf0000000,0x3ffc,0xfff0,0x3c00,0x0, |
3353 | + 0x7fffc00,0x0,0x7,0xf800003f,0xfe000000,0x1c00,0xe000,0xe00,0xf000,0x1fc000,0xfe0000,0x7f00000,0x3f800001,0xfc00001f,0xe00001ff, |
3354 | + 0xffc00fff,0xf007ffff,0xc03ffffe,0x1fffff0,0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01fff,0xc000fc00,0x3c003ffe,0x1fff0, |
3355 | + 0xfff80,0x7ffc00,0x3ffe000,0x0,0xfffce0f0,0x3c0780,0x1e03c00,0xf01e000,0x781e0001,0xe01e0000,0x3fff00,0x1e0000,0x1e0000,0xf780003, |
3356 | + 0xcf78001f,0xf800078,0x3c000000,0x0,0x1e00,0x1e00,0xf7800,0x3e1f000,0x1e00000,0x1e00000,0xf780003e,0x1f0000fc,0x7c000f3d, |
3357 | + 0xe0000780,0x780,0x3de00,0xf3de00,0x7c3e000,0x0,0x0,0xf0000000,0xf000007b,0xc0001f0f,0x800001e0,0x1e0000,0x3e1f00,0x0,0x0, |
3358 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000, |
3359 | + 0x3c1e0000,0x1e0f0000,0x300007fc,0xfff,0xc00001e0,0x1e0,0x3c000,0x1c000,0x0,0x0,0x0,0x0,0x3c001ff,0xfc001ffe,0x3ffff,0xc01ffffc, |
3360 | + 0x3f80,0x3ffff80,0x7fff803,0xfffff803,0xfffe001f,0xffe00000,0x0,0x0,0x0,0x0,0xffff80,0x7f800,0xfe0003,0xffff8001,0xffff01ff, |
3361 | + 0xff0003ff,0xffe01fff,0xff001fff,0xf01e0007,0x803ffff0,0xfff80,0x3c003f00,0x7800001f,0xc007f07f,0x1e003f,0xff8007ff,0xff000fff, |
3362 | + 0xe007ffff,0x7fffc,0x7fffffe,0xf0003c0,0xf0000f1e,0xf07,0x8003c1f0,0x3e01ff,0xfff8003f,0xf001e000,0x7fe0,0x7f80,0x0,0xe0000, |
3363 | + 0x1,0xe0000000,0x0,0x780000,0x1f,0xfe000000,0x78000,0x3c00,0xf000,0x7800003,0xffe00000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c000,0x0, |
3364 | + 0x0,0x0,0x0,0x0,0xf,0xfc0000f0,0x3ff00,0x0,0x0,0x3fff80,0x0,0x0,0xffe000,0x0,0x0,0x0,0x78f0,0x0,0xffff80,0x0,0x3fffff80,0x1f, |
3365 | + 0xffff8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xc7f80070,0x3e1f0007,0x70000000,0x0,0x0,0x7700,0x7c000f8,0x0,0x780000,0x180000, |
3366 | + 0x3fff8000,0x1f00,0x3e0003c,0x1f03,0xc001f0f8,0x0,0x703f00,0x0,0x0,0x0,0x3f,0xff0000f0,0xf8000000,0x303e,0xc0f8,0x7800,0x0, |
3367 | + 0xffffc00,0x0,0x7,0x3800003e,0x3e000000,0x1c00,0xe000,0x3c00,0xf000,0x1fc000,0xfe0000,0x7f00000,0x3f800001,0xfc00000f,0xe00001ff, |
3368 | + 0xffc01fff,0xf007ffff,0xc03ffffe,0x1fffff0,0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01fff,0xf000fe00,0x3c007fff,0x3fff8, |
3369 | + 0x1fffc0,0xfffe00,0x7fff000,0x1,0xffffc0f0,0x3c0780,0x1e03c00,0xf01e000,0x781f0003,0xe01e0000,0x3fff80,0xe0000,0x3c0000,0x1e3c0003, |
3370 | + 0x8ff0001f,0xf80003c,0x78000000,0x0,0xe00,0x3c00,0x1e3c00,0x3e1f000,0xe00000,0x3c00001,0xe3c0003e,0x1f00007f,0xf8000e3f,0xc0000380, |
3371 | + 0xf00,0x78f00,0xe3fc00,0x7c3e000,0x0,0x0,0x70000001,0xe00000f1,0xe0001f0f,0x800003c0,0x1e0000,0x3e1f00,0x0,0x0,0x0,0x0,0x0, |
3372 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e0000,0x3c0f0000, |
3373 | + 0x30000ffe,0xf80,0xc00001e0,0x3c0,0x1e000,0x101c040,0x0,0x0,0x0,0x0,0x78003f0,0x7e001ffe,0x3f807,0xe01f00fe,0x3f80,0x3ffff80, |
3374 | + 0x7e01803,0xfffff007,0xe03f003f,0x3f00000,0x0,0x0,0x0,0x0,0xfc0fc0,0x3ffe00,0xfe0003,0xffffc003,0xf81f01ff,0xff8003ff,0xffe01fff, |
3375 | + 0xff003f01,0xf01e0007,0x803ffff0,0xfff80,0x3c007e00,0x7800001f,0xc007f07f,0x1e007e,0xfc007ff,0xff801f83,0xf007ffff,0x800fc07c, |
3376 | + 0x7fffffe,0xf0003c0,0xf0000f0f,0x1e07,0xc007c0f8,0x7c01ff,0xfff8003c,0xf000,0x1e0,0xffc0,0x0,0xf0000,0x1,0xe0000000,0x0,0x780000, |
3377 | + 0x3e,0x0,0x78000,0x3c00,0xf000,0x7800000,0x1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c000,0x0,0x0,0x0,0x0,0x0,0x1f,0x800000f0,0x1f80, |
3378 | + 0x0,0x0,0x7e0780,0x0,0x0,0x1f82000,0x0,0x0,0x0,0x7070,0x0,0x1f80f80,0x0,0x7fffff80,0x1f,0xffff8000,0x0,0x0,0x0,0x0,0x0,0x0, |
3379 | + 0x0,0x1,0xc3f80070,0x3f3f0007,0xf0000000,0x0,0x0,0x7f00,0x3e001f0,0x0,0x780000,0x180000,0x7f018000,0xf80,0x7c0003c,0x3e00, |
3380 | + 0x4001f0f8,0xfe00,0x400f00,0x0,0x0,0x0,0x7f000000,0xe0,0x38000000,0x1e,0x38,0x7800,0x0,0x1ffe1c00,0x0,0x0,0x38000078,0xf000000, |
3381 | + 0x1c00,0xe000,0x7f800,0xf000,0x1fc000,0xfe0000,0x7f00000,0x3f800001,0xfc00001f,0xf00001ff,0xffc03f81,0xf007ffff,0xc03ffffe, |
3382 | + 0x1fffff0,0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01fff,0xf800fe00,0x3c00fc1f,0x8007e0fc,0x3f07e0,0x1f83f00,0xfc1f800, |
3383 | + 0x3,0xf07fc0f0,0x3c0780,0x1e03c00,0xf01e000,0x780f8007,0xc01e0000,0x7e0fc0,0xf0000,0x3c0000,0x1c1c0003,0x87f0001f,0xf80003f, |
3384 | + 0xf8000000,0x0,0xf00,0x3c00,0x1c1c00,0x3e1f000,0xf00000,0x3c00001,0xc1c0003e,0x1f00003f,0xc0000e1f,0xc00003c0,0xf00,0x70700, |
3385 | + 0xe1fc00,0x7c3e000,0x0,0x0,0x78000001,0xe00000e0,0xe0001f0f,0x800003c0,0x1e0000,0x3e1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3386 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e0000,0x3c0f0001,0xff801e0f, |
3387 | + 0x1f00,0x1e0,0x3c0,0x1e000,0x3c1c1e0,0x0,0x0,0x0,0x0,0x78007c0,0x1f001f9e,0x3c001,0xf010003e,0x7780,0x3c00000,0xf800000,0xf007, |
3388 | + 0xc01f007c,0x1f80000,0x0,0x0,0x0,0x0,0xe003e0,0x7fff00,0x1ef0003,0xc007e007,0xc00301e0,0x1fc003c0,0x1e00,0x7c00,0x301e0007, |
3389 | + 0x80007800,0x780,0x3c00fc00,0x7800001f,0xe00ff07f,0x1e00f8,0x3e00780,0x1fc03e00,0xf807801f,0xc01f001c,0xf000,0xf0003c0,0xf0000f0f, |
3390 | + 0x1e03,0xc00f8078,0x780000,0xf0003c,0xf000,0x1e0,0x1f3e0,0x0,0x78000,0x1,0xe0000000,0x0,0x780000,0x3c,0x0,0x78000,0x0,0x0, |
3391 | + 0x7800000,0x1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c000,0x0,0x0,0x0,0x0,0x0,0x1f,0xf0,0xf80,0x0,0x0,0xf80180,0x0,0x0,0x1e00000, |
3392 | + 0x0,0x0,0x0,0xe038,0x0,0x3e00380,0x0,0xfe0f0000,0x0,0xf0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xc0f00070,0x3b370003,0xe0000000, |
3393 | + 0x0,0x0,0x3e00,0x1e001e0,0x0,0x780000,0x180000,0x7c000000,0x780,0x780003c,0x3c00,0x0,0x7ffc0,0x780,0x0,0x0,0x3,0xffe00000, |
3394 | + 0x1c0,0x3c000000,0xe,0x38,0xf000,0x0,0x3ffe1c00,0x0,0x0,0x38000078,0xf000000,0x1c00,0xe000,0x7f000,0xf000,0x3de000,0x1ef0000, |
3395 | + 0xf780000,0x7bc00003,0xde00001e,0xf00003e7,0x80007c00,0x30078000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001, |
3396 | + 0xe0001e03,0xfc00fe00,0x3c01f007,0xc00f803e,0x7c01f0,0x3e00f80,0x1f007c00,0x7,0xc01f80f0,0x3c0780,0x1e03c00,0xf01e000,0x78078007, |
3397 | + 0x801e0000,0x7803c0,0x78000,0x780000,0x380e0003,0x81e00000,0x1f,0xf0000000,0x0,0x780,0x7800,0x380e00,0x0,0x780000,0x7800003, |
3398 | + 0x80e00000,0x1ff,0x80000e07,0x800001e0,0x1e00,0xe0380,0xe07800,0x0,0x0,0x0,0x3c000003,0xc00001c0,0x70000000,0x780,0x1e0000, |
3399 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3400 | + 0x780000,0x3c1e0000,0x3c0e0007,0xfff01c07,0x1e00,0x1e0,0x780,0xf000,0x3e1c3e0,0x0,0x0,0x0,0x0,0xf0007c0,0x1f00181e,0x20000, |
3401 | + 0xf000001f,0xf780,0x3c00000,0x1f000000,0x1f00f,0x800f8078,0xf80000,0x0,0x0,0x0,0x0,0x8003e0,0x1fc0f80,0x1ef0003,0xc001e007, |
3402 | + 0x800101e0,0x7e003c0,0x1e00,0x7800,0x101e0007,0x80007800,0x780,0x3c00f800,0x7800001e,0xe00ef07f,0x801e00f0,0x1e00780,0x7c03c00, |
3403 | + 0x78078007,0xc01e0004,0xf000,0xf0003c0,0x78001e0f,0x1e03,0xe00f807c,0xf80000,0x1f0003c,0x7800,0x1e0,0x3e1f0,0x0,0x3c000,0x1, |
3404 | + 0xe0000000,0x0,0x780000,0x3c,0x0,0x78000,0x0,0x0,0x7800000,0x1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c000,0x0,0x0,0x0,0x0,0x0, |
3405 | + 0x1e,0xf0,0x780,0x0,0x0,0x1f00080,0x0,0x0,0x3c00000,0x0,0x0,0x0,0x1e03c,0x0,0x3c00080,0x0,0xf80f0000,0x0,0x1f0000,0x0,0x0, |
3406 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x70,0x3bf70003,0xe0000000,0x0,0x0,0x3e00,0x1f003e0,0x0,0x780000,0x180000,0x78000000,0x7c0,0xf80003c, |
3407 | + 0x3c00,0x0,0x1f01f0,0x780,0x0,0x0,0xf,0x80f80000,0x1c0,0x1c000000,0xe,0x38,0x1e000,0x0,0x7ffe1c00,0x0,0x0,0x380000f0,0x7800000, |
3408 | + 0x1c00,0xe000,0x7fc00,0xf000,0x3de000,0x1ef0000,0xf780000,0x7bc00003,0xde00001e,0xf00003c7,0x80007800,0x10078000,0x3c0000, |
3409 | + 0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x7e00ff00,0x3c01e003,0xc00f001e,0x7800f0,0x3c00780,0x1e003c00, |
3410 | + 0x7,0x800f00f0,0x3c0780,0x1e03c00,0xf01e000,0x7807c00f,0x801e0000,0xf803c0,0x3c000,0xf00000,0x780f0000,0x0,0x7,0xc0000000, |
3411 | + 0x0,0x3c0,0xf000,0x780f00,0x0,0x3c0000,0xf000007,0x80f00000,0x7ff,0xc0000000,0xf0,0x3c00,0x1e03c0,0x0,0x0,0x0,0x0,0x1e000007, |
3412 | + 0x800003c0,0x78000000,0xf00,0x1e0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3413 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e0000,0x3c1e001f,0xfff03803,0x80001e00,0x1e0,0x780,0xf000,0xf9cf80, |
3414 | + 0x0,0x0,0x0,0x0,0xf000780,0xf00001e,0x0,0xf800000f,0xe780,0x3c00000,0x1e000000,0x1e00f,0x78078,0x7c0000,0x0,0x0,0x0,0x0,0x1e0, |
3415 | + 0x3f003c0,0x1ef0003,0xc000f00f,0x800001e0,0x1f003c0,0x1e00,0xf000,0x1e0007,0x80007800,0x780,0x3c01f000,0x7800001e,0xe00ef07f, |
3416 | + 0x801e01f0,0x1e00780,0x3c07c00,0x78078003,0xc03e0000,0xf000,0xf0003c0,0x78001e0f,0x1e01,0xf01f003c,0xf00000,0x3e0003c,0x7800, |
3417 | + 0x1e0,0x7c0f8,0x0,0x0,0x1,0xe0000000,0x0,0x780000,0x3c,0x0,0x78000,0x0,0x0,0x7800000,0x1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x3c000, |
3418 | + 0x0,0x0,0x0,0x0,0x0,0x1e,0xf0,0x780,0x0,0x0,0x1e00000,0x0,0x0,0x3c00000,0x0,0x8,0x40,0x0,0x7e0000,0x7c00000,0x1,0xf00f0000, |
3419 | + 0x0,0x3e0000,0x0,0x3f,0xfc0,0xfc3f0,0xfc3f0,0x0,0x0,0x0,0x70,0x39e70000,0x0,0x0,0x0,0x0,0xf003c0,0x0,0x0,0x180000,0xf8000000, |
3420 | + 0x3c0,0xf00003c,0x3c00,0x0,0x3c0078,0x7ff80,0x0,0x0,0x1e,0x3c0000,0x1c0,0x1c000000,0xe,0xf0,0x0,0x0,0x7ffe1c00,0x0,0x0,0x380000f0, |
3421 | + 0x7800000,0x1c00,0xe000,0x3c00,0x0,0x3de000,0x1ef0000,0xf780000,0x7bc00003,0xde00001e,0xf00003c7,0x8000f800,0x78000,0x3c0000, |
3422 | + 0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x1f00ff00,0x3c03e003,0xc01f001e,0xf800f0,0x7c00780,0x3e003c00, |
3423 | + 0xf,0x800f80f0,0x3c0780,0x1e03c00,0xf01e000,0x7803c00f,0x1fffc0,0xf001e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3424 | + 0x0,0x0,0x307,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3425 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e0000,0x781e003f,0xfff03803, |
3426 | + 0x80001e00,0x1e0,0xf80,0xf000,0x3dde00,0x0,0x0,0x0,0x0,0xf000f00,0x780001e,0x0,0x7800000f,0x1e780,0x3c00000,0x3e000000,0x3e00f, |
3427 | + 0x780f0,0x7c0000,0x0,0x0,0x0,0x0,0x1e0,0x7c001e0,0x3ef8003,0xc000f00f,0x1e0,0xf003c0,0x1e00,0xf000,0x1e0007,0x80007800,0x780, |
3428 | + 0x3c03e000,0x7800001e,0xf01ef07b,0xc01e01e0,0xf00780,0x3e07800,0x3c078003,0xe03c0000,0xf000,0xf0003c0,0x78001e0f,0x1e00,0xf01e003e, |
3429 | + 0x1f00000,0x3c0003c,0x7800,0x1e0,0x78078,0x0,0x0,0x1,0xe0000000,0x0,0x780000,0x3c,0x0,0x78000,0x0,0x0,0x7800000,0x1e00000, |
3430 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x3c000,0x0,0x0,0x0,0x0,0x0,0x1e,0xf0,0x780,0x0,0x0,0x1e00000,0x0,0x0,0x3c00000,0x0,0x18,0xc0,0x0, |
3431 | + 0xe70000,0x7800000,0x1,0xe00f0000,0x0,0x3c0000,0x0,0x3f,0xfc0,0xfc1f0,0x1f83f0,0x0,0x0,0x0,0x70,0x39e70000,0x0,0x0,0x0,0x0, |
3432 | + 0xf807c0,0x0,0x0,0x180000,0xf0000000,0x3e0,0x1f00003c,0x3e00,0x0,0x70001c,0x3fff80,0x0,0x0,0x38,0xe0000,0x1c0,0x1c000078, |
3433 | + 0x1c,0x1fe0,0x0,0x0,0xfffe1c00,0x0,0x0,0x380000f0,0x7800000,0x1c00,0xe000,0xe00,0x0,0x7df000,0x3ef8000,0x1f7c0000,0xfbe00007, |
3434 | + 0xdf00003c,0x780003c7,0x8000f000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0xf00f780, |
3435 | + 0x3c03c001,0xe01e000f,0xf00078,0x78003c0,0x3c001e00,0xf,0xf80f0,0x3c0780,0x1e03c00,0xf01e000,0x7803e01f,0x1ffff8,0xf001e0, |
3436 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0xc000,0x0,0x0,0x0,0x0,0x1e0000, |
3437 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3438 | + 0x780000,0x3c1e0000,0x781e003e,0x30703803,0x80001e00,0x1e0,0xf00,0x7800,0xff800,0x1e0000,0x0,0x0,0x0,0x1e000f00,0x780001e, |
3439 | + 0x0,0x7800000f,0x3c780,0x3c00000,0x3c000000,0x3c00f,0x780f0,0x3c0000,0x0,0x0,0x2000000,0x800000,0x1e0,0x78000e0,0x3c78003, |
3440 | + 0xc000f01e,0x1e0,0xf803c0,0x1e00,0x1e000,0x1e0007,0x80007800,0x780,0x3c07c000,0x7800001e,0x701cf07b,0xc01e01e0,0xf00780,0x1e07800, |
3441 | + 0x3c078001,0xe03c0000,0xf000,0xf0003c0,0x7c003e0f,0x1e00,0xf83e001e,0x1e00000,0x7c0003c,0x3c00,0x1e0,0xf807c,0x0,0x0,0x1fe0001, |
3442 | + 0xe1fc0000,0x7f00003,0xf8780007,0xf000003c,0x7f0,0x783f0,0x0,0x0,0x7800000,0x1e00000,0x3e0f8000,0xfc00007,0xf8000007,0xf00001fc, |
3443 | + 0xf,0xc0003fc0,0x3c000,0x0,0x0,0x0,0x0,0x0,0x1e,0xf0,0x780,0x0,0x0,0x3c00000,0x0,0x0,0x3c00000,0x0,0x18,0xc0,0x0,0x1818000, |
3444 | + 0x7800000,0x1,0xe00f0000,0x0,0x7c0000,0x0,0x1f,0x80001f80,0x7c1f8,0x1f83e0,0x0,0x0,0x0,0x70,0x38c70007,0xf8000000,0x7f03, |
3445 | + 0xf0000000,0x0,0x780780,0x0,0x0,0xfe0000,0xf0000000,0x1e0,0x1e00003c,0x3f00,0x0,0xe07f0e,0x7fff80,0x0,0x0,0x70,0x70000,0x1c0, |
3446 | + 0x1c000078,0x3c,0x1fc0,0x0,0x0,0xfffe1c00,0x0,0x0,0x380000f0,0x7800000,0x1c00,0xe000,0xe00,0x0,0x78f000,0x3c78000,0x1e3c0000, |
3447 | + 0xf1e00007,0x8f00003c,0x78000787,0x8001e000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00, |
3448 | + 0xf80f780,0x3c03c001,0xe01e000f,0xf00078,0x78003c0,0x3c001e00,0xf,0x1f80f0,0x3c0780,0x1e03c00,0xf01e000,0x7801e01e,0x1ffffc, |
3449 | + 0xf007e0,0x3fc000,0x1fe0000,0xff00000,0x7f800003,0xfc00001f,0xe0000fc0,0xfc00007f,0xfe0,0x7f00,0x3f800,0x1fc000,0x0,0x0,0x0, |
3450 | + 0x1,0xf000001f,0x80000ff0,0x7f80,0x3fc00,0x1fe000,0xff0000,0x1f80000,0x1fc1e000,0x0,0x0,0x0,0x0,0x1e1fc0,0x0,0x0,0x0,0x0, |
3451 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e0000, |
3452 | + 0x781c007c,0x30003803,0x80001f00,0x1e0,0xf00,0x7800,0x7f000,0x1e0000,0x0,0x0,0x0,0x1e000f00,0x780001e,0x0,0x7800000f,0x3c780, |
3453 | + 0x3c00000,0x3c000000,0x3c00f,0x780f0,0x3c0000,0x0,0x0,0x1e000000,0xf00000,0x3e0,0xf0000e0,0x3c78003,0xc000f01e,0x1e0,0x7803c0, |
3454 | + 0x1e00,0x1e000,0x1e0007,0x80007800,0x780,0x3c0f8000,0x7800001e,0x701cf079,0xe01e01e0,0xf00780,0x1e07800,0x3c078001,0xe03c0000, |
3455 | + 0xf000,0xf0003c0,0x3c003c0f,0x3e00,0x787c001f,0x3e00000,0xf80003c,0x3c00,0x1e0,0x1f003e,0x0,0x0,0x1fffc001,0xe7ff0000,0x3ffe000f, |
3456 | + 0xfe78003f,0xfc001fff,0xfe001ffc,0xf0078ffc,0x1ffc00,0x7ff000,0x7800f80,0x1e0000f,0x7f1fc01e,0x3ff0001f,0xfe00079f,0xfc0007ff, |
3457 | + 0x3c003c7f,0xf001fff8,0x1fffff0,0x3c003c0,0xf0000f1e,0xf1f,0x7c1f0,0x1f00ff,0xffe0001e,0xf0,0x780,0x0,0x0,0x3c00000,0x100000, |
3458 | + 0x0,0x7800000,0x0,0x18,0xc0,0x0,0x1818000,0x7800000,0x1,0xe00f0000,0x1000000,0xf80000,0x40000002,0xf,0x80001f00,0x7e0f8,0x1f07c0, |
3459 | + 0x0,0x0,0x0,0x70,0x38c7003f,0xff000000,0xff8f,0xf8000100,0xffffe,0x7c0f80,0x0,0x0,0x3ffc000,0xf0000020,0x1001f0,0x3c00003c, |
3460 | + 0x1f80,0x0,0x1c3ffc7,0x7c0780,0x0,0x0,0xe3,0xff038000,0xe0,0x38000078,0x78,0x1ff0,0x0,0x3c003c0,0xfffe1c00,0x0,0x0,0x380000f0, |
3461 | + 0x7800000,0x1c00,0xe000,0xe00,0xf000,0x78f000,0x3c78000,0x1e3c0000,0xf1e00007,0x8f00003c,0x78000787,0x8001e000,0x78000,0x3c0000, |
3462 | + 0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x780f3c0,0x3c03c001,0xe01e000f,0xf00078,0x78003c0,0x3c001e00, |
3463 | + 0x4000200f,0x3f80f0,0x3c0780,0x1e03c00,0xf01e000,0x7801f03e,0x1ffffe,0xf01fe0,0x3fff800,0x1fffc000,0xfffe0007,0xfff0003f, |
3464 | + 0xff8001ff,0xfc003ff3,0xfe0003ff,0xe0007ff8,0x3ffc0,0x1ffe00,0xfff000,0x3ff80001,0xffc0000f,0xfe00007f,0xf000003f,0xf8003c7f, |
3465 | + 0xe0003ffc,0x1ffe0,0xfff00,0x7ff800,0x3ffc000,0x1f80000,0xfff1c03c,0x3c01e0,0x1e00f00,0xf007800,0x781f0001,0xf01e7ff0,0x7c0007c, |
3466 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000, |
3467 | + 0x3c1e003f,0xfffff078,0x30003803,0x80000f00,0x1e0,0x1f00,0x7800,0x7f000,0x1e0000,0x0,0x0,0x0,0x3c000f00,0x780001e,0x0,0x7800000f, |
3468 | + 0x78780,0x3c00000,0x3c000000,0x7c00f,0x780f0,0x3c0007,0xe000003f,0x0,0xfe000000,0xfe0000,0x3c0,0x1f000070,0x7c7c003,0xc000f01e, |
3469 | + 0x1e0,0x7803c0,0x1e00,0x1e000,0x1e0007,0x80007800,0x780,0x3c1f0000,0x7800001e,0x783cf079,0xe01e03c0,0xf00780,0x1e0f000,0x3c078001, |
3470 | + 0xe03c0000,0xf000,0xf0003c0,0x3c003c07,0x81f03c00,0x7c7c000f,0x87c00000,0xf00003c,0x1e00,0x1e0,0x3e001f,0x0,0x0,0x3fffe001, |
3471 | + 0xefff8000,0x7fff001f,0xff78007f,0xfe001fff,0xfe003ffe,0xf0079ffe,0x1ffc00,0x7ff000,0x7801f00,0x1e0000f,0xffbfe01e,0x7ff8003f, |
3472 | + 0xff0007bf,0xfe000fff,0xbc003cff,0xf803fffc,0x1fffff0,0x3c003c0,0x78001e1e,0xf0f,0x800f80f0,0x1e00ff,0xffe0001e,0xf0,0x780, |
3473 | + 0x0,0x0,0x3c00000,0x380000,0x0,0x7800000,0x0,0x18,0xc0,0x0,0x1008000,0x7800000,0x3,0xe00f0000,0x3800000,0xf00000,0xe0000007, |
3474 | + 0xf,0x80001f00,0x3e0f8,0x1e07c0,0x0,0x0,0x0,0x70,0x3807007f,0xff800000,0x1ffdf,0xfc000380,0xffffe,0x3e1f00,0x0,0x0,0xfffe000, |
3475 | + 0xf0000030,0x3800f8,0x7c00003c,0xfc0,0x0,0x18780c3,0xf00780,0x80100,0x0,0xc3,0xffc18000,0xf0,0x78000078,0xf0,0xf0,0x0,0x3c003c0, |
3476 | + 0xfffe1c00,0x0,0x0,0x380000f0,0x7800801,0x1c00,0xe000,0x1e00,0xf000,0xf8f800,0x7c7c000,0x3e3e0001,0xf1f0000f,0x8f80007c,0x7c000787, |
3477 | + 0x8001e000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x780f3c0,0x3c078001,0xe03c000f, |
3478 | + 0x1e00078,0xf0003c0,0x78001e00,0xe000701f,0x3fc0f0,0x3c0780,0x1e03c00,0xf01e000,0x7800f87c,0x1e007f,0xf07e00,0x7fffc00,0x3fffe001, |
3479 | + 0xffff000f,0xfff8007f,0xffc003ff,0xfe007ff7,0xff0007ff,0xf000fffc,0x7ffe0,0x3fff00,0x1fff800,0x3ff80001,0xffc0000f,0xfe00007f, |
3480 | + 0xf00000ff,0xf8003cff,0xf0007ffe,0x3fff0,0x1fff80,0xfffc00,0x7ffe000,0x1f80001,0xfffb803c,0x3c01e0,0x1e00f00,0xf007800,0x780f0001, |
3481 | + 0xe01efff8,0x3c00078,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3482 | + 0x0,0x0,0x0,0x0,0x0,0x780000,0x3c1e003f,0xfffff078,0x30001c07,0xf80,0x1e0,0x1e00,0x3c00,0xff800,0x1e0000,0x0,0x0,0x0,0x3c001e00, |
3483 | + 0x3c0001e,0x0,0x7800001e,0x70780,0x3c00000,0x78000000,0x78007,0x800f00f0,0x3e0007,0xe000003f,0x3,0xfe000000,0xff8000,0x7c0, |
3484 | + 0x1e000070,0x783c003,0xc001f01e,0x1e0,0x7803c0,0x1e00,0x1e000,0x1e0007,0x80007800,0x780,0x3c3e0000,0x7800001e,0x3838f079, |
3485 | + 0xe01e03c0,0x780780,0x1e0f000,0x1e078001,0xe03c0000,0xf000,0xf0003c0,0x3c007c07,0x81f03c00,0x3ef80007,0x87800000,0x1f00003c, |
3486 | + 0x1e00,0x1e0,0x7c000f,0x80000000,0x0,0x3ffff001,0xffffc000,0xffff003f,0xff7800ff,0xff001fff,0xfe007ffe,0xf007bffe,0x1ffc00, |
3487 | + 0x7ff000,0x7803e00,0x1e0000f,0xffffe01e,0xfff8007f,0xff8007ff,0xff001fff,0xbc003dff,0xf807fffc,0x1fffff0,0x3c003c0,0x78001e0f, |
3488 | + 0x1e07,0xc01f00f0,0x1e00ff,0xffe0001e,0xf0,0x780,0x0,0x0,0x7c00000,0x7c0000,0x0,0x7800000,0x0,0x18,0xc0,0x0,0x1018000,0x7800000, |
3489 | + 0x3,0xc00f0000,0x7c00000,0x1f00001,0xf000000f,0x80000007,0xc0003e00,0x1e07c,0x3e0780,0x0,0x0,0x0,0x70,0x380700ff,0xff800000, |
3490 | + 0x3ffff,0xfe0007c0,0xffffe,0x1e1e00,0x0,0x780000,0x1fffe000,0xf0000078,0x7c0078,0x7800003c,0xff0,0x0,0x38e0003,0x80f00780, |
3491 | + 0x180300,0x0,0x1c3,0x81e1c000,0x7f,0xf0000078,0x1e0,0x38,0x0,0x3c003c0,0xfffe1c00,0x0,0x0,0x380000f0,0x7800c01,0x80001c00, |
3492 | + 0xe000,0x603e00,0xf000,0xf07800,0x783c000,0x3c1e0001,0xe0f0000f,0x7800078,0x3c000f87,0x8001e000,0x78000,0x3c0000,0x1e00000, |
3493 | + 0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x780f3c0,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f01,0xf000f81e, |
3494 | + 0x7bc0f0,0x3c0780,0x1e03c00,0xf01e000,0x78007878,0x1e001f,0xf0f800,0x7fffe00,0x3ffff001,0xffff800f,0xfffc007f,0xffe003ff, |
3495 | + 0xff007fff,0xff800fff,0xf001fffe,0xffff0,0x7fff80,0x3fffc00,0x3ff80001,0xffc0000f,0xfe00007f,0xf00001ff,0xfc003dff,0xf000ffff, |
3496 | + 0x7fff8,0x3fffc0,0x1fffe00,0xffff000,0x1f80003,0xffff803c,0x3c01e0,0x1e00f00,0xf007800,0x780f0001,0xe01ffffc,0x3c00078,0x0, |
3497 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000, |
3498 | + 0x3c1e003f,0xfffff078,0x30001e0f,0x300780,0x1e0,0x1e00,0x3c00,0x3dde00,0x1e0000,0x0,0x0,0x0,0x78001e00,0x3c0001e,0x0,0xf800003e, |
3499 | + 0xf0780,0x3dfc000,0x783f8000,0xf8007,0xc01f00f0,0x3e0007,0xe000003f,0x1f,0xfc000000,0x7ff000,0xf80,0x3e007c70,0x783c003,0xc001e03c, |
3500 | + 0x1e0,0x3c03c0,0x1e00,0x3c000,0x1e0007,0x80007800,0x780,0x3c7c0000,0x7800001e,0x3878f078,0xf01e03c0,0x780780,0x1e0f000,0x1e078001, |
3501 | + 0xe03e0000,0xf000,0xf0003c0,0x1e007807,0x83f03c00,0x3ef00007,0xcf800000,0x3e00003c,0xf00,0x1e0,0xf80007,0xc0000000,0x0,0x3e01f801, |
3502 | + 0xfe07e001,0xf80f007e,0x7f801f8,0x1f801fff,0xfe00fc0f,0xf007f83f,0x1ffc00,0x7ff000,0x7807c00,0x1e0000f,0x87e1e01f,0xe0fc00fc, |
3503 | + 0xfc007f8,0x1f803f03,0xfc003df0,0x3807e03c,0x1fffff0,0x3c003c0,0x78003e0f,0x1e03,0xe03e00f8,0x3e00ff,0xffe0001e,0xf0,0x780, |
3504 | + 0x0,0x0,0x7800000,0xfe0000,0x0,0x7800000,0x0,0x18,0xc0,0x0,0x1818000,0x7c00000,0x3,0xc00f0000,0xfe00000,0x3e00003,0xf800001f, |
3505 | + 0xc0000007,0xc0003e00,0x1e03c,0x3c0f80,0x0,0x0,0x0,0x70,0x380700fc,0x7800000,0x7c1fe,0x3e000fe0,0xffffe,0x1f3e00,0x0,0x780000, |
3506 | + 0x3f98e000,0xf000003c,0xfcf8007c,0xf800003c,0x3ffc,0x0,0x31c0001,0x80f00f80,0x380700,0x0,0x183,0x80e0c000,0x3f,0xe0000078, |
3507 | + 0x3c0,0x38,0x0,0x3c003c0,0xfffe1c00,0x0,0x0,0x38000078,0xf000e01,0xc003ffe0,0x1fff00,0x7ffc00,0xf000,0xf07800,0x783c000,0x3c1e0001, |
3508 | + 0xe0f0000f,0x7800078,0x3c000f07,0x8003c000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00, |
3509 | + 0x3c0f1e0,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0xf801f01e,0xf3c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78007cf8, |
3510 | + 0x1e000f,0x80f0f000,0x7c03f00,0x3e01f801,0xf00fc00f,0x807e007c,0x3f003e0,0x1f80707f,0x8f801f80,0xf003f03f,0x1f81f8,0xfc0fc0, |
3511 | + 0x7e07e00,0x3ff80001,0xffc0000f,0xfe00007f,0xf00003ff,0xfc003fc1,0xf801f81f,0x800fc0fc,0x7e07e0,0x3f03f00,0x1f81f800,0x1f80007, |
3512 | + 0xe07f003c,0x3c01e0,0x1e00f00,0xf007800,0x780f8003,0xe01fe07e,0x3e000f8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3513 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3f,0xfffff078,0x30000ffe,0x1f007c0,0x0,0x1e00, |
3514 | + 0x3c00,0xf9cf80,0x1e0000,0x0,0x0,0x0,0x78001e00,0x3c0001e,0x0,0xf00000fc,0x1e0780,0x3fff800,0x78ffe000,0xf0003,0xe03e00f0, |
3515 | + 0x3e0007,0xe000003f,0x7f,0xe01fffff,0xf00ffc00,0x1f80,0x3c01ff70,0x783c003,0xc007e03c,0x1e0,0x3c03c0,0x1e00,0x3c000,0x1e0007, |
3516 | + 0x80007800,0x780,0x3cfc0000,0x7800001e,0x3c78f078,0xf01e03c0,0x780780,0x3e0f000,0x1e078003,0xc01f0000,0xf000,0xf0003c0,0x1e007807, |
3517 | + 0x83f83c00,0x1ff00003,0xcf000000,0x3e00003c,0xf00,0x1e0,0x0,0x0,0x0,0x20007801,0xfc03e003,0xe003007c,0x3f803e0,0x7c0003c, |
3518 | + 0xf807,0xf007e00f,0x3c00,0xf000,0x780f800,0x1e0000f,0x87e1f01f,0x803c00f8,0x7c007f0,0xf803e01,0xfc003f80,0x80f8004,0x3c000, |
3519 | + 0x3c003c0,0x3c003c0f,0x1e03,0xe03e0078,0x3c0000,0x7c0001e,0xf0,0x780,0x0,0x0,0x3ffff800,0x1ff0000,0x0,0x7800000,0x0,0x18, |
3520 | + 0xc0,0x0,0x1818000,0x3e00000,0x3,0xc00f0000,0x1ff00000,0x3e00007,0xfc00003f,0xe0000003,0xc0003c00,0xf03c,0x3c0f00,0x0,0x0, |
3521 | + 0x0,0x70,0x380701f0,0x800000,0x780fc,0x1e001ff0,0x7c,0xf3c00,0x0,0x780000,0x7e182000,0xf000001f,0xfff00ffc,0xffc0003c,0x3cfe, |
3522 | + 0x0,0x31c0001,0x80f01f80,0x780f00,0x0,0x183,0x80e0c000,0xf,0x80000078,0x780,0x38,0x0,0x3c003c0,0x7ffe1c00,0x0,0x0,0x38000078, |
3523 | + 0xf000f01,0xe003ffe0,0x1fff00,0x7ff800,0xf000,0xf07800,0x783c000,0x3c1e0001,0xe0f0000f,0x78000f8,0x3e000f07,0x8003c000,0x78000, |
3524 | + 0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x3c0f1e0,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0, |
3525 | + 0x78000f00,0x7c03e01e,0x1e3c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78003cf0,0x1e0007,0x80f1e000,0x4000f00,0x20007801,0x3c008, |
3526 | + 0x1e0040,0xf00200,0x780403f,0x7803e00,0x3007c00f,0x803e007c,0x1f003e0,0xf801f00,0x780000,0x3c00000,0x1e000000,0xf00007f0, |
3527 | + 0x3e003f00,0x7801f00f,0x800f807c,0x7c03e0,0x3e01f00,0x1f00f800,0x1f80007,0xc03e003c,0x3c01e0,0x1e00f00,0xf007800,0x78078003, |
3528 | + 0xc01fc03e,0x1e000f0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3529 | + 0x0,0x0,0x0,0x0,0x0,0x780000,0x0,0xf078007c,0x300007fc,0x7e00fe0,0x0,0x1e00,0x3c00,0x3e1c3e0,0x1e0000,0x0,0x0,0x0,0xf0001e00, |
3530 | + 0x3c0001e,0x1,0xf000fff8,0x1e0780,0x3fffe00,0x79fff000,0x1f0001,0xfffc00f0,0x7e0007,0xe000003f,0x3ff,0x801fffff,0xf003ff80, |
3531 | + 0x3f00,0x3c03fff0,0xf01e003,0xffffc03c,0x1e0,0x3c03ff,0xffc01fff,0xfe03c000,0x1fffff,0x80007800,0x780,0x3df80000,0x7800001e, |
3532 | + 0x1c70f078,0x781e03c0,0x780780,0x3c0f000,0x1e078007,0xc01f8000,0xf000,0xf0003c0,0x1e007807,0x83f83c00,0xfe00003,0xff000000, |
3533 | + 0x7c00003c,0x780,0x1e0,0x0,0x0,0x0,0x7c01,0xf801f007,0xc00100f8,0x1f803c0,0x3c0003c,0x1f003,0xf007c00f,0x80003c00,0xf000, |
3534 | + 0x783f000,0x1e0000f,0x3c0f01f,0x3e01f0,0x3e007e0,0x7c07c00,0xfc003f00,0xf0000,0x3c000,0x3c003c0,0x3c003c0f,0x1e01,0xf07c007c, |
3535 | + 0x7c0000,0xfc0001e,0xf0,0x780,0x0,0x0,0x3ffff000,0x3838000,0x0,0x7800000,0x0,0x18,0xc0,0x0,0xff0000,0x3f00000,0x3,0xc00fff00, |
3536 | + 0x38380000,0x7c0000e,0xe000070,0x70000001,0xe0003c00,0xf01e,0x780e00,0x0,0x0,0x0,0x0,0x1e0,0x0,0x780f8,0xf003838,0xfc,0xffc00, |
3537 | + 0x0,0x780000,0x7c180000,0xf000000f,0xffe00fff,0xffc0003c,0x783f,0x80000000,0x6380000,0xc0f83f80,0xf81f00,0x0,0x303,0x80e06000, |
3538 | + 0x0,0x78,0xf00,0x78,0x0,0x3c003c0,0x7ffe1c00,0x0,0x0,0x3800003c,0x3e000f81,0xf003ffe0,0x1fff00,0x1fc000,0xf000,0x1e03c00, |
3539 | + 0xf01e000,0x780f0003,0xc078001e,0x3c000f0,0x1e000f07,0xff83c000,0x7ffff,0x803ffffc,0x1ffffe0,0xfffff00,0xf00000,0x7800000, |
3540 | + 0x3c000001,0xe0001e00,0x3c0f0f0,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0x3e07c01e,0x1e3c0f0,0x3c0780,0x1e03c00, |
3541 | + 0xf01e000,0x78003ff0,0x1e0007,0x80f1e000,0xf80,0x7c00,0x3e000,0x1f0000,0xf80000,0x7c0001e,0x3c07c00,0x10078007,0x803c003c, |
3542 | + 0x1e001e0,0xf000f00,0x780000,0x3c00000,0x1e000000,0xf00007c0,0x1e003e00,0x7c03e007,0xc01f003e,0xf801f0,0x7c00f80,0x3e007c00, |
3543 | + 0xf,0x801f003c,0x3c01e0,0x1e00f00,0xf007800,0x7807c007,0xc01f801f,0x1f001f0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3544 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x0,0xe078003c,0x300001f0,0x3f801ff0,0x0, |
3545 | + 0x3c00,0x1e00,0x3c1c1e0,0x1e0000,0x0,0x0,0x0,0xf0001e0f,0x3c0001e,0x3,0xe000fff0,0x3c0780,0x3ffff00,0x7bfff800,0x1e0000,0x7ff00078, |
3546 | + 0x7e0007,0xe000003f,0x1ffc,0x1fffff,0xf0007ff0,0x7e00,0x3c07c3f0,0xf01e003,0xffff003c,0x1e0,0x3c03ff,0xffc01fff,0xfe03c000, |
3547 | + 0x1fffff,0x80007800,0x780,0x3ffc0000,0x7800001e,0x1ef0f078,0x781e03c0,0x780780,0x7c0f000,0x1e07801f,0x800ff000,0xf000,0xf0003c0, |
3548 | + 0xf00f807,0x83b83c00,0xfc00001,0xfe000000,0xf800003c,0x780,0x1e0,0x0,0x0,0x0,0x3c01,0xf000f007,0xc00000f0,0xf80780,0x3c0003c, |
3549 | + 0x1e001,0xf007c007,0x80003c00,0xf000,0x787e000,0x1e0000f,0x3c0f01f,0x1e01e0,0x1e007c0,0x3c07800,0x7c003f00,0xf0000,0x3c000, |
3550 | + 0x3c003c0,0x3e007c07,0x80003c00,0xf8f8003c,0x780000,0xf80001e,0xf0,0x780,0x0,0x0,0x7ffff000,0x601c000,0x3,0xffff0000,0x0, |
3551 | + 0xfff,0xf8007fff,0xc0000000,0x7e003c,0x1fe0000,0xc0003,0xc00fff00,0x601c0000,0xf800018,0x70000c0,0x38000001,0xe0007800,0x701e, |
3552 | + 0x701e00,0x0,0x0,0x0,0x0,0x1e0,0x6,0x700f8,0xf00601c,0xf8,0x7f800,0x0,0x780000,0xf8180000,0xf000000f,0x87c00fff,0xffc0003c, |
3553 | + 0xf01f,0xc0000000,0x6380000,0xc07ff780,0x1f03e03,0xfffffe00,0x303,0x81c06000,0x0,0x1ffff,0xfe001e00,0x180f8,0x0,0x3c003c0, |
3554 | + 0x3ffe1c00,0x3f00000,0x0,0x3800003f,0xfe0007c0,0xf8000000,0x18000000,0xc0000006,0x1f000,0x1e03c00,0xf01e000,0x780f0003,0xc078001e, |
3555 | + 0x3c000f0,0x1e001f07,0xff83c000,0x7ffff,0x803ffffc,0x1ffffe0,0xfffff00,0xf00000,0x7800000,0x3c000001,0xe000fff8,0x3c0f0f0, |
3556 | + 0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0x1f0f801e,0x3c3c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78001fe0,0x1e0007, |
3557 | + 0x80f1e000,0x780,0x3c00,0x1e000,0xf0000,0x780000,0x3c0001e,0x3c07c00,0xf0007,0x8078003c,0x3c001e0,0x1e000f00,0x780000,0x3c00000, |
3558 | + 0x1e000000,0xf0000f80,0x1f003e00,0x3c03c003,0xc01e001e,0xf000f0,0x7800780,0x3c003c00,0xf,0x3f003c,0x3c01e0,0x1e00f00,0xf007800, |
3559 | + 0x7803c007,0x801f000f,0xf001e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3560 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1,0xe078003f,0xb0000000,0xfc003cf0,0x0,0x3c00,0x1e00,0x101c040,0x1e0000,0x0,0x0,0x1, |
3561 | + 0xe0001e1f,0x83c0001e,0x7,0xe000fff0,0x3c0780,0x3c03f80,0x7fc0fc00,0x1e0000,0xfff80078,0xfe0007,0xe000003f,0x7fe0,0x1fffff, |
3562 | + 0xf0000ffc,0xfc00,0x780f81f0,0xf01e003,0xffff003c,0x1e0,0x3c03ff,0xffc01fff,0xfe03c000,0x1fffff,0x80007800,0x780,0x3ffc0000, |
3563 | + 0x7800001e,0x1ef0f078,0x3c1e03c0,0x780780,0x1fc0f000,0x1e07ffff,0x7ff00,0xf000,0xf0003c0,0xf00f007,0xc3b87c00,0x7c00001,0xfe000000, |
3564 | + 0xf800003c,0x3c0,0x1e0,0x0,0x0,0x0,0x3c01,0xf000f007,0x800000f0,0xf80780,0x1e0003c,0x1e001,0xf0078007,0x80003c00,0xf000,0x78fc000, |
3565 | + 0x1e0000f,0x3c0f01e,0x1e01e0,0x1e007c0,0x3c07800,0x7c003e00,0xf0000,0x3c000,0x3c003c0,0x1e007807,0x80003c00,0x7df0003c,0x780000, |
3566 | + 0x1f00001e,0xf0,0x780,0x0,0x0,0x7800000,0xe7ce000,0x3,0xffff0000,0x0,0xfff,0xf8007fff,0xc0000000,0x1f0,0xffe000,0x1c0003, |
3567 | + 0xc00fff00,0xe7ce0000,0xf800039,0xf38001cf,0x9c000000,0xe0007800,0x780e,0x701c00,0x0,0x0,0x0,0x0,0x1e0,0x7,0xf0078,0xf00e7ce, |
3568 | + 0x1f0,0x7f800,0x0,0x780000,0xf0180000,0xf000000e,0x1c0001f,0xe000003c,0xf007,0xe0000000,0x6380000,0xc03fe780,0x3e07c03,0xfffffe00, |
3569 | + 0x303,0xffc06000,0x0,0x1ffff,0xfe003ffe,0x1fff0,0x0,0x3c003c0,0x1ffe1c00,0x3f00000,0x7,0xffc0001f,0xfc0003e0,0x7c000001,0xfc00000f, |
3570 | + 0xe000007f,0x1e000,0x1e03c00,0xf01e000,0x780f0003,0xc078001e,0x3c000f0,0x1e001e07,0xff83c000,0x7ffff,0x803ffffc,0x1ffffe0, |
3571 | + 0xfffff00,0xf00000,0x7800000,0x3c000001,0xe000fff8,0x3c0f078,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0xf9f001e, |
3572 | + 0x783c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78001fe0,0x1e0007,0x80f1e000,0x780,0x3c00,0x1e000,0xf0000,0x780000,0x3c0001e,0x3c07800, |
3573 | + 0xf0003,0xc078001e,0x3c000f0,0x1e000780,0x780000,0x3c00000,0x1e000000,0xf0000f00,0xf003c00,0x3c03c003,0xc01e001e,0xf000f0, |
3574 | + 0x7800780,0x3c003c00,0xf,0x7f003c,0x3c01e0,0x1e00f00,0xf007800,0x7803c007,0x801f000f,0xf001e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3575 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1,0xe070001f,0xf8000007, |
3576 | + 0xf0007cf8,0x7800000,0x3c00,0x1e00,0x1c000,0x1e0000,0x0,0x0,0x1,0xe0001e1f,0x83c0001e,0xf,0xc000fff8,0x780780,0x2000f80,0x7f803e00, |
3577 | + 0x3e0003,0xfffe007c,0x1fe0000,0x0,0x3ff00,0x0,0x1ff,0x8001f000,0x780f00f0,0x1f00f003,0xffffc03c,0x1e0,0x3c03ff,0xffc01fff, |
3578 | + 0xfe03c00f,0xf81fffff,0x80007800,0x780,0x3ffe0000,0x7800001e,0xee0f078,0x3c1e03c0,0x7807ff,0xff80f000,0x1e07fffe,0x3ffe0, |
3579 | + 0xf000,0xf0003c0,0xf00f003,0xc7bc7800,0xfc00000,0xfc000001,0xf000003c,0x3c0,0x1e0,0x0,0x0,0x0,0x3c01,0xe000f80f,0x800001e0, |
3580 | + 0xf80f00,0x1e0003c,0x3c000,0xf0078007,0x80003c00,0xf000,0x79f8000,0x1e0000f,0x3c0f01e,0x1e03c0,0x1f00780,0x3e0f000,0x7c003e00, |
3581 | + 0xf0000,0x3c000,0x3c003c0,0x1e007807,0x81e03c00,0x7df0003e,0xf80000,0x3e00003e,0xf0,0x7c0,0xfc000,0x80000000,0x7800000,0x1e7cf000, |
3582 | + 0x3,0xffff0000,0x0,0x18,0xc0,0x0,0xf80,0x7ffc00,0x380003,0xc00fff01,0xe7cf0000,0x1f000079,0xf3c003cf,0x9e000000,0xe0007000, |
3583 | + 0x380e,0xe01c00,0x0,0x0,0x0,0x0,0x1e0,0x3,0x800f0078,0xf01e7cf,0x3e0,0x3f000,0x0,0x780000,0xf018001f,0xfff8001e,0x1e0000f, |
3584 | + 0xc000003c,0xf003,0xe0000000,0x6380000,0xc00fc780,0x7c0f803,0xfffffe00,0x303,0xfe006000,0x0,0x1ffff,0xfe003ffe,0x1ffe0,0x0, |
3585 | + 0x3c003c0,0xffe1c00,0x3f00000,0x7,0xffc00007,0xf00001f0,0x3e00001f,0xfc0000ff,0xe00007ff,0x3e000,0x3e01e00,0x1f00f000,0xf8078007, |
3586 | + 0xc03c003e,0x1e001e0,0xf001e07,0xff83c000,0x7ffff,0x803ffffc,0x1ffffe0,0xfffff00,0xf00000,0x7800000,0x3c000001,0xe000fff8, |
3587 | + 0x3c0f078,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0x7fe001e,0xf03c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78000fc0, |
3588 | + 0x1e0007,0x80f1f000,0x780,0x3c00,0x1e000,0xf0000,0x780000,0x3c0001e,0x3c0f800,0x1e0003,0xc0f0001e,0x78000f0,0x3c000780,0x780000, |
3589 | + 0x3c00000,0x1e000000,0xf0000f00,0xf003c00,0x3c078003,0xe03c001f,0x1e000f8,0xf0007c0,0x78003e00,0x1e,0xf7803c,0x3c01e0,0x1e00f00, |
3590 | + 0xf007800,0x7803e00f,0x801e000f,0x80f803e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3591 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1,0xe0f0000f,0xff00001f,0x8000f87c,0x7800000,0x3c00,0x1e00,0x1c000,0x7fffff80, |
3592 | + 0x0,0x0,0x3,0xc0001e1f,0x83c0001e,0x1f,0x800000fe,0xf00780,0x7c0,0x7f001e00,0x3c0007,0xe03f003f,0x3fe0000,0x0,0x3fc00,0x0, |
3593 | + 0x7f,0x8001e000,0x781f00f0,0x1e00f003,0xc007e03c,0x1e0,0x3c03c0,0x1e00,0x3c00f,0xf81e0007,0x80007800,0x780,0x3f9f0000,0x7800001e, |
3594 | + 0xfe0f078,0x3c1e03c0,0x7807ff,0xff00f000,0x1e07fff8,0xfff8,0xf000,0xf0003c0,0xf81f003,0xc7bc7800,0xfe00000,0x78000003,0xe000003c, |
3595 | + 0x1e0,0x1e0,0x0,0x0,0x0,0x1fffc01,0xe000780f,0x1e0,0x780f00,0x1e0003c,0x3c000,0xf0078007,0x80003c00,0xf000,0x7bf0000,0x1e0000f, |
3596 | + 0x3c0f01e,0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0xf8000,0x3c000,0x3c003c0,0x1f00f807,0x81f03c00,0x3fe0001e,0xf00000,0x7c00007c, |
3597 | + 0xf0,0x3e0,0x3ff801,0x80000000,0x7800000,0x3cfcf800,0x3,0xffff0000,0x0,0x18,0xc0,0x0,0x7c00,0x1fff00,0x700003,0xc00f0003, |
3598 | + 0xcfcf8000,0x3e0000f3,0xf3e0079f,0x9f000000,0xf000,0x1000,0x0,0x0,0x0,0x0,0x0,0x1f0,0x1,0xc00f0078,0xf03cfcf,0x800007c0,0x1e000, |
3599 | + 0x0,0x780001,0xe018001f,0xfff8001c,0xe00007,0x8000003c,0xf001,0xf0000000,0x6380000,0xc0000000,0xf81f003,0xfffffe00,0x303, |
3600 | + 0x87006000,0x0,0x1ffff,0xfe003ffe,0x7f00,0x0,0x3c003c0,0x3fe1c00,0x3f00000,0x7,0xffc00000,0xf8,0x1f0001ff,0xf0000fff,0x80007ffc, |
3601 | + 0xfc000,0x3c01e00,0x1e00f000,0xf0078007,0x803c003c,0x1e001e0,0xf001e07,0x8003c000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000, |
3602 | + 0x7800000,0x3c000001,0xe000fff8,0x3c0f078,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0x3fc001e,0x1e03c0f0,0x3c0780, |
3603 | + 0x1e03c00,0xf01e000,0x78000780,0x1e0007,0x80f0fc00,0x3fff80,0x1fffc00,0xfffe000,0x7fff0003,0xfff8001f,0xffc0001e,0x3c0f000, |
3604 | + 0x1e0003,0xc0f0001e,0x78000f0,0x3c000780,0x780000,0x3c00000,0x1e000000,0xf0001e00,0xf803c00,0x3c078001,0xe03c000f,0x1e00078, |
3605 | + 0xf0003c0,0x78001e07,0xfffffe1e,0x1e7803c,0x3c01e0,0x1e00f00,0xf007800,0x7801e00f,0x1e0007,0x807803c0,0x0,0x0,0x0,0x0,0x0, |
3606 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x3,0xc0f00007, |
3607 | + 0xffc0007e,0xf03e,0x7800000,0x3c00,0x1e00,0x1c000,0x7fffff80,0x0,0x0,0x3,0xc0001e1f,0x83c0001e,0x3f,0x3e,0xf00780,0x3c0,0x7e001e00, |
3608 | + 0x7c000f,0x800f001f,0xffde0000,0x0,0x3e000,0x0,0xf,0x8003e000,0x781e0070,0x1e00f003,0xc001f03c,0x1e0,0x3c03c0,0x1e00,0x3c00f, |
3609 | + 0xf81e0007,0x80007800,0x780,0x3f1f0000,0x7800001e,0x7c0f078,0x1e1e03c0,0x7807ff,0xfc00f000,0x1e07fffe,0xffc,0xf000,0xf0003c0, |
3610 | + 0x781e003,0xc71c7800,0x1ff00000,0x78000003,0xe000003c,0x1e0,0x1e0,0x0,0x0,0x0,0xffffc01,0xe000780f,0x1e0,0x780fff,0xffe0003c, |
3611 | + 0x3c000,0xf0078007,0x80003c00,0xf000,0x7ff0000,0x1e0000f,0x3c0f01e,0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0x7f000,0x3c000, |
3612 | + 0x3c003c0,0xf00f007,0xc1f07c00,0x1fc0001f,0x1f00000,0xfc000ff8,0xf0,0x1ff,0xfffe07,0x80000000,0x7800000,0x7ffcfc00,0x0,0xf000000, |
3613 | + 0x0,0x18,0xc0,0x0,0x3e000,0x1ff80,0xe00003,0xc00f0007,0xffcfc000,0x3e0001ff,0xf3f00fff,0x9f800000,0x6000,0x0,0x0,0x7c000, |
3614 | + 0x0,0x0,0x0,0xfe,0x0,0xe00f007f,0xff07ffcf,0xc0000fc0,0x1e000,0x0,0x780001,0xe018001f,0xfff8001c,0xe00007,0x80000000,0xf800, |
3615 | + 0xf0000000,0x6380000,0xc0000000,0x1f03c000,0x1e00,0x303,0x83806000,0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xfe1c00,0x3f00000,0x0, |
3616 | + 0x0,0x3c,0xf801fff,0xfff8,0x7ffc0,0x1f8000,0x3c01e00,0x1e00f000,0xf0078007,0x803c003c,0x1e001e0,0xf003c07,0x8003c000,0x78000, |
3617 | + 0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x3c0f03c,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0, |
3618 | + 0x78000f00,0x1f8001e,0x1e03c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78000780,0x1e000f,0x80f0ff00,0x1ffff80,0xffffc00,0x7fffe003, |
3619 | + 0xffff001f,0xfff800ff,0xffc007ff,0xffc0f000,0x1fffff,0xc0fffffe,0x7fffff0,0x3fffff80,0x780000,0x3c00000,0x1e000000,0xf0001e00, |
3620 | + 0x7803c00,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e07,0xfffffe1e,0x3c7803c,0x3c01e0,0x1e00f00,0xf007800,0x7801f01f, |
3621 | + 0x1e0007,0x807c07c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3622 | + 0x0,0x0,0x0,0x0,0x780000,0x3,0xc0f00000,0xfff003f0,0x1f00f03e,0x7800000,0x3c00,0x1e00,0x1c000,0x7fffff80,0x0,0x7ff80000,0x3, |
3623 | + 0xc0001e0f,0x3c0001e,0x7e,0x1f,0x1e00780,0x3e0,0x7e000f00,0x78000f,0x7800f,0xff9e0000,0x0,0x3fc00,0x0,0x7f,0x8003c000,0x781e0070, |
3624 | + 0x3e00f803,0xc000f03c,0x1e0,0x3c03c0,0x1e00,0x3c00f,0xf81e0007,0x80007800,0x780,0x3e0f8000,0x7800001e,0x7c0f078,0x1e1e03c0, |
3625 | + 0x7807ff,0xf000f000,0x1e07807f,0xfe,0xf000,0xf0003c0,0x781e003,0xc71c7800,0x3ef00000,0x78000007,0xc000003c,0x1e0,0x1e0,0x0, |
3626 | + 0x0,0x0,0x1ffffc01,0xe000780f,0x1e0,0x780fff,0xffe0003c,0x3c000,0xf0078007,0x80003c00,0xf000,0x7ff0000,0x1e0000f,0x3c0f01e, |
3627 | + 0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0x7ff80,0x3c000,0x3c003c0,0xf00f003,0xc1f07800,0x1fc0000f,0x1e00000,0xf8000ff0,0xf0, |
3628 | + 0xff,0xffffff,0x80000000,0x3fffc000,0xfff9fe00,0x0,0xf000000,0x0,0x18,0xc0,0x0,0x1f0000,0x1fc0,0x1c00003,0xc00f000f,0xff9fe000, |
3629 | + 0x7c0003ff,0xe7f81fff,0x3fc00000,0x0,0x0,0x0,0xfe000,0x1ffffc0f,0xfffffc00,0x0,0xff,0xf0000000,0x700f007f,0xff0fff9f,0xe0000f80, |
3630 | + 0x1e000,0x0,0x780001,0xe018001f,0xfff8001c,0xe00fff,0xffc00000,0xf800,0xf0000000,0x6380000,0xc0ffff80,0x3e078000,0x1e00,0x7ff80303, |
3631 | + 0x83c06000,0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x3f00000,0x0,0x7f,0xff00001e,0x7c1fff0,0xfff80,0x7ffc00,0x3f0000,0x7c01f00, |
3632 | + 0x3e00f801,0xf007c00f,0x803e007c,0x1f003e0,0xf803c07,0x8003c000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001, |
3633 | + 0xe0001e00,0x3c0f03c,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0x1f8001e,0x3c03c0f0,0x3c0780,0x1e03c00,0xf01e000, |
3634 | + 0x78000780,0x1e001f,0xf07f80,0x3ffff80,0x1ffffc00,0xffffe007,0xffff003f,0xfff801ff,0xffc03fff,0xffc0f000,0x1fffff,0xc0fffffe, |
3635 | + 0x7fffff0,0x3fffff80,0x780000,0x3c00000,0x1e000000,0xf0001e00,0x7803c00,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e07, |
3636 | + 0xfffffe1e,0x787803c,0x3c01e0,0x1e00f00,0xf007800,0x7800f01e,0x1e0007,0x803c0780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3637 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1ff,0xffff8000,0x3ff80fc0,0x7fc1e01f, |
3638 | + 0x7800000,0x3c00,0x1e00,0x0,0x7fffff80,0x0,0x7ff80000,0x7,0x80001e00,0x3c0001e,0xfc,0xf,0x1e00780,0x1e0,0x7c000f00,0x78000f, |
3639 | + 0x78007,0xff1e0000,0x0,0x3ff00,0x0,0x1ff,0x8003c000,0x781e0070,0x3c007803,0xc000f03c,0x1e0,0x3c03c0,0x1e00,0x3c000,0x781e0007, |
3640 | + 0x80007800,0x780,0x3c07c000,0x7800001e,0x7c0f078,0xf1e03c0,0x780780,0xf000,0x1e07801f,0x3e,0xf000,0xf0003c0,0x781e003,0xcf1c7800, |
3641 | + 0x3cf80000,0x7800000f,0x8000003c,0xf0,0x1e0,0x0,0x0,0x0,0x3ffffc01,0xe000780f,0x1e0,0x780fff,0xffe0003c,0x3c000,0xf0078007, |
3642 | + 0x80003c00,0xf000,0x7ff8000,0x1e0000f,0x3c0f01e,0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0x3fff0,0x3c000,0x3c003c0,0xf81f003, |
3643 | + 0xc3b87800,0xf80000f,0x1e00001,0xf0000ff0,0xf0,0xff,0xf03fff,0x80000000,0x3fff8001,0xfff1ff00,0x0,0xf000000,0x0,0x18,0xc0, |
3644 | + 0x0,0x380000,0x7c0,0x3c00003,0xc00f001f,0xff1ff000,0xf80007ff,0xc7fc3ffe,0x3fe00000,0x0,0x0,0x0,0x1ff000,0x7ffffe1f,0xffffff00, |
3645 | + 0x0,0x7f,0xfe000000,0x780f007f,0xff1fff1f,0xf0001f00,0x1e000,0x0,0x780001,0xe0180000,0xf000001c,0xe00fff,0xffc00000,0x7c00, |
3646 | + 0xf0000000,0x31c0001,0x80ffff80,0x3e078000,0x1e00,0x7ff80183,0x81c0c000,0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x3f00000, |
3647 | + 0x0,0x7f,0xff00001e,0x7c7ff03,0xc03ff8fe,0x1ffc0f0,0x7e0000,0x7800f00,0x3c007801,0xe003c00f,0x1e0078,0xf003c0,0x7803c07,0x8003c000, |
3648 | + 0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x3c0f01e,0x3c078000,0xf03c0007,0x81e0003c, |
3649 | + 0xf0001e0,0x78000f00,0x3fc001e,0x7803c0f0,0x3c0780,0x1e03c00,0xf01e000,0x78000780,0x1e007f,0xf03fe0,0x7ffff80,0x3ffffc01, |
3650 | + 0xffffe00f,0xffff007f,0xfff803ff,0xffc07fff,0xffc0f000,0x1fffff,0xc0fffffe,0x7fffff0,0x3fffff80,0x780000,0x3c00000,0x1e000000, |
3651 | + 0xf0001e00,0x7803c00,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e07,0xfffffe1e,0x707803c,0x3c01e0,0x1e00f00,0xf007800, |
3652 | + 0x7800f01e,0x1e0007,0x803c0780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3653 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1ff,0xffff8000,0x30f81f00,0xffe1e00f,0x87800000,0x3c00,0x1e00,0x0,0x1e0000,0x0,0x7ff80000, |
3654 | + 0x7,0x80001e00,0x3c0001e,0x1f8,0x7,0x83c00780,0x1e0,0x7c000f00,0xf8001e,0x3c001,0xfc1e0000,0x0,0x7fe0,0x0,0xffc,0x3c000,0x781e0070, |
3655 | + 0x3ffff803,0xc000783c,0x1e0,0x3c03c0,0x1e00,0x3c000,0x781e0007,0x80007800,0x780,0x3c07c000,0x7800001e,0x380f078,0xf1e03c0, |
3656 | + 0x780780,0xf000,0x1e07800f,0x8000001e,0xf000,0xf0003c0,0x3c3c003,0xcf1e7800,0x7c780000,0x7800000f,0x8000003c,0xf0,0x1e0,0x0, |
3657 | + 0x0,0x0,0x7f003c01,0xe000780f,0x1e0,0x780fff,0xffe0003c,0x3c000,0xf0078007,0x80003c00,0xf000,0x7f7c000,0x1e0000f,0x3c0f01e, |
3658 | + 0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0xfff8,0x3c000,0x3c003c0,0x781e003,0xc3b87800,0x1fc00007,0x83e00003,0xe0000ff8,0xf0, |
3659 | + 0x1ff,0xc007fe,0x0,0x7fff8001,0xffe3ff00,0x0,0x1e000000,0x0,0x18,0xc0,0x0,0x0,0x3c0,0x7800003,0xc00f001f,0xfe3ff000,0xf80007ff, |
3660 | + 0x8ffc3ffc,0x7fe00000,0x0,0x0,0x0,0x1ff000,0x0,0x0,0x0,0x1f,0xff000000,0x3c0f007f,0xff1ffe3f,0xf0003e00,0x1e000,0x0,0x780001, |
3661 | + 0xe0180000,0xf000001e,0x1e00fff,0xffc00000,0x3f00,0xf0000000,0x31c0001,0x80ffff80,0x1f03c000,0x1e00,0x7ff80183,0x81c0c000, |
3662 | + 0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x0,0x0,0x7f,0xff00003c,0xf87f007,0xc03f83ff,0x81fc01f0,0x7c0000,0x7ffff00,0x3ffff801, |
3663 | + 0xffffc00f,0xfffe007f,0xfff003ff,0xff807fff,0x8003c000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001, |
3664 | + 0xe0001e00,0x3c0f01e,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0x7fe001e,0xf003c0f0,0x3c0780,0x1e03c00,0xf01e000, |
3665 | + 0x78000780,0x1ffffe,0xf00ff0,0xfe00780,0x7f003c03,0xf801e01f,0xc00f00fe,0x7807f0,0x3c0ffff,0xffc0f000,0x1fffff,0xc0fffffe, |
3666 | + 0x7fffff0,0x3fffff80,0x780000,0x3c00000,0x1e000000,0xf0001e00,0x7803c00,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e00, |
3667 | + 0x1e,0xf07803c,0x3c01e0,0x1e00f00,0xf007800,0x7800783e,0x1e0007,0x801e0f80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3668 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1ff,0xffff8000,0x307c0801,0xe1f1e00f,0x87000000, |
3669 | + 0x3c00,0x1e00,0x0,0x1e0000,0x0,0x7ff80000,0xf,0x1e00,0x3c0001e,0x3f0,0x7,0x83fffffc,0x1e0,0x7c000f00,0xf0001e,0x3c000,0x3e0000, |
3670 | + 0x0,0x1ffc,0x1fffff,0xf0007ff0,0x3c000,0x781e0070,0x7ffffc03,0xc000781e,0x1e0,0x7803c0,0x1e00,0x3c000,0x781e0007,0x80007800, |
3671 | + 0x780,0x3c03e000,0x7800001e,0xf078,0x79e03c0,0x780780,0xf000,0x1e078007,0x8000000f,0xf000,0xf0003c0,0x3c3c001,0xee0ef000, |
3672 | + 0xf87c0000,0x7800001f,0x3c,0x78,0x1e0,0x0,0x0,0x0,0x7c003c01,0xe000780f,0x1e0,0x780f00,0x3c,0x3c000,0xf0078007,0x80003c00, |
3673 | + 0xf000,0x7e3e000,0x1e0000f,0x3c0f01e,0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0x1ffc,0x3c000,0x3c003c0,0x781e003,0xe3b8f800, |
3674 | + 0x1fc00007,0x83c00007,0xc00000fc,0xf0,0x3e0,0x8001f8,0x0,0x7800000,0xffc7fe00,0x0,0x1e000000,0x0,0x18,0xc0,0x0,0x0,0x1e0, |
3675 | + 0xf000003,0xc00f000f,0xfc7fe001,0xf00003ff,0x1ff81ff8,0xffc00000,0x0,0x0,0x0,0x1ff000,0x0,0x0,0x0,0x3,0xff800000,0x1e0f0078, |
3676 | + 0xffc7f,0xe0007c00,0x1e000,0x0,0x780001,0xe0180000,0xf000000e,0x1c00007,0x80000000,0x1f81,0xe0000000,0x38e0003,0x80000000, |
3677 | + 0xf81f000,0x1e00,0x7ff801c3,0x80e1c000,0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x0,0x0,0x0,0xf8,0x1f070007,0xc03803ff,0xc1c001f0, |
3678 | + 0xf80000,0xfffff00,0x7ffff803,0xffffc01f,0xfffe00ff,0xfff007ff,0xffc07fff,0x8001e000,0x78000,0x3c0000,0x1e00000,0xf000000, |
3679 | + 0xf00000,0x7800000,0x3c000001,0xe0001e00,0x780f00f,0x3c078000,0xf03c0007,0x81e0003c,0xf0001e0,0x78000f00,0xf9f001e,0xf003c0f0, |
3680 | + 0x3c0780,0x1e03c00,0xf01e000,0x78000780,0x1ffffc,0xf003f8,0xf800780,0x7c003c03,0xe001e01f,0xf00f8,0x7807c0,0x3c0fc1e,0xf000, |
3681 | + 0x1e0000,0xf00000,0x7800000,0x3c000000,0x780000,0x3c00000,0x1e000000,0xf0001e00,0x7803c00,0x3c078001,0xe03c000f,0x1e00078, |
3682 | + 0xf0003c0,0x78001e00,0x1e,0x1e07803c,0x3c01e0,0x1e00f00,0xf007800,0x7800783c,0x1e0007,0x801e0f00,0x0,0x0,0x0,0x0,0x0,0x0, |
3683 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ff,0xffff8000,0x303c0001, |
3684 | + 0xc071e007,0xcf000000,0x3c00,0x1e00,0x0,0x1e0000,0x0,0x0,0xf,0xf00,0x780001e,0x7e0,0x7,0x83fffffc,0x1e0,0x7c000f00,0x1f0001e, |
3685 | + 0x3c000,0x3c0000,0x0,0x3ff,0x801fffff,0xf003ff80,0x3c000,0x781e0070,0x7ffffc03,0xc000781e,0x1e0,0x7803c0,0x1e00,0x1e000,0x781e0007, |
3686 | + 0x80007800,0x780,0x3c01f000,0x7800001e,0xf078,0x79e03c0,0xf00780,0xf000,0x3e078007,0xc000000f,0xf000,0xf0003c0,0x3c3c001, |
3687 | + 0xee0ef000,0xf03e0000,0x7800003e,0x3c,0x78,0x1e0,0x0,0x0,0x0,0xf8003c01,0xe000780f,0x1e0,0x780f00,0x3c,0x3c000,0xf0078007, |
3688 | + 0x80003c00,0xf000,0x7c3e000,0x1e0000f,0x3c0f01e,0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0xfc,0x3c000,0x3c003c0,0x3c3e001,0xe7b8f000, |
3689 | + 0x3fe00007,0xc7c0000f,0xc000003e,0xf0,0x7c0,0x0,0x0,0x7c00000,0x7fcffc00,0x0,0x1e000000,0x0,0x18,0xc0,0x0,0x0,0x1e0,0x1e000003, |
3690 | + 0xc00f0007,0xfcffc003,0xe00001ff,0x3ff00ff9,0xff800000,0x0,0x0,0x0,0x1ff000,0x0,0x0,0x0,0x0,0x1f800000,0xf0f0078,0x7fcff, |
3691 | + 0xc000fc00,0x1e000,0x0,0x780001,0xe0180000,0xf000000f,0x87c00007,0x80000000,0xfe3,0xe0000000,0x18780c3,0x0,0x7c0f800,0x1e00, |
3692 | + 0xc3,0x80e18000,0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x0,0x0,0x0,0x1f0,0x3e00000f,0xc0000303,0xe00003f0,0xf00000,0xfffff80, |
3693 | + 0x7ffffc03,0xffffe01f,0xffff00ff,0xfff807ff,0xffc07fff,0x8001e000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000, |
3694 | + 0x3c000001,0xe0001e00,0x780f00f,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e00,0x1f0f801f,0xe00780f0,0x3c0780,0x1e03c00, |
3695 | + 0xf01e000,0x78000780,0x1ffff8,0xf000f8,0x1f000780,0xf8003c07,0xc001e03e,0xf01f0,0x780f80,0x3c1f01e,0xf000,0x1e0000,0xf00000, |
3696 | + 0x7800000,0x3c000000,0x780000,0x3c00000,0x1e000000,0xf0001e00,0x7803c00,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e00, |
3697 | + 0x1e,0x3c07803c,0x3c01e0,0x1e00f00,0xf007800,0x78007c7c,0x1e0007,0x801f1f00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3698 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x81c00000,0x303c0003,0x8039e003,0xef000000, |
3699 | + 0x3c00,0x1e00,0x0,0x1e0000,0x0,0x0,0x1e,0xf00,0x780001e,0xfc0,0x7,0x83fffffc,0x1e0,0x3c000f00,0x1e0001e,0x3c000,0x3c0000, |
3700 | + 0x0,0x7f,0xe01fffff,0xf00ffc00,0x3c000,0x781f00f0,0x7ffffc03,0xc000781e,0x1e0,0x7803c0,0x1e00,0x1e000,0x781e0007,0x80007800, |
3701 | + 0x780,0x3c01f000,0x7800001e,0xf078,0x7de01e0,0xf00780,0x7800,0x3c078003,0xc000000f,0xf000,0xf0003c0,0x3e7c001,0xee0ef001, |
3702 | + 0xf01e0000,0x7800003e,0x3c,0x3c,0x1e0,0x0,0x0,0x0,0xf0003c01,0xe000780f,0x1e0,0x780f00,0x3c,0x3c000,0xf0078007,0x80003c00, |
3703 | + 0xf000,0x781f000,0x1e0000f,0x3c0f01e,0x1e03c0,0xf00780,0x1e0f000,0x3c003c00,0x3e,0x3c000,0x3c003c0,0x3c3c001,0xe71cf000,0x7df00003, |
3704 | + 0xc780000f,0x8000003e,0xf0,0x780,0x0,0x0,0x3c00000,0x3fcff800,0x0,0x1e000000,0x0,0x18,0xc0,0x0,0x1f00fc,0x1e0,0x1e000001, |
3705 | + 0xe00f0003,0xfcff8003,0xe00000ff,0x3fe007f9,0xff000000,0x0,0x0,0x0,0x1ff000,0x0,0x0,0x0,0x0,0x7c00000,0xf0f0078,0x3fcff,0x8000f800, |
3706 | + 0x1e000,0x0,0x780001,0xe0180000,0xf000001f,0xffe00007,0x8000003c,0x7ff,0xc0000000,0x1c3ffc7,0x0,0x3e07c00,0x1e00,0xe3,0x80738000, |
3707 | + 0x0,0x78,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x0,0x0,0x0,0x3e0,0x7c00001d,0xc0000001,0xe0000770,0x1f00000,0xfffff80,0x7ffffc03, |
3708 | + 0xffffe01f,0xffff00ff,0xfff807ff,0xffc07fff,0x8001e000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001, |
3709 | + 0xe0001e00,0x780f00f,0x3c03c001,0xe01e000f,0xf00078,0x78003c0,0x3c001e00,0x3e07c01f,0xc00780f0,0x3c0780,0x1e03c00,0xf01e000, |
3710 | + 0x78000780,0x1fffc0,0xf0007c,0x1e000780,0xf0003c07,0x8001e03c,0xf01e0,0x780f00,0x3c1e01e,0xf000,0x1e0000,0xf00000,0x7800000, |
3711 | + 0x3c000000,0x780000,0x3c00000,0x1e000000,0xf0001e00,0x7803c00,0x3c078001,0xe03c000f,0x1e00078,0xf0003c0,0x78001e00,0x1e,0x7807803c, |
3712 | + 0x3c01e0,0x1e00f00,0xf007800,0x78003c78,0x1e0007,0x800f1e00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3713 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x83c00000,0x303c0003,0x8039e001,0xee000000,0x1e00,0x3c00, |
3714 | + 0x0,0x1e0000,0x0,0x0,0x1e,0xf00,0x780001e,0x1f80,0x7,0x83fffffc,0x1e0,0x3c000f00,0x1e0001e,0x3c000,0x3c0000,0x0,0x1f,0xfc1fffff, |
3715 | + 0xf07ff000,0x0,0x780f00f0,0x78003c03,0xc000781e,0x1e0,0xf803c0,0x1e00,0x1e000,0x781e0007,0x80007800,0x780,0x3c00f800,0x7800001e, |
3716 | + 0xf078,0x3de01e0,0xf00780,0x7800,0x3c078003,0xe000000f,0xf000,0xf0003c0,0x1e78001,0xfe0ff003,0xe01f0000,0x7800007c,0x3c,0x3c, |
3717 | + 0x1e0,0x0,0x0,0x0,0xf0007c01,0xe000f80f,0x800001e0,0xf80f00,0x3c,0x1e001,0xf0078007,0x80003c00,0xf000,0x780f800,0x1e0000f, |
3718 | + 0x3c0f01e,0x1e03c0,0x1f00780,0x3e0f000,0x7c003c00,0x1e,0x3c000,0x3c003c0,0x3c3c001,0xe71cf000,0xf8f80003,0xe780001f,0x1e, |
3719 | + 0xf0,0x780,0x0,0x0,0x3c00000,0x1ffff000,0x0,0x1e000000,0x0,0x18,0xc0,0x0,0x3bc1de,0x1e0,0xf000001,0xe00f0001,0xffff0007,0xc000007f, |
3720 | + 0xffc003ff,0xfe000000,0x0,0x0,0x0,0xfe000,0x0,0x0,0x0,0x0,0x3c00000,0x1e0f0078,0x1ffff,0x1f000,0x1e000,0x0,0x780000,0xf0180000, |
3721 | + 0xf000001f,0xfff00007,0x8000003c,0x1ff,0x80000000,0xe0ff0e,0x0,0x1f03e00,0x1e00,0x70,0x70000,0x0,0x78,0x0,0x0,0x0,0x3c003c0, |
3722 | + 0xe1c00,0x0,0x0,0x0,0x7c0,0xf8000019,0xc0000000,0xe0000670,0x1e00000,0xf000780,0x78003c03,0xc001e01e,0xf00f0,0x780780,0x3c0f807, |
3723 | + 0x8001e000,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0xf80f007,0xbc03c001,0xe01e000f, |
3724 | + 0xf00078,0x78003c0,0x3c001e00,0x7c03e00f,0x800780f0,0x3c0780,0x1e03c00,0xf01e000,0x78000780,0x1e0000,0xf0003c,0x1e000f80, |
3725 | + 0xf0007c07,0x8003e03c,0x1f01e0,0xf80f00,0x7c1e01e,0xf800,0x1e0000,0xf00000,0x7800000,0x3c000000,0x780000,0x3c00000,0x1e000000, |
3726 | + 0xf0001e00,0x7803c00,0x3c078003,0xe03c001f,0x1e000f8,0xf0007c0,0x78003e00,0x1f8001f,0xf00f803c,0x3c01e0,0x1e00f00,0xf007800, |
3727 | + 0x78003e78,0x1e000f,0x800f9e00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3728 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x3c00000,0x303c0003,0x8039f001,0xfe000000,0x1e00,0x3c00,0x0,0x1e0000,0x0,0x0,0x3c,0xf00, |
3729 | + 0x780001e,0x3f00,0x7,0x80000780,0x3e0,0x3e000f00,0x3c0001e,0x3c000,0x7c0000,0x0,0x3,0xfe000000,0xff8000,0x0,0x3c0f81f0,0xf0001e03, |
3730 | + 0xc000780f,0x1e0,0xf003c0,0x1e00,0xf000,0x781e0007,0x80007800,0x780,0x3c007c00,0x7800001e,0xf078,0x3de01e0,0xf00780,0x7800, |
3731 | + 0x3c078001,0xe000000f,0xf000,0xf0003c0,0x1e78001,0xfc07f003,0xe00f0000,0x78000078,0x3c,0x1e,0x1e0,0x0,0x0,0x0,0xf0007c01, |
3732 | + 0xf000f007,0x800000f0,0xf80780,0x3c,0x1e001,0xf0078007,0x80003c00,0xf000,0x7807c00,0x1e0000f,0x3c0f01e,0x1e01e0,0x1e007c0, |
3733 | + 0x3c07800,0x7c003c00,0x1e,0x3c000,0x3c007c0,0x1e78001,0xe71df000,0xf8f80001,0xef80003e,0x1e,0xf0,0x780,0x0,0x0,0x3c00000, |
3734 | + 0xfffe000,0x0,0x3e000000,0x0,0x18,0x7fff,0xc0000000,0x60c306,0x1e0,0x7800001,0xe00f0000,0xfffe0007,0x8000003f,0xff8001ff, |
3735 | + 0xfc000000,0x0,0x0,0x0,0x7c000,0x0,0x0,0x0,0x0,0x3c00000,0x3c0f0078,0xfffe,0x3e000,0x1e000,0x0,0x780000,0xf0180000,0xf000003c, |
3736 | + 0xfcf80007,0x8000003c,0x7f,0x0,0x70001c,0x0,0xf81f00,0x0,0x38,0xe0000,0x0,0x0,0x0,0x0,0x0,0x3c003c0,0xe1c00,0x0,0x0,0x0,0xf81, |
3737 | + 0xf0000039,0xc0000000,0xe0000e70,0x1e00000,0x1e0003c0,0xf0001e07,0x8000f03c,0x781e0,0x3c0f00,0x1e0f007,0x8000f000,0x78000, |
3738 | + 0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0xf00f007,0xbc03c001,0xe01e000f,0xf00078,0x78003c0, |
3739 | + 0x3c001e00,0xf801f00f,0x800780f0,0x3c0780,0x1e03c00,0xf01e000,0x78000780,0x1e0000,0xf0003c,0x1e000f80,0xf0007c07,0x8003e03c, |
3740 | + 0x1f01e0,0xf80f00,0x7c1e01e,0x7800,0xf0000,0x780000,0x3c00000,0x1e000000,0x780000,0x3c00000,0x1e000000,0xf0000f00,0xf003c00, |
3741 | + 0x3c03c003,0xc01e001e,0xf000f0,0x7800780,0x3c003c00,0x1f8000f,0xe00f003c,0x7c01e0,0x3e00f00,0x1f007800,0xf8001ef8,0x1f000f, |
3742 | + 0x7be00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3743 | + 0x0,0x0,0xf,0x3c00000,0x307c0003,0x8038f000,0xfc000000,0x1e00,0x3c00,0x0,0x1e0000,0xfc0000,0x0,0x7e00003c,0x780,0xf00001e, |
3744 | + 0x7e00,0xf,0x80000780,0x3c0,0x3e001e00,0x3c0001f,0x7c000,0x780007,0xe000003f,0x0,0xfe000000,0xfe0000,0x0,0x3c07c3f0,0xf0001e03, |
3745 | + 0xc000f80f,0x800001e0,0x1f003c0,0x1e00,0xf000,0x781e0007,0x80007800,0x4000f80,0x3c003c00,0x7800001e,0xf078,0x1fe01f0,0x1f00780, |
3746 | + 0x7c00,0x7c078001,0xf000001f,0xf000,0xf0003c0,0x1e78001,0xfc07f007,0xc00f8000,0x780000f8,0x3c,0x1e,0x1e0,0x0,0x0,0x0,0xf0007c01, |
3747 | + 0xf000f007,0xc00000f0,0xf80780,0x3c,0x1f003,0xf0078007,0x80003c00,0xf000,0x7807c00,0x1e0000f,0x3c0f01e,0x1e01e0,0x1e007c0, |
3748 | + 0x3c07800,0x7c003c00,0x1e,0x3c000,0x3c007c0,0x1e78000,0xfe0fe001,0xf07c0001,0xef00007c,0x1e,0xf0,0x780,0x0,0x0,0x1e00000, |
3749 | + 0x7cfc000,0xfc00000,0x3c00000f,0xc3f00000,0x18,0x7fff,0xc0000000,0x406303,0x3e0,0x3c00001,0xf00f0000,0x7cfc000f,0x8000001f, |
3750 | + 0x3f0000f9,0xf8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0x780700f8,0x7cfc,0x7c000,0x1e000,0x0,0x780000,0xf8180000, |
3751 | + 0xf0000070,0x3c0007,0x8000003c,0x3f,0x80000000,0x3c0078,0x0,0x780f00,0x0,0x1e,0x3c0000,0x0,0x0,0x0,0x0,0x0,0x3e007c0,0xe1c00, |
3752 | + 0x0,0x0,0x0,0xf01,0xe0000071,0xc0000000,0xe0001c70,0x1e00000,0x1e0003c0,0xf0001e07,0x8000f03c,0x781e0,0x3c0f00,0x1e0f007, |
3753 | + 0x8000f800,0x78000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x1f00f003,0xfc03e003,0xe01f001f, |
3754 | + 0xf800f8,0x7c007c0,0x3e003e01,0xf000f80f,0xf00f0,0x3c0780,0x1e03c00,0xf01e000,0x78000780,0x1e0000,0xf0003c,0x1e000f80,0xf0007c07, |
3755 | + 0x8003e03c,0x1f01e0,0xf80f00,0x7c1e01e,0x7c00,0xf0000,0x780000,0x3c00000,0x1e000000,0x780000,0x3c00000,0x1e000000,0xf0000f00, |
3756 | + 0xf003c00,0x3c03c003,0xc01e001e,0xf000f0,0x7800780,0x3c003c00,0x1f8000f,0xc00f003c,0x7c01e0,0x3e00f00,0x1f007800,0xf8001ef0, |
3757 | + 0x1f000f,0x7bc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3758 | + 0x0,0x0,0x0,0x0,0x780000,0xf,0x3800040,0x30780003,0x8038f800,0x78000000,0x1e00,0x3c00,0x0,0x1e0000,0xfc0000,0x0,0x7e000078, |
3759 | + 0x780,0x1f00001e,0xfc00,0x20001f,0x780,0x80007c0,0x1f001e00,0x7c0000f,0x78000,0xf80007,0xe000003f,0x0,0x1e000000,0xf00000, |
3760 | + 0x3c000,0x3c03fff0,0xf0001e03,0xc001f007,0x800101e0,0x7e003c0,0x1e00,0x7800,0x781e0007,0x80007800,0x6000f00,0x3c003e00,0x7800001e, |
3761 | + 0xf078,0x1fe00f0,0x1e00780,0x3c00,0x78078000,0xf020001e,0xf000,0x7800780,0xff0001,0xfc07f00f,0x8007c000,0x780001f0,0x3c,0xf, |
3762 | + 0x1e0,0x0,0x0,0x0,0xf800fc01,0xf801f007,0xc00100f8,0x1f807c0,0x40003c,0xf807,0xf0078007,0x80003c00,0xf000,0x7803e00,0x1f0000f, |
3763 | + 0x3c0f01e,0x1e01f0,0x3e007e0,0x7c07c00,0xfc003c00,0x1e,0x3e000,0x3e007c0,0x1ff8000,0xfe0fe003,0xe03e0001,0xff0000fc,0x1e, |
3764 | + 0xf0,0x780,0x0,0x0,0x1f00080,0x3cf8000,0xfc00000,0x3c00001f,0x83f00000,0x18,0xc0,0x0,0xc06203,0x40003c0,0x1c00000,0xf80f0000, |
3765 | + 0x3cf8001f,0xf,0x3e000079,0xf0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0x700780fc,0x3cf8,0xfc000,0x1e000,0x0,0x780000, |
3766 | + 0x7c180000,0xf0000020,0x100007,0x8000003c,0xf,0x80000000,0x1f01f0,0x0,0x380700,0x0,0xf,0x80f80000,0x0,0x0,0x0,0x0,0x0,0x3e007c0, |
3767 | + 0xe1c00,0x0,0x0,0x0,0xe01,0xc0000071,0xc0000001,0xc0001c70,0x1e00040,0x1e0003c0,0xf0001e07,0x8000f03c,0x781e0,0x3c0f00,0x1e0f007, |
3768 | + 0x80007800,0x10078000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e00,0x7e00f003,0xfc01e003,0xc00f001e, |
3769 | + 0x7800f0,0x3c00780,0x1e003c00,0xe000700f,0x800f0078,0x7803c0,0x3c01e00,0x1e00f000,0xf0000780,0x1e0000,0xf0003c,0x1f001f80, |
3770 | + 0xf800fc07,0xc007e03e,0x3f01f0,0x1f80f80,0xfc1e01f,0x7c00,0x100f8000,0x807c0004,0x3e00020,0x1f000100,0x780000,0x3c00000,0x1e000000, |
3771 | + 0xf0000f80,0x1f003c00,0x3c03e007,0xc01f003e,0xf801f0,0x7c00f80,0x3e007c00,0x1f8000f,0x801f003e,0x7c01f0,0x3e00f80,0x1f007c00, |
3772 | + 0xf8001ff0,0x1f801f,0x7fc00,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3773 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0xf,0x7800078,0x31f80001,0xc070fc00,0xfc000000,0x1e00,0x7c00,0x0,0x1e0000,0xfc0000,0x0,0x7e000078, |
3774 | + 0x7c0,0x1f00001e,0x1f000,0x38003f,0x780,0xe000f80,0x1f803e00,0x780000f,0x800f8000,0x1f00007,0xe000003f,0x0,0x2000000,0x800000, |
3775 | + 0x3c000,0x3e01ff71,0xf0001f03,0xc007f007,0xc00301e0,0x1fc003c0,0x1e00,0x7c00,0x781e0007,0x80007800,0x7801f00,0x3c001f00,0x7800001e, |
3776 | + 0xf078,0xfe00f8,0x3e00780,0x3e00,0xf8078000,0xf838003e,0xf000,0x7c00f80,0xff0000,0xfc07e00f,0x8003c000,0x780001e0,0x3c,0xf, |
3777 | + 0x1e0,0x0,0x0,0x0,0xf801fc01,0xfc03e003,0xe003007c,0x3f803e0,0x1c0003c,0xfc0f,0xf0078007,0x80003c00,0xf000,0x7801f00,0xf8000f, |
3778 | + 0x3c0f01e,0x1e00f8,0x7c007f0,0xf803e01,0xfc003c00,0x8003e,0x1f000,0x1e00fc0,0xff0000,0xfe0fe007,0xc01f0000,0xfe0000f8,0x1e, |
3779 | + 0xf0,0x780,0x0,0x0,0xf80180,0x1cf0000,0x1f800000,0x3c00001f,0x83e00000,0x18,0xc0,0x0,0xc06203,0x70007c0,0xe00000,0x7e0f0000, |
3780 | + 0x1cf0001e,0x7,0x3c000039,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x100,0x7c00000,0xe00780fc,0x2001cf0,0xf8000,0x1e000,0x0, |
3781 | + 0x780000,0x7e182000,0xf0000000,0x7,0x8000003c,0x7,0xc0000000,0x7ffc0,0x0,0x180300,0x0,0x3,0xffe00000,0x0,0x0,0x0,0x0,0x0, |
3782 | + 0x3f00fc0,0xe1c00,0x0,0x0,0x0,0xc01,0x800000e1,0xc0000003,0xc0003870,0x1f001c0,0x3e0003e1,0xf0001f0f,0x8000f87c,0x7c3e0,0x3e1f00, |
3783 | + 0x1f1e007,0x80007c00,0x30078000,0x3c0000,0x1e00000,0xf000000,0xf00000,0x7800000,0x3c000001,0xe0001e03,0xfc00f001,0xfc01f007, |
3784 | + 0xc00f803e,0x7c01f0,0x3e00f80,0x1f007c00,0x4000201f,0xc01f007c,0xf803e0,0x7c01f00,0x3e00f801,0xf0000780,0x1e0000,0xf0007c, |
3785 | + 0x1f003f80,0xf801fc07,0xc00fe03e,0x7f01f0,0x3f80f80,0x1fc1f03f,0x803e00,0x3007c003,0x803e001c,0x1f000e0,0xf800700,0x780000, |
3786 | + 0x3c00000,0x1e000000,0xf00007c0,0x3e003c00,0x3c01f00f,0x800f807c,0x7c03e0,0x3e01f00,0x1f00f800,0x1f80007,0xc03e001e,0xfc00f0, |
3787 | + 0x7e00780,0x3f003c01,0xf8000fe0,0x1fc03e,0x3f800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3788 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1e,0x780007f,0xfff00001,0xe0f07f03,0xfe000000,0xf00,0x7800,0x0, |
3789 | + 0x1e0000,0xfc0000,0x0,0x7e0000f0,0x3f0,0x7e000fff,0xfc03ffff,0xf83f00fe,0x780,0xfc03f80,0xfc0fc00,0xf800007,0xe03f0018,0x7e00007, |
3790 | + 0xe000003f,0x0,0x0,0x0,0x3c000,0x1e007c71,0xe0000f03,0xffffe003,0xf01f01ff,0xff8003ff,0xffe01e00,0x3f01,0xf81e0007,0x803ffff0, |
3791 | + 0x7e03f00,0x3c000f00,0x7ffffe1e,0xf078,0xfe007e,0xfc00780,0x1f83,0xf0078000,0x783f00fe,0xf000,0x3f03f00,0xff0000,0xfc07e01f, |
3792 | + 0x3e000,0x780003ff,0xfffc003c,0x7,0x800001e0,0x0,0x0,0x0,0x7e07fc01,0xfe07e001,0xf80f007e,0x7f801f8,0xfc0003c,0x7ffe,0xf0078007, |
3793 | + 0x807ffffe,0xf000,0x7801f00,0xfff00f,0x3c0f01e,0x1e00fc,0xfc007f8,0x1f803f03,0xfc003c00,0xf80fc,0x1fff0,0x1f83fc0,0xff0000, |
3794 | + 0xfc07e007,0xc01f0000,0xfe0001ff,0xffe0001e,0xf0,0x780,0x0,0x0,0xfe0780,0xfe0000,0x1f000000,0x3c00001f,0x7c00e03,0x81c00018, |
3795 | + 0xc0,0x0,0x406203,0x7e01fc0,0x700000,0x7fffff80,0xfe0003f,0xffffc003,0xf800001f,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f0, |
3796 | + 0x1f800001,0xc007c1fe,0x6000fe0,0x1ffffe,0x1e000,0x0,0x780000,0x3f98e03f,0xffff8000,0x7,0x8000003c,0x7,0xc0000000,0xfe00, |
3797 | + 0x0,0x80100,0x0,0x0,0x7f000000,0x0,0x1ffff,0xfe000000,0x0,0x0,0x3f83fe8,0xe1c00,0x0,0x0,0x0,0x801,0xc1,0xc0000007,0x80003070, |
3798 | + 0xfc0fc0,0x3c0001e1,0xe0000f0f,0x7878,0x3c3c0,0x1e1e00,0xf1e007,0xffc03f01,0xf007ffff,0xc03ffffe,0x1fffff0,0xfffff80,0x7fffe003, |
3799 | + 0xffff001f,0xfff800ff,0xffc01fff,0xf800f001,0xfc00fc1f,0x8007e0fc,0x3f07e0,0x1f83f00,0xfc1f800,0x1f,0xf07e003f,0x3f001f8, |
3800 | + 0x1f800fc0,0xfc007e07,0xe0000780,0x1e0000,0xf301f8,0xfc0ff80,0x7e07fc03,0xf03fe01f,0x81ff00fc,0xff807e0,0x7fc0f87f,0x81801f80, |
3801 | + 0xf003f01f,0x801f80fc,0xfc07e0,0x7e03f00,0xfffffc07,0xffffe03f,0xffff01ff,0xfff807e0,0x7e003c00,0x3c01f81f,0x800fc0fc,0x7e07e0, |
3802 | + 0x3f03f00,0x1f81f800,0x1f8000f,0xe07e001f,0x83fc00fc,0x1fe007e0,0xff003f07,0xf8000fe0,0x1fe07e,0x3f800,0x0,0x0,0x0,0x0,0x0, |
3803 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1e,0x780007f, |
3804 | + 0xffe00000,0xffe03fff,0xdf000000,0xf00,0x7800,0x0,0x0,0xfc0000,0x0,0x7e0000f0,0x1ff,0xfc000fff,0xfc03ffff,0xf83ffffc,0x780, |
3805 | + 0xfffff00,0x7fff800,0xf000007,0xffff001f,0xffe00007,0xe000003f,0x0,0x0,0x0,0x3c000,0x1e000001,0xe0000f03,0xffffc001,0xffff01ff, |
3806 | + 0xff0003ff,0xffe01e00,0x1fff,0xf81e0007,0x803ffff0,0x7fffe00,0x3c000f80,0x7ffffe1e,0xf078,0xfe003f,0xff800780,0xfff,0xf0078000, |
3807 | + 0x7c3ffffc,0xf000,0x3ffff00,0xff0000,0xf803e01e,0x1e000,0x780003ff,0xfffc003c,0x7,0x800001e0,0x0,0x0,0x0,0x7fffbc01,0xffffc000, |
3808 | + 0xffff003f,0xfff800ff,0xffc0003c,0x3ffe,0xf0078007,0x807ffffe,0xf000,0x7800f80,0x7ff00f,0x3c0f01e,0x1e007f,0xff8007ff,0xff001fff, |
3809 | + 0xbc003c00,0xffffc,0x1fff0,0x1fffbc0,0xff0000,0x7c07c00f,0x800f8000,0x7e0001ff,0xffe0001e,0xf0,0x780,0x0,0x0,0x7fff80,0x7c0000, |
3810 | + 0x1f000000,0x3c00001e,0x7c00f07,0xc1e00018,0xc0,0x0,0x60e303,0x7ffff80,0x380000,0x3fffff80,0x7c0003f,0xffffc001,0xf000000f, |
3811 | + 0x80000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ff,0xff800003,0x8003ffff,0xfe0007c0,0x1ffffe,0x1e000,0x0,0x780000,0x1fffe03f,0xffff8000, |
3812 | + 0x7,0x8000003c,0x3,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ffff,0xfe000000,0x0,0x0,0x3fffdf8,0xe1c00,0x0,0x0,0x0,0x0,0x1c1, |
3813 | + 0xc000000f,0x7070,0x7fffc0,0x3c0001e1,0xe0000f0f,0x7878,0x3c3c0,0x1e1e00,0xf1e007,0xffc01fff,0xf007ffff,0xc03ffffe,0x1fffff0, |
3814 | + 0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01fff,0xf000f001,0xfc007fff,0x3fff8,0x1fffc0,0xfffe00,0x7fff000,0x3b,0xfffc003f, |
3815 | + 0xfff001ff,0xff800fff,0xfc007fff,0xe0000780,0x1e0000,0xf3fff8,0xffff780,0x7fffbc03,0xfffde01f,0xffef00ff,0xff7807ff,0xfbc0ffff, |
3816 | + 0xff800fff,0xf001ffff,0x800ffffc,0x7fffe0,0x3ffff00,0xfffffc07,0xffffe03f,0xffff01ff,0xfff803ff,0xfc003c00,0x3c00ffff,0x7fff8, |
3817 | + 0x3fffc0,0x1fffe00,0xffff000,0x1f,0xfffc001f,0xffbc00ff,0xfde007ff,0xef003fff,0x780007e0,0x1ffffc,0x1f800,0x0,0x0,0x0,0x0, |
3818 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1e,0x700003f, |
3819 | + 0xffc00000,0x7fc01fff,0x9f800000,0xf80,0xf800,0x0,0x0,0xfc0000,0x0,0x7e0000f0,0xff,0xf8000fff,0xfc03ffff,0xf83ffff8,0x780, |
3820 | + 0xffffe00,0x7fff000,0xf000003,0xfffe001f,0xffc00007,0xe000003f,0x0,0x0,0x0,0x3c000,0xf000003,0xe0000f83,0xffff0000,0xffff01ff, |
3821 | + 0xfc0003ff,0xffe01e00,0xfff,0xf01e0007,0x803ffff0,0x7fffc00,0x3c0007c0,0x7ffffe1e,0xf078,0x7e003f,0xff000780,0x7ff,0xe0078000, |
3822 | + 0x3c3ffff8,0xf000,0x1fffe00,0x7e0000,0xf803e03e,0x1f000,0x780003ff,0xfffc003c,0x7,0x800001e0,0x0,0x0,0x0,0x3fff3c01,0xefff8000, |
3823 | + 0x7ffe001f,0xff78007f,0xff80003c,0x1ffc,0xf0078007,0x807ffffe,0xf000,0x78007c0,0x3ff00f,0x3c0f01e,0x1e003f,0xff0007bf,0xfe000fff, |
3824 | + 0xbc003c00,0xffff8,0xfff0,0xfff3c0,0x7e0000,0x7c07c01f,0x7c000,0x7c0001ff,0xffe0001e,0xf0,0x780,0x0,0x0,0x3fff80,0x380000, |
3825 | + 0x3e000000,0x7c00003e,0x7801f07,0xc1e00018,0xc0,0x0,0x39c1ce,0x7ffff00,0x1c0000,0xfffff80,0x380003f,0xffffc000,0xe0000007, |
3826 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ff,0xff000007,0x1ffcf,0xfe000380,0x1ffffe,0x1e000,0x0,0x780000,0xfffe03f,0xffff8000,0x7, |
3827 | + 0x8000003c,0x3,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ffff,0xfe000000,0x0,0x0,0x3dffdf8,0xe1c00,0x0,0x0,0x0,0x0,0x381, |
3828 | + 0xc000001e,0xe070,0x7fff80,0x7c0001f3,0xe0000f9f,0x7cf8,0x3e7c0,0x1f3e00,0xfbe007,0xffc00fff,0xf007ffff,0xc03ffffe,0x1fffff0, |
3829 | + 0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01fff,0xc000f000,0xfc007ffe,0x3fff0,0x1fff80,0xfffc00,0x7ffe000,0x79,0xfff8001f, |
3830 | + 0xffe000ff,0xff0007ff,0xf8003fff,0xc0000780,0x1e0000,0xf3fff0,0x7ffe780,0x3fff3c01,0xfff9e00f,0xffcf007f,0xfe7803ff,0xf3c07ff3, |
3831 | + 0xff8007ff,0xe000ffff,0x7fff8,0x3fffc0,0x1fffe00,0xfffffc07,0xffffe03f,0xffff01ff,0xfff801ff,0xf8003c00,0x3c007ffe,0x3fff0, |
3832 | + 0x1fff80,0xfffc00,0x7ffe000,0x1d,0xfff8000f,0xff3c007f,0xf9e003ff,0xcf001ffe,0x780007c0,0x1efff8,0x1f000,0x0,0x0,0x0,0x0, |
3833 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780000,0x1e,0xf000003, |
3834 | + 0xfe000000,0x1f000fff,0xfc00000,0x780,0xf000,0x0,0x0,0xf80000,0x0,0x7e0001e0,0x7f,0xf0000fff,0xfc03ffff,0xf81ffff0,0x780, |
3835 | + 0x7fff800,0x1ffe000,0x1f000000,0xfff8001f,0xff000007,0xe000003e,0x0,0x0,0x0,0x3c000,0xf800003,0xc0000783,0xfff80000,0x3ffe01ff, |
3836 | + 0xe00003ff,0xffe01e00,0x7ff,0xc01e0007,0x803ffff0,0x3fff800,0x3c0003c0,0x7ffffe1e,0xf078,0x7e000f,0xfe000780,0x3ff,0xc0078000, |
3837 | + 0x3e1fffe0,0xf000,0x7ff800,0x7e0000,0xf803e07c,0xf800,0x780003ff,0xfffc003c,0x3,0xc00001e0,0x0,0x0,0x0,0xffe3c01,0xe7ff0000, |
3838 | + 0x3ffc000f,0xfe78003f,0xfe00003c,0x7f0,0xf0078007,0x807ffffe,0xf000,0x78003e0,0xff00f,0x3c0f01e,0x1e001f,0xfe00079f,0xfc0007ff, |
3839 | + 0x3c003c00,0x7ffe0,0x1ff0,0x7fe3c0,0x7e0000,0x7c07c03e,0x3e000,0x7c0001ff,0xffe0001e,0xf0,0x780,0x0,0x0,0xfff00,0x100000, |
3840 | + 0x3e000000,0x7800003c,0xf800f07,0xc1e00018,0xc0,0x0,0x1f80fc,0x3fffc00,0xc0000,0x3ffff80,0x100003f,0xffffc000,0x40000002, |
3841 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xfc000006,0xff87,0xfc000100,0x1ffffe,0x1e000,0x0,0x780000,0x3ffc03f,0xffff8000,0x7, |
3842 | + 0x8000003c,0x3,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ffff,0xfe000000,0x0,0x0,0x3dff9f8,0xe1c00,0x0,0x0,0x0,0x0,0x3ff, |
3843 | + 0xf800003c,0xfffe,0x1ffe00,0x780000f3,0xc000079e,0x3cf0,0x1e780,0xf3c00,0x7bc007,0xffc003ff,0xe007ffff,0xc03ffffe,0x1fffff0, |
3844 | + 0xfffff80,0x7fffe003,0xffff001f,0xfff800ff,0xffc01ffc,0xf000,0xfc001ffc,0xffe0,0x7ff00,0x3ff800,0x1ffc000,0x70,0xfff00007, |
3845 | + 0xff80003f,0xfc0001ff,0xe0000fff,0x780,0x1e0000,0xf3ffe0,0x1ffc780,0xffe3c00,0x7ff1e003,0xff8f001f,0xfc7800ff,0xe3c03fe1, |
3846 | + 0xff0003ff,0xc0007ffc,0x3ffe0,0x1fff00,0xfff800,0xfffffc07,0xffffe03f,0xffff01ff,0xfff800ff,0xf0003c00,0x3c003ffc,0x1ffe0, |
3847 | + 0xfff00,0x7ff800,0x3ffc000,0x38,0xfff00007,0xfe3c003f,0xf1e001ff,0x8f000ffc,0x780007c0,0x1e7ff0,0x1f000,0x0,0x0,0x0,0x0,0x0, |
3848 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000, |
3849 | + 0x1fc,0x0,0x780,0xf000,0x0,0x0,0x1f80000,0x0,0x1e0,0x1f,0xc0000000,0x0,0x1ff80,0x0,0xffc000,0x7f8000,0x0,0x3fe00007,0xfc000000, |
3850 | + 0x7e,0x0,0x0,0x0,0x0,0x7c00000,0x0,0x0,0xff00000,0x0,0x0,0xfe,0x0,0x0,0x3fc000,0x0,0x0,0x0,0x3,0xf8000000,0xff,0xc0000000, |
3851 | + 0x1ff00,0x0,0x1fe000,0x0,0x0,0x0,0x0,0x3c,0x3,0xc00001e0,0x0,0x0,0x0,0x3f80000,0x1fc0000,0x7f00003,0xf8000007,0xf0000000, |
3852 | + 0x0,0xf0000000,0x0,0xf000,0x0,0x0,0x0,0x7,0xf8000787,0xf00001fc,0x3c000000,0x7f80,0x0,0x1f8000,0x0,0x0,0x0,0x7c000000,0x1e, |
3853 | + 0xf0,0x780,0x0,0x0,0x3fc00,0x0,0x3c000000,0x7800003c,0xf000601,0xc00018,0xc0,0x0,0x0,0x3fe000,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3854 | + 0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xf0000000,0x7e03,0xf0000000,0x0,0x0,0x0,0x0,0xfe0000,0x0,0x0,0x3c,0x2007,0x80000000,0x0,0x0, |
3855 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c7e0f0,0xe1c00,0x0,0x3800000,0x0,0x0,0x3ff,0xf8000078,0xfffe,0x7f800,0x0,0x0,0x0,0x0, |
3856 | + 0x0,0x0,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f0,0x3f80,0x1fc00,0xfe000,0x7f0000,0x70,0x3fc00001,0xfe00000f,0xf000007f, |
3857 | + 0x800003fc,0x0,0x0,0xff00,0x7f0000,0x3f80000,0x1fc00000,0xfe000007,0xf000003f,0x80001f80,0xfc00007f,0xfe0,0x7f00,0x3f800, |
3858 | + 0x1fc000,0x0,0x0,0x0,0x3f,0xc0000000,0xff0,0x7f80,0x3fc00,0x1fe000,0xff0000,0x78,0x3fc00001,0xf800000f,0xc000007e,0x3f0,0x7c0, |
3859 | + 0x1e1fc0,0x1f000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3860 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0x0,0x0,0x3c0,0x1e000,0x0,0x0,0x1f00000,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3861 | + 0x0,0x0,0x7c,0x0,0x0,0x0,0x0,0x3e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xe0000000,0x0,0x0,0x0, |
3862 | + 0x0,0x0,0x0,0x0,0x3c,0x1,0xe00001e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000000,0x0,0xf000,0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000, |
3863 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x78000000,0x1e,0xf0,0x780,0x0,0x0,0x0,0x0,0x3c000000,0x78000078,0xf000000,0x18,0xc0,0x0,0x0,0x0, |
3864 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180000,0x0,0x0,0x3c,0x3c0f,0x80000000, |
3865 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0xe1c00,0x0,0x1800000,0x0,0x0,0x3ff,0xf80000f0,0xfffe,0x0,0x0,0x0,0x0, |
3866 | + 0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3867 | + 0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,0x0,0x0,0x0,0x780,0x1e0000,0x1e000,0x0,0x0,0x0, |
3868 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000, |
3869 | + 0x0,0x0,0x3c0,0x1e000,0x0,0x0,0x1f00000,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c,0x0,0x0,0x0,0x0,0x1f80000, |
3870 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xf0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x1,0xe00001e0,0x0, |
3871 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xe0000000,0x0,0xf000,0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000000, |
3872 | + 0x1f,0xf0,0xf80,0x0,0x0,0x0,0x0,0x78000000,0xf8000078,0x1e000000,0x8,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3873 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180000,0x0,0x0,0x3c,0x3fff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3874 | + 0x0,0x3c00000,0xe1c00,0x0,0x1c00000,0x0,0x0,0x1,0xc00001e0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3875 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3876 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf80,0x1e0000,0x3e000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3877 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0x0,0x0,0x1e0,0x3c000,0x0,0x0,0x1f00000, |
3878 | + 0x0,0x780,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7c,0x0,0x0,0x0,0x0,0xfe0100,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3879 | + 0x0,0x0,0x0,0x0,0xf8000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf0000000,0xf0007fe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xe0000000, |
3880 | + 0x0,0xf000,0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000000,0x1f,0x800000f0,0x1f80,0x0,0x0,0x0,0x0, |
3881 | + 0x78000000,0xf0000070,0x1c000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3882 | + 0x0,0x0,0x0,0x0,0x180000,0x0,0x0,0x3c,0x3ffe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0xe1c00,0x0,0xe00000, |
3883 | + 0x0,0x0,0x1,0xc00003ff,0xe0000070,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3884 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3885 | + 0x0,0x0,0x0,0xf00,0x1e0000,0x3c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3886 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0x0,0x0,0x1e0,0x7c000,0x0,0x0,0x1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3887 | + 0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x7fff80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x78000000, |
3888 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf0000000,0x7fe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4003,0xe0000000,0x0,0x1f000,0x0,0x0, |
3889 | + 0x0,0x0,0x780,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x1,0xf0000000,0xf,0xfc0000f0,0x3ff00,0x0,0x0,0x0,0x0,0x70000001,0xf00000e0, |
3890 | + 0x1c000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180000, |
3891 | + 0x0,0x0,0x3c,0xff8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0xe1c00,0x0,0xe00000,0x0,0x0,0x1,0xc00003ff, |
3892 | + 0xe0000070,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3893 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f00,0x1e0000, |
3894 | + 0x7c000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3895 | + 0x0,0x0,0x0,0x0,0x30000000,0x0,0x0,0xf0,0x78000,0x0,0x0,0x3e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8,0x0, |
3896 | + 0x0,0x0,0x0,0x1fff80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f, |
3897 | + 0xf0000000,0x7fe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x780f,0xc0000000,0x0,0x3e000,0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000,0x0, |
3898 | + 0x0,0x0,0x0,0x0,0x3,0xe0000000,0xf,0xfc0000f0,0x3ff00,0x0,0x0,0x0,0x0,0xf0000103,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3899 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180000,0x0,0x0,0x3c,0x0,0x0,0x0,0x0,0x0,0x0, |
3900 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0x0,0x0,0x21e00000,0x0,0x0,0x1,0xc00003ff,0xe0000070,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10f, |
3901 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10f,0x0, |
3902 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3e00,0x1e0000,0xf8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3903 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30000000,0x0,0x0, |
3904 | + 0xf8,0xf8000,0x0,0x0,0x3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x1fe00,0x0,0x0,0x0,0x0, |
3905 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf0000000,0x7fe0,0x0,0x0,0x0,0x0,0x0,0x0, |
3906 | + 0x0,0x0,0x7fff,0xc0000000,0x0,0x3ffe000,0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x7f,0xe0000000,0x7,0xfc0000f0, |
3907 | + 0x3fe00,0x0,0x0,0x0,0x0,0x600001ff,0xe0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3908 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x180000,0x0,0x0,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0x0,0x0, |
3909 | + 0x3fe00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3910 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3911 | + 0x0,0x0,0x0,0x0,0x7fe00,0x1e0000,0x1ff8000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3912 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3913 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3914 | + 0x0,0x0,0x0,0x0,0x1fffffe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fff,0x80000000,0x0,0x3ffc000,0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000,0x0, |
3915 | + 0x0,0x0,0x0,0x0,0x7f,0xc0000000,0x0,0xfc0000f0,0x3f000,0x0,0x0,0x0,0x0,0x1ff,0xc0000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3916 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3917 | + 0x0,0x0,0x0,0x0,0x0,0x3c00000,0x0,0x0,0x3fc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fe,0x0,0x0,0x0,0x0,0x0, |
3918 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fe,0x0,0x0,0x0,0x0,0x0,0x0, |
3919 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7fc00,0x1e0000,0x1ff0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3920 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3921 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3922 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fffffe0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffe,0x0,0x0,0x3ff8000,0x0,0x0,0x0, |
3923 | + 0x0,0x780,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x7f,0x80000000,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x1ff,0x80000000,0x0,0x0,0x0,0x0, |
3924 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3925 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0x0,0x0,0x3f800000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fc,0x0, |
3926 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fc,0x0,0x0, |
3927 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f800,0x1e0000,0x1fe0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3928 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3929 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3930 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fffffe0,0x0,0x0,0x0,0x0,0x0,0x0,0x7f8,0x0,0x0,0x3fe0000, |
3931 | + 0x0,0x0,0x0,0x0,0x780,0x0,0x3c000000,0x0,0x0,0x0,0x0,0x0,0x7e,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0xfe,0x0,0x0,0x0,0x0,0x0,0x0, |
3932 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3933 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3934 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3935 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7e000,0x1e0000,0x1f80000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3936 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3937 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3938 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1fffffe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3939 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3940 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3941 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3942 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3943 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3944 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3945 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3946 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0,0x0,0x0,0x0, |
3947 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3948 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3949 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, |
3950 | + 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0 }; |
3951 | + |
3952 | + // Definition of a 40x38 'danger' color logo. |
3953 | + const unsigned char logo40x38[4576] = { |
3954 | + 177,200,200,200,3,123,123,0,36,200,200,200,1,123,123,0,2,255,255,0,1,189,189,189,1,0,0,0,34,200,200,200, |
3955 | + 1,123,123,0,4,255,255,0,1,189,189,189,1,0,0,0,1,123,123,123,32,200,200,200,1,123,123,0,5,255,255,0,1,0,0, |
3956 | + 0,2,123,123,123,30,200,200,200,1,123,123,0,6,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,29,200,200,200, |
3957 | + 1,123,123,0,7,255,255,0,1,0,0,0,2,123,123,123,28,200,200,200,1,123,123,0,8,255,255,0,1,189,189,189,1,0,0,0, |
3958 | + 2,123,123,123,27,200,200,200,1,123,123,0,9,255,255,0,1,0,0,0,2,123,123,123,26,200,200,200,1,123,123,0,10,255, |
3959 | + 255,0,1,189,189,189,1,0,0,0,2,123,123,123,25,200,200,200,1,123,123,0,3,255,255,0,1,189,189,189,3,0,0,0,1,189, |
3960 | + 189,189,3,255,255,0,1,0,0,0,2,123,123,123,24,200,200,200,1,123,123,0,4,255,255,0,5,0,0,0,3,255,255,0,1,189, |
3961 | + 189,189,1,0,0,0,2,123,123,123,23,200,200,200,1,123,123,0,4,255,255,0,5,0,0,0,4,255,255,0,1,0,0,0,2,123,123,123, |
3962 | + 22,200,200,200,1,123,123,0,5,255,255,0,5,0,0,0,4,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,21,200,200,200, |
3963 | + 1,123,123,0,5,255,255,0,5,0,0,0,5,255,255,0,1,0,0,0,2,123,123,123,20,200,200,200,1,123,123,0,6,255,255,0,5,0,0, |
3964 | + 0,5,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,19,200,200,200,1,123,123,0,6,255,255,0,1,123,123,0,3,0,0,0,1, |
3965 | + 123,123,0,6,255,255,0,1,0,0,0,2,123,123,123,18,200,200,200,1,123,123,0,7,255,255,0,1,189,189,189,3,0,0,0,1,189, |
3966 | + 189,189,6,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,17,200,200,200,1,123,123,0,8,255,255,0,3,0,0,0,8,255,255, |
3967 | + 0,1,0,0,0,2,123,123,123,16,200,200,200,1,123,123,0,9,255,255,0,1,123,123,0,1,0,0,0,1,123,123,0,8,255,255,0,1,189, |
3968 | + 189,189,1,0,0,0,2,123,123,123,15,200,200,200,1,123,123,0,9,255,255,0,1,189,189,189,1,0,0,0,1,189,189,189,9,255,255, |
3969 | + 0,1,0,0,0,2,123,123,123,14,200,200,200,1,123,123,0,11,255,255,0,1,0,0,0,10,255,255,0,1,189,189,189,1,0,0,0,2,123, |
3970 | + 123,123,13,200,200,200,1,123,123,0,23,255,255,0,1,0,0,0,2,123,123,123,12,200,200,200,1,123,123,0,11,255,255,0,1,189, |
3971 | + 189,189,2,0,0,0,1,189,189,189,9,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,11,200,200,200,1,123,123,0,11,255,255, |
3972 | + 0,4,0,0,0,10,255,255,0,1,0,0,0,2,123,123,123,10,200,200,200,1,123,123,0,12,255,255,0,4,0,0,0,10,255,255,0,1,189,189, |
3973 | + 189,1,0,0,0,2,123,123,123,9,200,200,200,1,123,123,0,12,255,255,0,1,189,189,189,2,0,0,0,1,189,189,189,11,255,255,0,1, |
3974 | + 0,0,0,2,123,123,123,9,200,200,200,1,123,123,0,27,255,255,0,1,0,0,0,3,123,123,123,8,200,200,200,1,123,123,0,26,255, |
3975 | + 255,0,1,189,189,189,1,0,0,0,3,123,123,123,9,200,200,200,1,123,123,0,24,255,255,0,1,189,189,189,1,0,0,0,4,123,123, |
3976 | + 123,10,200,200,200,1,123,123,0,24,0,0,0,5,123,123,123,12,200,200,200,27,123,123,123,14,200,200,200,25,123,123,123,86, |
3977 | + 200,200,200,91,49,124,118,124,71,32,124,95,49,56,114,52,82,121,0}; |
3978 | + |
3979 | + //! Set/get output stream for CImg library messages. |
3980 | + inline std::FILE* output(std::FILE *file) { |
3981 | + static std::FILE *res = stderr; |
3982 | + if (file) res = file; |
3983 | + return res; |
3984 | + } |
3985 | + |
3986 | + //! Display a warning message. |
3987 | + /** |
3988 | + \param format is a C-string describing the format of the message, as in <tt>std::printf()</tt>. |
3989 | + **/ |
3990 | + inline void warn(const char *const format, ...) { |
3991 | + if (cimg::exception_mode()>=1) { |
3992 | + char message[16384] = { 0 }; |
3993 | + std::va_list ap; |
3994 | + va_start(ap,format); |
3995 | + cimg_vsnprintf(message,sizeof(message),format,ap); |
3996 | + va_end(ap); |
3997 | +#ifdef cimg_strict_warnings |
3998 | + throw CImgWarningException(message); |
3999 | +#else |
4000 | + std::fprintf(cimg::output(),"\n%s[CImg] *** Warning ***%s%s",cimg::t_red,cimg::t_normal,message); |
4001 | +#endif |
4002 | + } |
4003 | + } |
4004 | + |
4005 | + // Execute an external system command. |
4006 | + /** |
4007 | + \note This function is similar to <tt>std::system()</tt> |
4008 | + and is here because using the <tt>std::</tt> version on |
4009 | + Windows may open undesired consoles. |
4010 | + **/ |
4011 | + inline int system(const char *const command, const char *const module_name=0) { |
4012 | +#if cimg_OS==2 |
4013 | + PROCESS_INFORMATION pi; |
4014 | + STARTUPINFO si; |
4015 | + std::memset(&pi,0,sizeof(PROCESS_INFORMATION)); |
4016 | + std::memset(&si,0,sizeof(STARTUPINFO)); |
4017 | + GetStartupInfo(&si); |
4018 | + si.cb = sizeof(si); |
4019 | + si.wShowWindow = SW_HIDE; |
4020 | + si.dwFlags |= SW_HIDE; |
4021 | + const BOOL res = CreateProcess((LPCTSTR)module_name,(LPTSTR)command,0,0,FALSE,0,0,0,&si,&pi); |
4022 | + if (res) { |
4023 | + WaitForSingleObject(pi.hProcess, INFINITE); |
4024 | + CloseHandle(pi.hThread); |
4025 | + CloseHandle(pi.hProcess); |
4026 | + return 0; |
4027 | + } else |
4028 | +#endif |
4029 | + return std::system(command); |
4030 | + return module_name?0:1; |
4031 | + } |
4032 | + |
4033 | + //! Return a reference to a temporary variable of type T. |
4034 | + template<typename T> |
4035 | + inline T& temporary(const T&) { |
4036 | + static T temp; |
4037 | + return temp; |
4038 | + } |
4039 | + |
4040 | + //! Exchange values of variables \p a and \p b. |
4041 | + template<typename T> |
4042 | + inline void swap(T& a, T& b) { T t = a; a = b; b = t; } |
4043 | + |
4044 | + //! Exchange values of variables (\p a1,\p a2) and (\p b1,\p b2). |
4045 | + template<typename T1, typename T2> |
4046 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2) { |
4047 | + cimg::swap(a1,b1); cimg::swap(a2,b2); |
4048 | + } |
4049 | + |
4050 | + //! Exchange values of variables (\p a1,\p a2,\p a3) and (\p b1,\p b2,\p b3). |
4051 | + template<typename T1, typename T2, typename T3> |
4052 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3) { |
4053 | + cimg::swap(a1,b1,a2,b2); cimg::swap(a3,b3); |
4054 | + } |
4055 | + |
4056 | + //! Exchange values of variables (\p a1,\p a2,...,\p a4) and (\p b1,\p b2,...,\p b4). |
4057 | + template<typename T1, typename T2, typename T3, typename T4> |
4058 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4) { |
4059 | + cimg::swap(a1,b1,a2,b2,a3,b3); cimg::swap(a4,b4); |
4060 | + } |
4061 | + |
4062 | + //! Exchange values of variables (\p a1,\p a2,...,\p a5) and (\p b1,\p b2,...,\p b5). |
4063 | + template<typename T1, typename T2, typename T3, typename T4, typename T5> |
4064 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5) { |
4065 | + cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4); cimg::swap(a5,b5); |
4066 | + } |
4067 | + |
4068 | + //! Exchange values of variables (\p a1,\p a2,...,\p a6) and (\p b1,\p b2,...,\p b6). |
4069 | + template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> |
4070 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5, T6& a6, T6& b6) { |
4071 | + cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5); cimg::swap(a6,b6); |
4072 | + } |
4073 | + |
4074 | + //! Exchange values of variables (\p a1,\p a2,...,\p a7) and (\p b1,\p b2,...,\p b7). |
4075 | + template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7> |
4076 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5, T6& a6, T6& b6, |
4077 | + T7& a7, T7& b7) { |
4078 | + cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6); cimg::swap(a7,b7); |
4079 | + } |
4080 | + |
4081 | + //! Exchange values of variables (\p a1,\p a2,...,\p a8) and (\p b1,\p b2,...,\p b8). |
4082 | + template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8> |
4083 | + inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5, T6& a6, T6& b6, |
4084 | + T7& a7, T7& b7, T8& a8, T8& b8) { |
4085 | + cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6,a7,b7); cimg::swap(a8,b8); |
4086 | + } |
4087 | + |
4088 | + //! Return the current endianness of the CPU. |
4089 | + /** |
4090 | + \return \c false for "Little Endian", \c true for "Big Endian". |
4091 | + **/ |
4092 | + inline bool endianness() { |
4093 | + const int x = 1; |
4094 | + return ((unsigned char*)&x)[0]?false:true; |
4095 | + } |
4096 | + |
4097 | + //! Invert endianness of a memory buffer. |
4098 | + template<typename T> |
4099 | + inline void invert_endianness(T* const buffer, const unsigned int size) { |
4100 | + if (size) switch (sizeof(T)) { |
4101 | + case 1 : break; |
4102 | + case 2 : { for (unsigned short *ptr = (unsigned short*)buffer+size; ptr>(unsigned short*)buffer; ) { |
4103 | + const unsigned short val = *(--ptr); |
4104 | + *ptr = (unsigned short)((val>>8)|((val<<8))); |
4105 | + } |
4106 | + } break; |
4107 | + case 4 : { for (unsigned int *ptr = (unsigned int*)buffer+size; ptr>(unsigned int*)buffer; ) { |
4108 | + const unsigned int val = *(--ptr); |
4109 | + *ptr = (val>>24)|((val>>8)&0xff00)|((val<<8)&0xff0000)|(val<<24); |
4110 | + } |
4111 | + } break; |
4112 | + default : { for (T* ptr = buffer+size; ptr>buffer; ) { |
4113 | + unsigned char *pb = (unsigned char*)(--ptr), *pe = pb + sizeof(T); |
4114 | + for (int i = 0; i<(int)sizeof(T)/2; ++i) swap(*(pb++),*(--pe)); |
4115 | + } |
4116 | + } |
4117 | + } |
4118 | + } |
4119 | + |
4120 | + //! Invert endianness of a single variable. |
4121 | + template<typename T> |
4122 | + inline T& invert_endianness(T& a) { |
4123 | + invert_endianness(&a,1); |
4124 | + return a; |
4125 | + } |
4126 | + |
4127 | + // Conversion function to gain more precision in storage of unsigned ints as floats. |
4128 | + inline unsigned int float2uint(const float f) { |
4129 | + if (f>=0) return (unsigned int)f; |
4130 | + static unsigned int u; |
4131 | + std::memcpy(&u,&f,sizeof(float)); // use memcpy instead of assignment to avoid wrong optimizations with g++. |
4132 | + return ((u)<<1)>>1; // set sign bit to 0. |
4133 | + } |
4134 | + |
4135 | + inline float uint2float(const unsigned int u) { |
4136 | + if (u<1000000U) return (float)u; |
4137 | + static float f; |
4138 | + const unsigned int v = u|(1U<<(8*sizeof(unsigned int)-1)); // set sign bit to 1. |
4139 | + std::memcpy(&f,&v,sizeof(float)); // use memcpy instead of simple assignment to avoir wrong optimizations with g++. |
4140 | + return f; |
4141 | + } |
4142 | + |
4143 | + //! Get the value of a system timer with a millisecond precision. |
4144 | + inline unsigned long time() { |
4145 | +#if cimg_OS==1 |
4146 | + struct timeval st_time; |
4147 | + gettimeofday(&st_time,0); |
4148 | + return (unsigned long)(st_time.tv_usec/1000 + st_time.tv_sec*1000); |
4149 | +#elif cimg_OS==2 |
4150 | + static SYSTEMTIME st_time; |
4151 | + GetSystemTime(&st_time); |
4152 | + return (unsigned long)(st_time.wMilliseconds + 1000*(st_time.wSecond + 60*(st_time.wMinute + 60*st_time.wHour))); |
4153 | +#else |
4154 | + return 0; |
4155 | +#endif |
4156 | + } |
4157 | + |
4158 | + // Implement a tic/toc mechanism to display elapsed time of algorithms. |
4159 | + inline unsigned long tictoc(const bool is_tic) { |
4160 | + static unsigned long t0 = 0; |
4161 | + const unsigned long t = cimg::time(); |
4162 | + if (is_tic) return (t0 = t); |
4163 | + const unsigned long dt = t>=t0?(t - t0):cimg::type<unsigned long>::max(); |
4164 | + const unsigned int |
4165 | + edays = (unsigned int)(dt/86400000.0), |
4166 | + ehours = (unsigned int)((dt - edays*86400000.0)/3600000.0), |
4167 | + emin = (unsigned int)((dt - edays*86400000.0 - ehours*3600000.0)/60000.0), |
4168 | + esec = (unsigned int)((dt - edays*86400000.0 - ehours*3600000.0 - emin*60000.0)/1000.0), |
4169 | + ems = (unsigned int)(dt - edays*86400000.0 - ehours*3600000.0 - emin*60000.0 - esec*1000.0); |
4170 | + if (!edays && !ehours && !emin && !esec) |
4171 | + std::fprintf(cimg::output(),"%s[CImg] Elapsed time : %u ms%s\n",cimg::t_red,ems,cimg::t_normal); |
4172 | + else { |
4173 | + if (!edays && !ehours && !emin) |
4174 | + std::fprintf(cimg::output(),"%s[CImg] Elapsed time : %u sec %u ms%s\n",cimg::t_red,esec,ems,cimg::t_normal); |
4175 | + else { |
4176 | + if (!edays && !ehours) |
4177 | + std::fprintf(cimg::output(),"%s[CImg] Elapsed time : %u min %u sec %u ms%s\n",cimg::t_red,emin,esec,ems,cimg::t_normal); |
4178 | + else{ |
4179 | + if (!edays) |
4180 | + std::fprintf(cimg::output(),"%s[CImg] Elapsed time : %u hours %u min %u sec %u ms%s\n",cimg::t_red,ehours,emin,esec,ems,cimg::t_normal); |
4181 | + else{ |
4182 | + std::fprintf(cimg::output(),"%s[CImg] Elapsed time : %u days %u hours %u min %u sec %u ms%s\n",cimg::t_red,edays,ehours,emin,esec,ems,cimg::t_normal); |
4183 | + } |
4184 | + } |
4185 | + } |
4186 | + } |
4187 | + return t; |
4188 | + } |
4189 | + |
4190 | + inline unsigned long tic() { |
4191 | + return cimg::tictoc(true); |
4192 | + } |
4193 | + |
4194 | + inline unsigned long toc() { |
4195 | + return cimg::tictoc(false); |
4196 | + } |
4197 | + |
4198 | + //! Sleep for a certain numbers of milliseconds. |
4199 | + /** |
4200 | + This function frees the CPU ressources during the sleeping time. |
4201 | + It may be used to temporize your program properly, without wasting CPU time. |
4202 | + **/ |
4203 | + inline void sleep(const unsigned int milliseconds) { |
4204 | +#if cimg_OS==1 |
4205 | + struct timespec tv; |
4206 | + tv.tv_sec = milliseconds/1000; |
4207 | + tv.tv_nsec = (milliseconds%1000)*1000000; |
4208 | + nanosleep(&tv,0); |
4209 | +#elif cimg_OS==2 |
4210 | + Sleep(milliseconds); |
4211 | +#endif |
4212 | + } |
4213 | + |
4214 | + inline unsigned int _sleep(const unsigned int milliseconds, unsigned long& timer) { |
4215 | + if (!timer) timer = cimg::time(); |
4216 | + const unsigned long current_time = cimg::time(); |
4217 | + if (current_time>=timer+milliseconds) { timer = current_time; return 0; } |
4218 | + const unsigned long time_diff = timer + milliseconds - current_time; |
4219 | + timer = current_time + time_diff; |
4220 | + cimg::sleep(time_diff); |
4221 | + return (unsigned int)time_diff; |
4222 | + } |
4223 | + |
4224 | + //! Wait for a certain number of milliseconds since the last call. |
4225 | + /** |
4226 | + This function is equivalent to sleep() but the waiting time is computed with regard to the last call |
4227 | + of wait(). It may be used to temporize your program properly. |
4228 | + **/ |
4229 | + inline unsigned int wait(const unsigned int milliseconds) { |
4230 | + static unsigned long timer = 0; |
4231 | + if (!timer) timer = cimg::time(); |
4232 | + return _sleep(milliseconds,timer); |
4233 | + } |
4234 | + |
4235 | + // Use a specific srand initialization to avoid multi-threads to have to the |
4236 | + // same series of random numbers (executed only once for a single program). |
4237 | + inline void srand() { |
4238 | + static bool first_time = true; |
4239 | + if (first_time) { |
4240 | + std::srand(cimg::time()); |
4241 | + unsigned char *const rand_ptr = new unsigned char[sizeof(unsigned int)+std::rand()%2048]; |
4242 | + std::srand((unsigned int)std::rand() + *(unsigned int*)(void*)rand_ptr); |
4243 | + delete[] rand_ptr; |
4244 | + first_time = false; |
4245 | + } |
4246 | + } |
4247 | + |
4248 | + //! Return a left bitwise-rotated number. |
4249 | + template<typename T> |
4250 | + inline T rol(const T a, const unsigned int n=1) { |
4251 | + return n?(T)((a<<n)|(a>>((sizeof(T)<<3)-n))):a; |
4252 | + } |
4253 | + |
4254 | + inline float rol(const float a, const unsigned int n=1) { |
4255 | + return (float)rol((int)a,n); |
4256 | + } |
4257 | + |
4258 | + inline double rol(const double a, const unsigned int n=1) { |
4259 | + return (double)rol((long)a,n); |
4260 | + } |
4261 | + |
4262 | + //! Return a right bitwise-rotated number. |
4263 | + template<typename T> |
4264 | + inline T ror(const T a, const unsigned int n=1) { |
4265 | + return n?(T)((a>>n)|(a<<((sizeof(T)<<3)-n))):a; |
4266 | + } |
4267 | + |
4268 | + inline float ror(const float a, const unsigned int n=1) { |
4269 | + return (float)ror((int)a,n); |
4270 | + } |
4271 | + |
4272 | + inline double ror(const double a, const unsigned int n=1) { |
4273 | + return (double)ror((long)a,n); |
4274 | + } |
4275 | + |
4276 | + //! Return the absolute value of a number. |
4277 | + /** |
4278 | + \note This function is different from <tt>std::abs()</tt> or <tt>std::fabs()</tt> |
4279 | + because it is able to consider a variable of any type, without cast needed. |
4280 | + **/ |
4281 | + template<typename T> |
4282 | + inline T abs(const T a) { |
4283 | + return a>=0?a:-a; |
4284 | + } |
4285 | + inline bool abs(const bool a) { |
4286 | + return a; |
4287 | + } |
4288 | + inline unsigned char abs(const unsigned char a) { |
4289 | + return a; |
4290 | + } |
4291 | + inline unsigned short abs(const unsigned short a) { |
4292 | + return a; |
4293 | + } |
4294 | + inline unsigned int abs(const unsigned int a) { |
4295 | + return a; |
4296 | + } |
4297 | + inline unsigned long abs(const unsigned long a) { |
4298 | + return a; |
4299 | + } |
4300 | + inline double abs(const double a) { |
4301 | + return std::fabs(a); |
4302 | + } |
4303 | + inline float abs(const float a) { |
4304 | + return (float)std::fabs((double)a); |
4305 | + } |
4306 | + inline int abs(const int a) { |
4307 | + return std::abs(a); |
4308 | + } |
4309 | + |
4310 | + //! Return the square of a number. |
4311 | + template<typename T> |
4312 | + inline T sqr(const T val) { |
4313 | + return val*val; |
4314 | + } |
4315 | + |
4316 | + //! Return 1 + log_10(x). |
4317 | + inline int xln(const int x) { |
4318 | + return x>0?(int)(1+std::log10((double)x)):1; |
4319 | + } |
4320 | + |
4321 | + //! Return the minimum value between two numbers. |
4322 | + template<typename t1, typename t2> |
4323 | + inline typename cimg::superset<t1,t2>::type min(const t1& a, const t2& b) { |
4324 | + typedef typename cimg::superset<t1,t2>::type t1t2; |
4325 | + return (t1t2)(a<=b?a:b); |
4326 | + } |
4327 | + |
4328 | + //! Return the minimum value between three numbers. |
4329 | + template<typename t1, typename t2, typename t3> |
4330 | + inline typename cimg::superset2<t1,t2,t3>::type min(const t1& a, const t2& b, const t3& c) { |
4331 | + typedef typename cimg::superset2<t1,t2,t3>::type t1t2t3; |
4332 | + return (t1t2t3)cimg::min(cimg::min(a,b),c); |
4333 | + } |
4334 | + |
4335 | + //! Return the minimum value between four numbers. |
4336 | + template<typename t1, typename t2, typename t3, typename t4> |
4337 | + inline typename cimg::superset3<t1,t2,t3,t4>::type min(const t1& a, const t2& b, const t3& c, const t4& d) { |
4338 | + typedef typename cimg::superset3<t1,t2,t3,t4>::type t1t2t3t4; |
4339 | + return (t1t2t3t4)cimg::min(cimg::min(a,b,c),d); |
4340 | + } |
4341 | + |
4342 | + //! Return the maximum value between two numbers. |
4343 | + template<typename t1, typename t2> |
4344 | + inline typename cimg::superset<t1,t2>::type max(const t1& a, const t2& b) { |
4345 | + typedef typename cimg::superset<t1,t2>::type t1t2; |
4346 | + return (t1t2)(a>=b?a:b); |
4347 | + } |
4348 | + |
4349 | + //! Return the maximum value between three numbers. |
4350 | + template<typename t1, typename t2, typename t3> |
4351 | + inline typename cimg::superset2<t1,t2,t3>::type max(const t1& a, const t2& b, const t3& c) { |
4352 | + typedef typename cimg::superset2<t1,t2,t3>::type t1t2t3; |
4353 | + return (t1t2t3)cimg::max(cimg::max(a,b),c); |
4354 | + } |
4355 | + |
4356 | + //! Return the maximum value between four numbers. |
4357 | + template<typename t1, typename t2, typename t3, typename t4> |
4358 | + inline typename cimg::superset3<t1,t2,t3,t4>::type max(const t1& a, const t2& b, const t3& c, const t4& d) { |
4359 | + typedef typename cimg::superset3<t1,t2,t3,t4>::type t1t2t3t4; |
4360 | + return (t1t2t3t4)cimg::max(cimg::max(a,b,c),d); |
4361 | + } |
4362 | + |
4363 | + //! Return the sign of a number. |
4364 | + template<typename T> |
4365 | + inline T sign(const T x) { |
4366 | + return (x<0)?(T)(-1):(x==0?(T)0:(T)1); |
4367 | + } |
4368 | + |
4369 | + //! Return the nearest power of 2 higher than a given number. |
4370 | + template<typename T> |
4371 | + inline unsigned int nearest_pow2(const T x) { |
4372 | + unsigned int i = 1; |
4373 | + while (x>i) i<<=1; |
4374 | + return i; |
4375 | + } |
4376 | + |
4377 | + //! Return the sinc() of a given number. |
4378 | + inline double sinc(const double x) { |
4379 | + return x?std::sin(x)/x:1; |
4380 | + } |
4381 | + |
4382 | + //! Return the modulo of a number. |
4383 | + /** |
4384 | + \note This modulo function accepts negative and floating-points modulo numbers, as well as |
4385 | + variable of any type. |
4386 | + **/ |
4387 | + template<typename T> |
4388 | + inline T mod(const T& x, const T& m) { |
4389 | + const double dx = (double)x, dm = (double)m; |
4390 | + if (x<0) { return (T)(dm+dx+dm*std::floor(-dx/dm)); } |
4391 | + return (T)(dx-dm*std::floor(dx/dm)); |
4392 | + } |
4393 | + inline int mod(const bool x, const bool m) { |
4394 | + return m?(x?1:0):0; |
4395 | + } |
4396 | + inline int mod(const char x, const char m) { |
4397 | + return x>=0?x%m:(x%m?m+x%m:0); |
4398 | + } |
4399 | + inline int mod(const short x, const short m) { |
4400 | + return x>=0?x%m:(x%m?m+x%m:0); |
4401 | + } |
4402 | + inline int mod(const int x, const int m) { |
4403 | + return x>=0?x%m:(x%m?m+x%m:0); |
4404 | + } |
4405 | + inline int mod(const long x, const long m) { |
4406 | + return x>=0?x%m:(x%m?m+x%m:0); |
4407 | + } |
4408 | + inline int mod(const unsigned char x, const unsigned char m) { |
4409 | + return x%m; |
4410 | + } |
4411 | + inline int mod(const unsigned short x, const unsigned short m) { |
4412 | + return x%m; |
4413 | + } |
4414 | + inline int mod(const unsigned int x, const unsigned int m) { |
4415 | + return x%m; |
4416 | + } |
4417 | + inline int mod(const unsigned long x, const unsigned long m) { |
4418 | + return x%m; |
4419 | + } |
4420 | + |
4421 | + //! Return the minmod of two numbers. |
4422 | + /** |
4423 | + <i>minmod(\p a,\p b)</i> is defined to be : |
4424 | + - <i>minmod(\p a,\p b) = min(\p a,\p b)</i>, if \p a and \p b have the same sign. |
4425 | + - <i>minmod(\p a,\p b) = 0</i>, if \p a and \p b have different signs. |
4426 | + **/ |
4427 | + template<typename T> |
4428 | + inline T minmod(const T a, const T b) { |
4429 | + return a*b<=0?0:(a>0?(a<b?a:b):(a<b?b:a)); |
4430 | + } |
4431 | + |
4432 | + //! Return a random variable between [0,1] with respect to an uniform distribution. |
4433 | + inline double rand() { |
4434 | + cimg::srand(); |
4435 | + return (double)std::rand()/RAND_MAX; |
4436 | + } |
4437 | + |
4438 | + //! Return a random variable between [-1,1] with respect to an uniform distribution. |
4439 | + inline double crand() { |
4440 | + return 1-2*cimg::rand(); |
4441 | + } |
4442 | + |
4443 | + //! Return a random variable following a gaussian distribution and a standard deviation of 1. |
4444 | + inline double grand() { |
4445 | + double x1, w; |
4446 | + do { |
4447 | + const double x2 = 2*cimg::rand() - 1.0; |
4448 | + x1 = 2*cimg::rand()-1.0; |
4449 | + w = x1*x1 + x2*x2; |
4450 | + } while (w<=0 || w>=1.0); |
4451 | + return x1*std::sqrt((-2*std::log(w))/w); |
4452 | + } |
4453 | + |
4454 | + //! Return a random variable following a Poisson distribution of parameter z. |
4455 | + inline unsigned int prand(const double z) { |
4456 | + if (z<=1.0e-10) return 0; |
4457 | + if (z>100) return (unsigned int)((std::sqrt(z) * cimg::grand()) + z); |
4458 | + unsigned int k = 0; |
4459 | + const double y = std::exp(-z); |
4460 | + for (double s = 1.0; s>=y; ++k) s*=cimg::rand(); |
4461 | + return k-1; |
4462 | + } |
4463 | + |
4464 | + //! Return a rounded number. |
4465 | + /** |
4466 | + \param x is the number to be rounded. |
4467 | + \param y is the rounding precision. |
4468 | + \param rounding_type defines the type of rounding (0=nearest, -1=backward, 1=forward). |
4469 | + \return the rounded value, with the same type as parameter x. |
4470 | + **/ |
4471 | + template<typename T> |
4472 | + inline T round(const T x, const double y=1, const int rounding_type=0) { |
4473 | + if (y<=0) return x; |
4474 | + const double delta = cimg::mod((double)x,y); |
4475 | + if (delta==0.0) return x; |
4476 | + if (delta==0.5*y) return (T)(x>=0?x+delta:x-delta); |
4477 | + const double |
4478 | + backward = x - delta, |
4479 | + forward = backward + y; |
4480 | + return (T)(rounding_type<0?backward:(rounding_type>0?forward:(2*delta<y?backward:forward))); |
4481 | + } |
4482 | + |
4483 | + inline double _pythagore(double a, double b) { |
4484 | + const double absa = cimg::abs(a), absb = cimg::abs(b); |
4485 | + if (absa>absb) { const double tmp = absb/absa; return absa*std::sqrt(1.0+tmp*tmp); } |
4486 | + else { const double tmp = absa/absb; return (absb==0?0:absb*std::sqrt(1.0+tmp*tmp)); } |
4487 | + } |
4488 | + |
4489 | + //! Remove the 'case' of an ASCII character. |
4490 | + inline char uncase(const char x) { |
4491 | + return (char)((x<'A'||x>'Z')?x:x-'A'+'a'); |
4492 | + } |
4493 | + |
4494 | + //! Remove the 'case' of a C string. |
4495 | + /** |
4496 | + Acts in-place. |
4497 | + **/ |
4498 | + inline void uncase(char *const string) { |
4499 | + if (string) for (char *ptr = string; *ptr; ++ptr) *ptr = uncase(*ptr); |
4500 | + } |
4501 | + |
4502 | + //! Read a double number from a C-string. |
4503 | + /** |
4504 | + \note This function is quite similar to <tt>std::atof()</tt>, |
4505 | + but that it allows the retrieval of fractions as in "1/2". |
4506 | + **/ |
4507 | + inline double atof(const char *const str) { |
4508 | + double x = 0, y = 1; |
4509 | + if (!str) return 0; else { std::sscanf(str,"%lf/%lf",&x,&y); return x/y; } |
4510 | + } |
4511 | + |
4512 | + //! Compare the first \p n characters of two C-strings, ignoring the case. |
4513 | + /** |
4514 | + \note This function is defined since it is not provided by all compilers |
4515 | + (not an ANSI function). |
4516 | + **/ |
4517 | + inline int strncasecmp(const char *const s1, const char *const s2, const int l) { |
4518 | + if (!l) return 0; |
4519 | + if (!s1) return s2?-1:0; |
4520 | + const char *ns1 = s1, *ns2 = s2; |
4521 | + int k, diff = 0; for (k = 0; k<l && !(diff = uncase(*ns1)-uncase(*ns2)); ++k) { ++ns1; ++ns2; } |
4522 | + return k!=l?diff:0; |
4523 | + } |
4524 | + |
4525 | + //! Compare two C-strings, ignoring the case. |
4526 | + /** |
4527 | + \note This function is defined since it is not provided by all compilers |
4528 | + (not an ANSI function). |
4529 | + **/ |
4530 | + inline int strcasecmp(const char *const s1, const char *const s2) { |
4531 | + if (!s1) return s2?-1:0; |
4532 | + const unsigned int l1 = std::strlen(s1), l2 = std::strlen(s2); |
4533 | + return cimg::strncasecmp(s1,s2,1+(l1<l2?l1:l2)); |
4534 | + } |
4535 | + |
4536 | + //! Remove useless delimiters on the borders of a C-string |
4537 | + inline bool strpare(char *const s, const char delimiter=' ', const bool symmetric=false, const bool is_iterative=false) { |
4538 | + if (!s) return false; |
4539 | + const int l = (int)std::strlen(s); |
4540 | + int p, q; |
4541 | + if (symmetric) for (p = 0, q = l-1; p<q && s[p]==delimiter && s[q]==delimiter; ) { --q; ++p; if (!is_iterative) break; } |
4542 | + else { |
4543 | + for (p = 0; p<l && s[p]==delimiter; ) { ++p; if (!is_iterative) break; } |
4544 | + for (q = l-1; q>p && s[q]==delimiter; ) { --q; if (!is_iterative) break; } |
4545 | + } |
4546 | + const int n = q - p + 1; |
4547 | + if (n!=l) { std::memmove(s,s+p,n); s[n] = 0; return true; } |
4548 | + return false; |
4549 | + } |
4550 | + |
4551 | + //! Replace explicit escape sequences '\x' in C-strings. |
4552 | + inline void strescape(char *const s) { |
4553 | +#define cimg_strescape(ci,co) case ci: *nd = co; ++ns; break; |
4554 | + static unsigned int val = 0; |
4555 | + for (char *ns = s, *nd = s; *ns || (bool)(*nd=0); ++nd) if (*ns=='\\') switch (*(++ns)) { |
4556 | + cimg_strescape('n','\n'); |
4557 | + cimg_strescape('t','\t'); |
4558 | + cimg_strescape('v','\v'); |
4559 | + cimg_strescape('b','\b'); |
4560 | + cimg_strescape('r','\r'); |
4561 | + cimg_strescape('f','\f'); |
4562 | + cimg_strescape('a','\a'); |
4563 | + cimg_strescape('\\','\\'); |
4564 | + cimg_strescape('\?','\?'); |
4565 | + cimg_strescape('\'','\''); |
4566 | + cimg_strescape('\"','\"'); |
4567 | + case 0 : *nd = 0; break; |
4568 | + case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' : |
4569 | + std::sscanf(ns,"%o",&val); while (*ns>='0' && *ns<='7') ++ns; |
4570 | + *nd = val; break; |
4571 | + case 'x': |
4572 | + std::sscanf(++ns,"%x",&val); while ((*ns>='0' && *ns<='7') || (*ns>='a' && *ns<='f') || (*ns>='A' && *ns<='F')) ++ns; |
4573 | + *nd = val; break; |
4574 | + default : *nd = *(ns++); |
4575 | + } else *nd = *(ns++); |
4576 | + } |
4577 | + |
4578 | + // Return a temporary string describing the size of a buffer. |
4579 | + inline const char *strbuffersize(const unsigned long size) { |
4580 | + static char res[256] = { 0 }; |
4581 | + if (size<1024LU) cimg_snprintf(res,sizeof(res),"%lu byte%s",size,size>1?"s":""); |
4582 | + else if (size<1024*1024LU) { const float nsize = size/1024.0f; cimg_snprintf(res,sizeof(res),"%.1f Kb",nsize); } |
4583 | + else if (size<1024*1024*1024LU) { const float nsize = size/(1024*1024.0f); cimg_snprintf(res,sizeof(res),"%.1f Mb",nsize); } |
4584 | + else { const float nsize = size/(1024*1024*1024.0f); cimg_snprintf(res,sizeof(res),"%.1f Gb",nsize); } |
4585 | + return res; |
4586 | + } |
4587 | + |
4588 | + //! Compute the basename of a filename. |
4589 | + inline const char* basename(const char *const s) { |
4590 | + const char *p = 0; |
4591 | + for (const char *np = s; np>=s && (p=np); np = std::strchr(np,cimg_file_separator)+1) {} |
4592 | + return p; |
4593 | + } |
4594 | + |
4595 | + // Generate a random filename. |
4596 | + inline const char* filenamerand() { |
4597 | + static char randomid[9] = { 0,0,0,0,0,0,0,0,0 }; |
4598 | + cimg::srand(); |
4599 | + for (unsigned int k = 0; k<8; ++k) { |
4600 | + const int v = (int)std::rand()%3; |
4601 | + randomid[k] = (char)(v==0?('0'+(std::rand()%10)):(v==1?('a'+(std::rand()%26)):('A'+(std::rand()%26)))); |
4602 | + } |
4603 | + return randomid; |
4604 | + } |
4605 | + |
4606 | + // Convert filename into a Windows-style filename. |
4607 | + inline void winformat_string(char *const s) { |
4608 | + if (s && *s) { |
4609 | +#if cimg_OS==2 |
4610 | + char *const ns = new char[MAX_PATH]; |
4611 | + if (GetShortPathNameA(s,ns,MAX_PATH)) std::strcpy(s,ns); |
4612 | +#endif |
4613 | + } |
4614 | + } |
4615 | + |
4616 | + //! Open a file, and check for possible errors. |
4617 | + inline std::FILE *fopen(const char *const path, const char *const mode) { |
4618 | + if (!path) |
4619 | + throw CImgArgumentException("cimg::fopen() : Specified file path is (null)."); |
4620 | + if (!mode) |
4621 | + throw CImgArgumentException("cimg::fopen() : File '%s', specified mode is (null).", |
4622 | + path); |
4623 | + std::FILE *res = 0; |
4624 | + if (*path=='-' && path[1]=='.') { |
4625 | + res = (*mode=='r')?stdin:stdout; |
4626 | +#if cimg_OS==2 |
4627 | + if (*mode && mode[1]=='b') { // Force stdin/stdout to be in binary mode. |
4628 | + //if (_setmode(_fileno(res),0x8000)==-1) res = 0; |
4629 | + } |
4630 | +#endif |
4631 | + } else res = std::fopen(path,mode); |
4632 | + if (!res) |
4633 | + throw CImgIOException("cimg::fopen() : Failed to open file '%s' with mode '%s'.", |
4634 | + path,mode); |
4635 | + return res; |
4636 | + } |
4637 | + |
4638 | + //! Close a file, and check for possible errors. |
4639 | + inline int fclose(std::FILE *file) { |
4640 | + if (!file) warn("cimg::fclose() : Specified file is (null)."); |
4641 | + if (!file || file==stdin || file==stdout) return 0; |
4642 | + const int errn = std::fclose(file); |
4643 | + if (errn!=0) warn("cimg::fclose() : Error code %d returned during file closing.", |
4644 | + errn); |
4645 | + return errn; |
4646 | + } |
4647 | + |
4648 | + //! Return or set path to store temporary files. |
4649 | + inline const char* temporary_path(const char *const user_path=0, const bool reinit_path=false) { |
4650 | +#define _cimg_test_temporary_path(p) \ |
4651 | + if (!path_found) { \ |
4652 | + cimg_snprintf(st_path,1024,"%s",p); \ |
4653 | + cimg_snprintf(tmp,sizeof(tmp),"%s%c%s",st_path,cimg_file_separator,filetmp); \ |
4654 | + if ((file=std::fopen(tmp,"wb"))!=0) { cimg::fclose(file); std::remove(tmp); path_found = true; } \ |
4655 | + } |
4656 | + static char *st_path = 0; |
4657 | + if (reinit_path) { delete[] st_path; st_path = 0; } |
4658 | + if (user_path) { |
4659 | + if (!st_path) st_path = new char[1024]; |
4660 | + std::memset(st_path,0,1024); |
4661 | + std::strncpy(st_path,user_path,1023); |
4662 | + } else if (!st_path) { |
4663 | + st_path = new char[1024]; |
4664 | + std::memset(st_path,0,1024); |
4665 | + bool path_found = false; |
4666 | + char tmp[1024] = { 0 }, filetmp[512] = { 0 }; |
4667 | + std::FILE *file = 0; |
4668 | + cimg_snprintf(filetmp,sizeof(filetmp),"%s.tmp",cimg::filenamerand()); |
4669 | + char *tmpPath = std::getenv("TMP"); |
4670 | + if (!tmpPath) { tmpPath = std::getenv("TEMP"); winformat_string(tmpPath); } |
4671 | + if (tmpPath) _cimg_test_temporary_path(tmpPath); |
4672 | +#if cimg_OS==2 |
4673 | + _cimg_test_temporary_path("C:\\WINNT\\Temp"); |
4674 | + _cimg_test_temporary_path("C:\\WINDOWS\\Temp"); |
4675 | + _cimg_test_temporary_path("C:\\Temp"); |
4676 | + _cimg_test_temporary_path("C:"); |
4677 | + _cimg_test_temporary_path("D:\\WINNT\\Temp"); |
4678 | + _cimg_test_temporary_path("D:\\WINDOWS\\Temp"); |
4679 | + _cimg_test_temporary_path("D:\\Temp"); |
4680 | + _cimg_test_temporary_path("D:"); |
4681 | +#else |
4682 | + _cimg_test_temporary_path("/tmp"); |
4683 | + _cimg_test_temporary_path("/var/tmp"); |
4684 | +#endif |
4685 | + if (!path_found) { |
4686 | + *st_path = 0; |
4687 | + std::strncpy(tmp,filetmp,sizeof(tmp)-1); |
4688 | + if ((file=std::fopen(tmp,"wb"))!=0) { cimg::fclose(file); std::remove(tmp); path_found = true; } |
4689 | + } |
4690 | + if (!path_found) |
4691 | + throw CImgIOException("cimg::temporary_path() : Failed to locate path for writing temporary files.\n"); |
4692 | + } |
4693 | + return st_path; |
4694 | + } |
4695 | + |
4696 | + // Return or set path to the "Program files/" directory (windows only). |
4697 | +#if cimg_OS==2 |
4698 | + inline const char* programfiles_path(const char *const user_path=0, const bool reinit_path=false) { |
4699 | + static char *st_path = 0; |
4700 | + if (reinit_path) { delete[] st_path; st_path = 0; } |
4701 | + if (user_path) { |
4702 | + if (!st_path) st_path = new char[1024]; |
4703 | + std::memset(st_path,0,1024); |
4704 | + std::strncpy(st_path,user_path,1023); |
4705 | + } else if (!st_path) { |
4706 | + st_path = new char[MAX_PATH]; |
4707 | + std::memset(st_path,0,MAX_PATH); |
4708 | + // Note : in the following line, 0x26 = CSIDL_PROGRAM_FILES (not defined on every compiler). |
4709 | +#if !defined(__INTEL_COMPILER) |
4710 | + if (!SHGetSpecialFolderPathA(0,st_path,0x0026,false)) { |
4711 | + const char *const pfPath = std::getenv("PROGRAMFILES"); |
4712 | + if (pfPath) std::strncpy(st_path,pfPath,MAX_PATH-1); |
4713 | + else std::strcpy(st_path,"C:\\PROGRA~1"); |
4714 | + } |
4715 | +#else |
4716 | + std::strcpy(st_path,"C:\\PROGRA~1"); |
4717 | +#endif |
4718 | + } |
4719 | + return st_path; |
4720 | + } |
4721 | +#endif |
4722 | + |
4723 | + //! Return or set path to the ImageMagick's \c convert tool. |
4724 | + inline const char* imagemagick_path(const char *const user_path=0, const bool reinit_path=false) { |
4725 | + static char *st_path = 0; |
4726 | + if (reinit_path) { delete[] st_path; st_path = 0; } |
4727 | + if (user_path) { |
4728 | + if (!st_path) st_path = new char[1024]; |
4729 | + std::memset(st_path,0,1024); |
4730 | + std::strncpy(st_path,user_path,1023); |
4731 | + } else if (!st_path) { |
4732 | + st_path = new char[1024]; |
4733 | + std::memset(st_path,0,1024); |
4734 | + bool path_found = false; |
4735 | + std::FILE *file = 0; |
4736 | +#if cimg_OS==2 |
4737 | + const char *const pf_path = programfiles_path(); |
4738 | + if (!path_found) { |
4739 | + std::strcpy(st_path,".\\convert.exe"); |
4740 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4741 | + } |
4742 | + for (int k = 32; k>=10 && !path_found; --k) { |
4743 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\IMAGEM~1.%.2d-\\convert.exe",pf_path,k); |
4744 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4745 | + } |
4746 | + for (int k = 9; k>=0 && !path_found; --k) { |
4747 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\IMAGEM~1.%d-Q\\convert.exe",pf_path,k); |
4748 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4749 | + } |
4750 | + for (int k = 32; k>=0 && !path_found; --k) { |
4751 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\IMAGEM~1.%d\\convert.exe",pf_path,k); |
4752 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4753 | + } |
4754 | + for (int k = 32; k>=10 && !path_found; --k) { |
4755 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\IMAGEM~1.%.2d-\\VISUA~1\\BIN\\convert.exe",pf_path,k); |
4756 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4757 | + } |
4758 | + for (int k = 9; k>=0 && !path_found; --k) { |
4759 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\IMAGEM~1.%d-Q\\VISUA~1\\BIN\\convert.exe",pf_path,k); |
4760 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4761 | + } |
4762 | + for (int k = 32; k>=0 && !path_found; --k) { |
4763 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\IMAGEM~1.%d\\VISUA~1\\BIN\\convert.exe",pf_path,k); |
4764 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4765 | + } |
4766 | + for (int k = 32; k>=10 && !path_found; --k) { |
4767 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\IMAGEM~1.%.2d-\\convert.exe",k); |
4768 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4769 | + } |
4770 | + for (int k = 9; k>=0 && !path_found; --k) { |
4771 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\IMAGEM~1.%d-Q\\convert.exe",k); |
4772 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4773 | + } |
4774 | + for (int k = 32; k>=0 && !path_found; --k) { |
4775 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\IMAGEM~1.%d\\convert.exe",k); |
4776 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4777 | + } |
4778 | + for (int k = 32; k>=10 && !path_found; --k) { |
4779 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\IMAGEM~1.%.2d-\\VISUA~1\\BIN\\convert.exe",k); |
4780 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4781 | + } |
4782 | + for (int k = 9; k>=0 && !path_found; --k) { |
4783 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\IMAGEM~1.%d-Q\\VISUA~1\\BIN\\convert.exe",k); |
4784 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4785 | + } |
4786 | + for (int k = 32; k>=0 && !path_found; --k) { |
4787 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\IMAGEM~1.%d\\VISUA~1\\BIN\\convert.exe",k); |
4788 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4789 | + } |
4790 | + for (int k = 32; k>=10 && !path_found; --k) { |
4791 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\IMAGEM~1.%.2d-\\convert.exe",k); |
4792 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4793 | + } |
4794 | + for (int k = 9; k>=0 && !path_found; --k) { |
4795 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\IMAGEM~1.%d-Q\\convert.exe",k); |
4796 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4797 | + } |
4798 | + for (int k = 32; k>=0 && !path_found; --k) { |
4799 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\IMAGEM~1.%d\\convert.exe",k); |
4800 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4801 | + } |
4802 | + for (int k = 32; k>=10 && !path_found; --k) { |
4803 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\IMAGEM~1.%.2d-\\VISUA~1\\BIN\\convert.exe",k); |
4804 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4805 | + } |
4806 | + for (int k = 9; k>=0 && !path_found; --k) { |
4807 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\IMAGEM~1.%d-Q\\VISUA~1\\BIN\\convert.exe",k); |
4808 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4809 | + } |
4810 | + for (int k = 32; k>=0 && !path_found; --k) { |
4811 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\IMAGEM~1.%d\\VISUA~1\\BIN\\convert.exe",k); |
4812 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4813 | + } |
4814 | + if (!path_found) std::strcpy(st_path,"convert.exe"); |
4815 | +#else |
4816 | + if (!path_found) { |
4817 | + std::strcpy(st_path,"./convert"); |
4818 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4819 | + } |
4820 | + if (!path_found) std::strcpy(st_path,"convert"); |
4821 | +#endif |
4822 | + winformat_string(st_path); |
4823 | + } |
4824 | + return st_path; |
4825 | + } |
4826 | + |
4827 | + //! Return path of the GraphicsMagick's \c gm tool. |
4828 | + inline const char* graphicsmagick_path(const char *const user_path=0, const bool reinit_path=false) { |
4829 | + static char *st_path = 0; |
4830 | + if (reinit_path) { delete[] st_path; st_path = 0; } |
4831 | + if (user_path) { |
4832 | + if (!st_path) st_path = new char[1024]; |
4833 | + std::memset(st_path,0,1024); |
4834 | + std::strncpy(st_path,user_path,1023); |
4835 | + } else if (!st_path) { |
4836 | + st_path = new char[1024]; |
4837 | + std::memset(st_path,0,1024); |
4838 | + bool path_found = false; |
4839 | + std::FILE *file = 0; |
4840 | +#if cimg_OS==2 |
4841 | + const char *const pf_path = programfiles_path(); |
4842 | + if (!path_found) { |
4843 | + std::strcpy(st_path,".\\gm.exe"); |
4844 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4845 | + } |
4846 | + for (int k = 32; k>=10 && !path_found; --k) { |
4847 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\GRAPHI~1.%.2d-\\gm.exe",pf_path,k); |
4848 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4849 | + } |
4850 | + for (int k = 9; k>=0 && !path_found; --k) { |
4851 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\GRAPHI~1.%d-Q\\gm.exe",pf_path,k); |
4852 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4853 | + } |
4854 | + for (int k = 32; k>=0 && !path_found; --k) { |
4855 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\GRAPHI~1.%d\\gm.exe",pf_path,k); |
4856 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4857 | + } |
4858 | + for (int k = 32; k>=10 && !path_found; --k) { |
4859 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\GRAPHI~1.%.2d-\\VISUA~1\\BIN\\gm.exe",pf_path,k); |
4860 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4861 | + } |
4862 | + for (int k = 9; k>=0 && !path_found; --k) { |
4863 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\GRAPHI~1.%d-Q\\VISUA~1\\BIN\\gm.exe",pf_path,k); |
4864 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4865 | + } |
4866 | + for (int k = 32; k>=0 && !path_found; --k) { |
4867 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\GRAPHI~1.%d\\VISUA~1\\BIN\\gm.exe",pf_path,k); |
4868 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4869 | + } |
4870 | + for (int k = 32; k>=10 && !path_found; --k) { |
4871 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\GRAPHI~1.%.2d-\\gm.exe",k); |
4872 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4873 | + } |
4874 | + for (int k = 9; k>=0 && !path_found; --k) { |
4875 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\GRAPHI~1.%d-Q\\gm.exe",k); |
4876 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4877 | + } |
4878 | + for (int k = 32; k>=0 && !path_found; --k) { |
4879 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\GRAPHI~1.%d\\gm.exe",k); |
4880 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4881 | + } |
4882 | + for (int k = 32; k>=10 && !path_found; --k) { |
4883 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\GRAPHI~1.%.2d-\\VISUA~1\\BIN\\gm.exe",k); |
4884 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4885 | + } |
4886 | + for (int k = 9; k>=0 && !path_found; --k) { |
4887 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\GRAPHI~1.%d-Q\\VISUA~1\\BIN\\gm.exe",k); |
4888 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4889 | + } |
4890 | + for (int k = 32; k>=0 && !path_found; --k) { |
4891 | + cimg_snprintf(st_path,sizeof(st_path),"C:\\GRAPHI~1.%d\\VISUA~1\\BIN\\gm.exe",k); |
4892 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4893 | + } |
4894 | + for (int k = 32; k>=10 && !path_found; --k) { |
4895 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\GRAPHI~1.%.2d-\\gm.exe",k); |
4896 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4897 | + } |
4898 | + for (int k = 9; k>=0 && !path_found; --k) { |
4899 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\GRAPHI~1.%d-Q\\gm.exe",k); |
4900 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4901 | + } |
4902 | + for (int k = 32; k>=0 && !path_found; --k) { |
4903 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\GRAPHI~1.%d\\gm.exe",k); |
4904 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4905 | + } |
4906 | + for (int k = 32; k>=10 && !path_found; --k) { |
4907 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\GRAPHI~1.%.2d-\\VISUA~1\\BIN\\gm.exe",k); |
4908 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4909 | + } |
4910 | + for (int k = 9; k>=0 && !path_found; --k) { |
4911 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\GRAPHI~1.%d-Q\\VISUA~1\\BIN\\gm.exe",k); |
4912 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4913 | + } |
4914 | + for (int k = 32; k>=0 && !path_found; --k) { |
4915 | + cimg_snprintf(st_path,sizeof(st_path),"D:\\GRAPHI~1.%d\\VISUA~1\\BIN\\gm.exe",k); |
4916 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4917 | + } |
4918 | + if (!path_found) std::strcpy(st_path,"gm.exe"); |
4919 | +#else |
4920 | + if (!path_found) { |
4921 | + std::strcpy(st_path,"./gm"); |
4922 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4923 | + } |
4924 | + if (!path_found) std::strcpy(st_path,"gm"); |
4925 | +#endif |
4926 | + winformat_string(st_path); |
4927 | + } |
4928 | + return st_path; |
4929 | + } |
4930 | + |
4931 | + //! Return or set path of the \c XMedcon tool. |
4932 | + inline const char* medcon_path(const char *const user_path=0, const bool reinit_path=false) { |
4933 | + static char *st_path = 0; |
4934 | + if (reinit_path) { delete[] st_path; st_path = 0; } |
4935 | + if (user_path) { |
4936 | + if (!st_path) st_path = new char[1024]; |
4937 | + std::memset(st_path,0,1024); |
4938 | + std::strncpy(st_path,user_path,1023); |
4939 | + } else if (!st_path) { |
4940 | + st_path = new char[1024]; |
4941 | + std::memset(st_path,0,1024); |
4942 | + bool path_found = false; |
4943 | + std::FILE *file = 0; |
4944 | +#if cimg_OS==2 |
4945 | + const char *const pf_path = programfiles_path(); |
4946 | + if (!path_found) { |
4947 | + std::strcpy(st_path,".\\medcon.exe"); |
4948 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4949 | + } |
4950 | + if (!path_found) { |
4951 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\XMedCon\\bin\\medcon.bat",pf_path); |
4952 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4953 | + } |
4954 | + if (!path_found) { |
4955 | + cimg_snprintf(st_path,sizeof(st_path),"%s\\XMedCon\\bin\\medcon.exe",pf_path); |
4956 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4957 | + } |
4958 | + if (!path_found) std::strcpy(st_path,"medcon.exe"); |
4959 | +#else |
4960 | + if (!path_found) { |
4961 | + std::strcpy(st_path,"./medcon"); |
4962 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4963 | + } |
4964 | + if (!path_found) std::strcpy(st_path,"medcon"); |
4965 | +#endif |
4966 | + winformat_string(st_path); |
4967 | + } |
4968 | + return st_path; |
4969 | + } |
4970 | + |
4971 | + //! Return or set path to the 'ffmpeg' command. |
4972 | + inline const char *ffmpeg_path(const char *const user_path=0, const bool reinit_path=false) { |
4973 | + static char *st_path = 0; |
4974 | + if (reinit_path) { delete[] st_path; st_path = 0; } |
4975 | + if (user_path) { |
4976 | + if (!st_path) st_path = new char[1024]; |
4977 | + std::memset(st_path,0,1024); |
4978 | + std::strncpy(st_path,user_path,1023); |
4979 | + } else if (!st_path) { |
4980 | + st_path = new char[1024]; |
4981 | + std::memset(st_path,0,1024); |
4982 | + bool path_found = false; |
4983 | + std::FILE *file = 0; |
4984 | +#if cimg_OS==2 |
4985 | + if (!path_found) { |
4986 | + std::strcpy(st_path,".\\ffmpeg.exe"); |
4987 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4988 | + } |
4989 | + if (!path_found) std::strcpy(st_path,"ffmpeg.exe"); |
4990 | +#else |
4991 | + if (!path_found) { |
4992 | + std::strcpy(st_path,"./ffmpeg"); |
4993 | + if ((file=std::fopen(st_path,"r"))!=0) { cimg::fclose(file); path_found = true; } |
4994 | + } |
4995 | + if (!path_found) std::strcpy(st_path,"ffmpeg"); |
4996 | +#endif |
4997 | + winformat_string(st_path); |
4998 | + } |
4999 | + return st_path; |
5000 | + } |
The diff has been truncated for viewing.